  Cryptocurrencies have received a lot of research attention in recent years
following the release of the first cryptocurrency Bitcoin. With the rise in
cryptocurrency transactions, the need for smart contracts has also increased.
Smart contracts, in a nutshell, are digitally executed contracts wherein some
parties execute a common goal. The main problem with most of the current smart
contracts is that there is no privacy for a party's input to the contract from
either the blockchain or the other parties. Our research builds on the Hawk
project that provides transaction privacy along with support for smart
contracts. However, Hawk relies on a special trusted party known as a manager,
which must be trusted not to leak each party's input to the smart contract. In
this paper, we present a practical private smart contract protocol that
replaces the manager with an MPC protocol such that the function to be executed
by the MPC protocol is relatively lightweight, involving little overhead added
to the smart contract function, and uses practical sigma protocols and
homomorphic commitments to prove to the blockchain that the sum of the incoming
balances to the smart contract matches the sum of the outgoing balances.
