We approached Guy Zyskind, CEO and co-founder of Enigma, and asked him to give clarification on his company's latest project, which revolves around secret smart contracts. To understand the concept of secret smart contracts, one has to know the reasons why we need such a technology. The blockchain technology has the power to disrupt the future of technology, but not at its current state. A blockchain is slow, expensive, and the data is able to be viewed by for everyone. As a result, most data is still stored off-chain in centralized databases, thereby defeating the purpose of decentralization. Guy Zyskind saw this problem and saw it as an opportunity. He wrote a groundbreaking MIT thesis titled 'Efficient secure computation enabled by blockchain technology'. Based on his paper, he created the Enigma project. The Enigma project solves blockchain’s scalability and privacy issues from the protocol level by creating a second-layer, off-chain network using “secret contracts,” allowing data to be processed by nodes while being kept private.
What kind of use cases exist for smart contracts that are not private?
Guy Zyskind asked me this question, and in fact, got me on this one. Inherently, nodes on a public blockchain are pseudonymous and completely untrusted. What kind of realistic business applications could operate in a setting where data is publicly visible to anyone? If we use an analogy to centralized applications, would Facebook, Google, Uber, banks, or any startup company make their databases publicly accessible? This lack of privacy is a substantial barrier to widespread adoption of the blockchain technology.
This is why we need secret contracts, and how they differ from conventional smart contracts. Secret contracts ensure that the nodes themselves cannot see any of the data they are operating on. Yet, the nodes can still do the work necessary and run the code that processes the data. This seems very contradictory, but it's possible to implement. In other words, there's no functional difference between Ethereum's, or any other platform's, smart contracts and secret contracts, except for the fact that the data itself remains confidential.
Use cases for secret contracts:
- Decentralized data marketplaces which run on the Enigma protocol: Many attempts have failed to create data marketplaces, simply because after the data had been sold once, the seller can resell it to another buyer. Enigma proposes the idea of performing computations on the data without actually exposing it, therefore guaranteeing data privacy. Enigma claims that this kind of privacy-preserving computations help data providers in retaining ownership over their data, even in a global data marketplace setting. Simply said, you can run your custom computations inside the data box offered by the Enigma protocol without actually seeing the private data that is being processed. The Enigma protocol is much needed due to recent global developments regarding personal data, such as the General Data Privacy Regulation (GDPR) issued by the European Union. The first application for the Enigma protocol is Catalyst, a crypto-financial decentralized data marketplace which is ready to be used.
- Know Your Transaction (KYT) is becoming increasingly important, as decentralized transactions are pseudonymous. Think about the number of people who have crypto profits but can’t cash them out, as their local banks cannot accept transactions unless they are associated with proper legal paperwork. This is due to the fact that the money can be obtained from illegal activities, for example, and banks have to comply with AML and KYC laws. Enigma can help to create a data box where banks can run their computations to decide whether the transaction is legitimate or not, and open the door to the greater acceptance of crypto customers.
- Decentralized identity is currently popular, as many ICO projects are trying to become the market leader on this matter. However, current decentralized identity applications focus primarily on storing validated identities on blockchains. The impact of this is minimal, as verification is possible but no computations can be performed on the identity's data itself. What the industry needs is identity verification that completely hides any sensitive information about individuals while proving their identities. Examples include biometric identification with the actual biometric data being encrypted.
Access control structures:
Enigma is capable of defining complex access control structures by using shared identities. Let’s illustrate this with an example. Gina wants to prove to the local tax authorities that she has paid all of her taxes, but she doesn't want to share her personal data directly with them. In this case, Gina can create a shared identity between herself and the tax authorities. By doing this, Gina can choose to only give them permission to access her financial data and run specific computation processes for checking whether or not her taxes have been paid. As you can see, the use of Enigma allows someone to give only the needed permissions for specific data to a specific person or persons, while still protecting one's privacy.
Trustworthiness of nodes:
Nodes have to store a one-time deposit in a single smart contract, deployed by Enigma, that manages the secret contract. For the sake of this article we can call this single smart contract 'SecurityDepositContract'. If a node, for example, cheats while computing an arbitrary secret contract, then other nodes in the network can dispute it to the SecurityDepositContract. This will execute the arbitration process to decide whether a node was honest or not. If it is concluded that a node was not honest, that node is then penalized.
We asked Guy Zyskind if he sees any competitors. He answered, “The closest competitors are probably projects working on zkSNARKs - but I don't really see them as competing since the two technologies are very complementary. I believe there's not enough attention to privacy protocols right now because it's a hard problem to take on.”
Status of Enigma:
Enigma has recently launched its Catalyst project, which is a marketplace for crypto-financial data. Catalyst is just one potential application of the Enigma protocol. In addition, it is possible now to use the Enigma protocol on top of Ethereum's smart contracts. To do so, users will need to supply some additional contextual information, such as which functions should maintain the private data by adding the 'private' keyword. In this way, the process is kept simple for a developer. Then, Enigma will run the private parts off-chain, while executing public parts on the blockchain. The chunks of data themselves are not locally available, but rather a reference is made to them.
Get the latest market information for all tokens and coins with Cointelligence's cryptocurrency list.