The Massachusetts Institute of Technology (MIT) has revealed the results of their tests running smart contracts on the Bitcoin Lightning Network. Running smart contracts on the Bitcoin network isn’t necessarily new; the approach of using trusted entities called oracles with smart contracts is what makes their tests unique on the Bitcoin blockchain.
Blockchain oracles typically supplement blockchain implementations by providing a trusted external source of data. These data sources do not participate in blockchain consensus mechanisms and as a result need to be trusted as they can influence the execution of a smart contract. For example, if a smart contract was set up to pay for a commodity at a specific date/time, the smart contract would need to receive the latest price for the commodity at the time the smart contract is executed.
Using oracles in this manner was first conceived by the MIT research team last summer as part of his Discreet Log Contracts (DLC) work, but this is the first time it has been implemented with working code. The oracle runs on top of the lightning network MIT researchers have created called lit and provides the ability to broadcast the price of US dollars in satoshis, a unit of measurement within the bitcoin currency.
Smart contracts are more prevalent in blockchain protocols like Ethereum, but the researchers say:
When folks think smart contracts, they think Ethereum. Their scripting language is much richer. [As for Bitcoin], it’s not as developer friendly because bitcoin didn’t go in that direction, but you can use it. You have to be a little creative.
To accomplish anonymity, data submitted by the oracle gets mixed in with other data that the oracle does not know about before it is placed on the blockchain. Dryja explains:
We’re going to combine the oracle’s data with our own secret data, so we can recognize it, but the oracle won’t recognize it.
A driver for using this approach is for organizations to protect their financial records from the rest of the blockchain.
While the experiment was a success, there are still some outstanding questions. For example, how can organizations monetize their implementation of an oracle? Another area of uncertainty is while a single instance of an oracle can be trusted in this model, what happens when multiple oracles are used simultaneously? Could this minimize trust?
User experience is another area that requires additional investment. The researchers stated: “UX is not our core expertise”. Therefore, other organizations will need to package up this technology and make it easy to adopt within their distributed applications.