The Limits of Ethereum Smart Contracts
Smart contracts, introduced to the world by Ethereum, allow for decentralized applications (dApps) that work on a blockchain. What that means is that everyone can read the code, know when it is being executed, and to inspect the results. You don’t have to trust the entity running the code because, in essence, the code is run everywhere, on every node in the blockchain, at the same time. An invalid result will be noticed and invalidated by the network itself.
But Ethereum Smart Contracts are severly limited, compared to traditional programs. Every Smart Contract has to be stored on the blockchain, which Vitalik Buterin, the co-creator of Ethereum, knew could quickly take up a lot of space. In addition, since executing a function of a Smart Contract takes up CPU time, and the total amount of CPU on any given node is limited, you have to pay ether (called “gas”) to both store and use a Smart Contract.
And there are limits to the size of a Smart Contract itself. You’ve got about 1,000 lines of code to work with, though that can vary depending on how complex the contract is. With the price of ether rising dramatically over the last year, you can expect to spend around $40 to deploy a Smart Contract, and anywhere from $0.30 to $1.00 to execute a function. Those are just ballpark estimates, but you see how those costs can add up quickly.
The final aspect that’s limiting the adoption of Smart Contracts is that they are, by design, completely public. Every function called, along with its input and output, can be seen by any Ethereum node. Many companies want to keep both their data and their alogrithms private and secure.
The Enigma Protocol
Enigma wants to extend Ethereum Smart Contracts by introducing private and powerful Smart Contracts that operate off-chain, meaning the execution of the Smart Contract doesn’t occur on the Ethereum blockchain itself. The protocol achieves this by breaking up the Smart Contract and any related data into pieces, encrypting those pieces, and distributing them redundantly among Enigma nodes.
Using advanced cryptography techniques, those nodes are able to perform calculations described by their piece of the Smart Contract on the encrypted data and return valid results - all without being able to see the data or know exactly what’s being calculated. As smaller parts are executed the results are combined and fed onto the next part of the Smart Contract on other nodes, until the final result is available. The results from each node can be checked along the way to ensure correctness, without ever revealing the details.
Because the computations happen off chain, Enigma Smart Contracts can be vastly more complex than standard Ethereum Smart Contracts. And because they only execute on a subset of Engima nodes, it will be far easier to scale the network.
Instead of standing up its own blockchain, Enigma will partially run off the Ethereum blockchain and allow for mixed-use contracts. Public portions of contracts can be run on Ethereum, while more senstitive or complex aspects can be run on the Enigma network.
Enigma nodes will be paid using Enigma tokens, with a value based on the complexity of the Smart Contract executed and the amount of data stored. Enigma will also make use of the Ethereum blockchain for access control so a user can determine who can call their Smart Contract and what functions they can execute.
Unlike Ethereum, not every Enigma node will run every Smart Contract. The Engima Protocol will select which Enigma nodes will run the private contracts based on reputation gained over time and based on availability. The more reliable an Engima node, the more it will be called on, and the more its owner will earn.
Enigma nodes will be required to place a security deposit before they can operate, and will be penalized for bad actions as determined by the Enigma network.
The first application to run on top of Enigma is a cryptocurrency analysis and trading platform called Catalyst. With it, developers can design trading algorithms, back-test them on real exchange data, and then let them lose on live markets.
Eventually Catalyst will become a market itself, where users can subscribe to the best trading algorithms and developers can make money off of their algorithms without having to stake their own cash. Since the algorithms run on top of Enigma, the developers won’t have to reveal their algorithms and run the risk of copy-cats.
Catalyst will eventually also support a data market, where sellers can offer niche data that can be incorporated into the trading algorithms. Again, since the data will be hosted in Enigma, trading algorithms will be able to make use of it without actually seeing the data, so the data brokers won’t have to worry about it becoming publicly available.
Enigma solves major problems that exist with Ethereum Smart Contracts, and will make them far more attractive to large businesses. But the protocol isn’t implemented yet and the project is incredibly ambitions. The team, mostly from MIT, look to be a bright bunch, but they have a long way to go before they’ll be able to fully realize their vision.
How to Buy Enigma
Unfortunately, Enigma as easy to purchase as Bitcoin. You can’t buy Enigma with a credit card, so you’ll have to use one of the cryptocurrency exchanges.