The recent DAO debacle has put an interesting spotlight on the validity of smart contract technology. Peter Todd, one of the Bitcoin developers, took the time to outline how smart contracts come to life. As it turns out, there are many building blocks to take into account.
Brief Technical Stuff
Creating a smart contract means the code used has to run on different machines will providing identical results. Bitcoin’s scripting system, as well as the Dex project, allow expressions to be precisely specified by hash digest. Moreover, the code can be executed against an environment with deterministic results.
Transactions executed by using smart contracts are one of the primary use cases for this technology right now. Every transaction output has a condition attached to it, and can be associated with values such as a number of coins. Once a set of proofs has been acquired, these transactions are deemed valid. One thing to keep in mind is how genesis transactions have to be unique , and contains secure hash functions. Bitcoin used to fail at this step as a protocol, up until BIP 34 was introduced.
Using Smart Contracts In Real Life
The bigger question regarding smart contracts is how they should be implemented. Transaction blockchains present a good use case, as it would make contracts resistant to miner censorship as long as the seal’s identifier is not public. Additionally, the protocol – Bitcoin or Ethereum – needs to allow for proof transaction committing to the sealed contents with unspendable outputs.
Very few people are aware of how smart contracts can play a major role in decentralized and centralized distributed ledgers. Ethereum and Bitcoin have been exploring options in the decentralized blockchain world so far. Unfortunately, what happened to The DAO goes to show there is still a lot of work to be done before we can understand this technology and its implications.
Consensus remains critical for smart contracts, and achieving decentralized consensus can be very tricky. Proof-of-work, such as utilized by Bitcoin and Ethereum [in this current stage [ speaks volumes. But trusted oracles could be used a swell, and it is something Ethereum developers will be exploring further. Creating a trustless environment with smart contracts sounds great on paper, but we are far from realizing the true potential of this technology.
Source: Peter Todd
Header image courtesy of Shutterstock