Smart contracts, created by Ethereum, enable applications to be built in a decentralized manner (dApps) on the blockchain. All information, however, is public on the main blockchain networks. This means everyone can read your code and the results of the transactions/computations. The beauty of a public chain is that you don’t have to trust any one entity. The code is used by everyone and any discretions are immediately addressed.
Enigma introduces a way to extend the current abilities of public smart contracts with their off-chain private contracts. The Enigma protocol is blockchain agnostic, which is important. These off-chain computations are taken from the main public blockchain and encrypted into pieces which are then distributed among all of the nodes on the Enigma network.
Enigma ensures this privacy with multi-party computation (MPC), meaning data is computed in a distributed way. Although data is split between nodes, the computations are performed together without leaking information between nodes. No single node has access to data in its entirety. Instead, each node only has access to seemingly random pieces of data at any point in time. The parts then come together for an output to the receiver.
Completely public data doesn’t mesh well with larger institutions and companies. The ability to do computations on the Ethereum network, for instance, without divulging clients personal information is what Enigma aims to achieve. A company could plug personal information, such as Social Security numbers, into a smart contract and no one would see that data.