At the Scaling Bitcoin conference at Stanford university last week, one of the most interesting talks was by Tadge Dryja from the MIT Digital Currency Initiative. His talk was on a concept called discreet log contracts which is a kind of smart contract system.
The central point of the speech was on how bitcoin oracles can be made more secure than those that are currently being used off chain on the lightning network.
We have previously covered what blockchain oracles are but they are particularly useful when it comes to smart contract bets. This is when bets are placed on a certain event on the blockchain, there has to be some entity off of the blockchain that can confirm this.
Currently, the verification is being done through the use of a multisig address where the the external oracle will sign the multisig address in favour of the party that had the correct bet.
However, this approach does have some issues.
Multisig Wallet Problems
There are a few noted problems that one can face with multisig wallets and oracles. For one, the oracle could actually go AWOL and become unresponsive to the participants to the contract. This could mean that there would be no overseeing authority that could verify the outcome of the bet.
If this were the case then the money would be tied up in the smart contract if the two parties could not agree on the outcome of the bet. Oracles could also provide different outcomes for bets that were unrelated to the actual smart contract. Therefore, it would be much better if there was some sort of an oracle system where they were unaware of the contracts that were being created on their data.
Enter Discreet Log Contracts
Discreet Log Contracts were introduced by Dryja as a way to overcome these shortfalls. Discreet time logs would allow for the two parties to the smart contract to send funds to 2 multisig addresses with 2 signers.
Once the bet has been determined and the outcome is clear, the oracle will sign the message with the particular result. Once this has been done, the winner can then broadcast to the network the transaction that will provide them with their winnings.
In order to prevent the oracle from knowing when their outcome data is used, its message is mixed with the data of the winner before it is added to the blockchain. Hence, it would be difficult for the oracle to properly know what their data was used for.
This data is provided in an off chain manner which means that the oracle is unable to determine which contract on the Bitcoin network this is related to. Moreover, all contracts that make use of these oracles will execute in the same way. This means that the oracle cannot send information of results which are irrelevant to the contract. Dryja stated that
You are trusting this oracle, but it’s somewhat limited by the fact they can’t equivocate and they don’t have visibility,” explained Dryja. “[The oracle] doesn’t necessarily know Alice and Bob are entering this contract.
Benefits of the Lightning Network
Dryja explained that when these bets were placed on the lightning network, as long as both parties operated in their own self-interest then no information about the bet would hit the blockchain. Moreover, using the Lightning network would mean that they could easily scale while retaining this privacy.
The only people who would be able to see the smart contracts would be the two counterparts to the bet. Moreover, if the situation arose that the oracle somehow became unresponsive then the parties would get their money back.
The lightning network is proving to be one of the most important pieces of technology that is being built on in order scale the network. Most recently they have been used to facilitate cross cross chain atomic swaps. These allow people who hold different crypto coins to swap them with off chain solutions.
As the Bitcoin scaling debate will rage on, the lightning network will increasingly be called upon as a reasonable solution.
Featured Image via Fotolia