Bitcoin has graduated from being a cryptocurrency to an applications platform that can be used in a range of industries to augment their operations. The use of Bitcoin’s underlying blockchain technology for purposes other than recording and confirming transactions is labeled under an umbrella term Blockchain 2.0. Smart Contracts is one of the applications of Blockchain 2.0
Currently, there are two platforms that are leading the Smart Contracts race – Ethereum and RootStock. While Ethereum is a standalone protocol developed by Vitalik Buterin and his team that uses a separate blockchain and crypto token, RootStock is built on Bitcoin Blockchain.
Sergio Lerner, one of the creators of RootStock along with 5 others recently spoke about the platform at MIT Bitcoin Expo 2016. In his speech, he spoke in detail about Smart Contracts, its brief history and the future plans for RootStock. Here we touch upon some of those topics about RootStock discussed at MIT Bitcoin Expo 2016
RootStock, the Smart Contract platform is a product of years of hard work put in by Sergio Lerner and his associates. Even before starting RootStock, Sergio had worked upon another Smart Contracts platform that was specifically designed for online gambling and gaming platforms.
He explains Smart Contracts as a way to attach rules to money in a payment network. In other words, they are programs with the capability to control the money. These programs can impose certain restrictions or conditions to the money, in such a way that the transactions happen only when these predefined conditions are met.
History of Smart Contracts
Even though the term Smart Contract has become public only recently, the concept has been around since 2013. The first implementation of Smart Contract using Deterministic Replicated Execution (DRE) was QixCoin, which was created by none other than Sergio Lerner of RootStock back in the day. It was initially made for online gambling and gaming applications.
The following year, development of Ethereum and Codus started. Codus was an Oracle based Smart Contract application developed by Ripple, only to shut it down later.
In 2015, Ethereum Virtual Machine compatible Counterparty and RootStock came into existence.
Bitcoin and Smart Contracts
Bitcoin is the Adam of the cryptocurrency world, it is the first born. All those that followed bitcoin are known as altcoins. Even though bitcoin defined blockchain technology and others followed it, it is not the best platform to run Smart Contracts. Bitcoin blockchain falls short because of these factors
- On Bitcoin, there is not enough flexibility for scripting system opcodes.
- Bitcoin network lacks persistent memory
- The absence of reflection – inability to inspect block timestamp and transaction amounts on the blockchain
These issues are mainly caused by the way Bitcoin code is structured. The credit for this goes to Satoshi Nakamoto. According to Sergio Lerner, these shortcomings are deliberate and part of far-sighted planning by Satoshi Nakamoto. The incomplete language and restrictions come into play when the Bitcoin network has grown huge with lots of branches. In its current structure, it allows transaction replay. One can move the transactions from one branch of the blockchain to another and still make it work. However, the Blockchain has not grown that big yet.
Shortcomings of Bitcoin as a Smart Contracts Platform
While Bitcoin blockchain is a good platform for executing digital currency transactions, it has its own shortcomings which make it just the opposite for Smart Contracts implementation. Some the shortcomings of Bitcoin are as follows –
- Bitcoin is non-Turing complete with no go or recursion
- It offers limited resources for development in terms of the number of steps and stack size.
- The absence of persistent memory which is essential to store Smart Contract instructions
- Limited content inspection and limited opcodes
RootStock and Bitcoin
While Bitcoin platform by itself is a bad candidate for the implementation of Smart Contracts, it can be made compatible by the inclusion of certain steps. RootStock does exactly that to run Smart Contracts on the Bitcoin blockchain.
Sergio Lerner lists three ways to do this,
- By creating an off-chain system with a set of privilege notes that executes as contracts. It is already being tried by Ripple in Codus. It is an Oracle based Smart Contracts. It was also proposed by Nick Szabo for tamper proof auditable records.
- Hybrid On-chain verification, off-chain execution. done using cryptographic construction called SNARK. It is a promising development with its own drawbacks. SNARK requires trusted setup which is currently untested now.
- Another possible way to run Smart Contracts on Bitcoin blockchain involves On-chain Deterministic Replicated Execution where every node executes every node executes every instruction of every Smart Contract. It can emulate both SNARK based and Oracle Smart Contract based executions at the least possible cost. It can be used along with any other Smart Contract solutions
Smart Contract on RootStock
On RootStock, Smart Contract is a program with secure persistent memory with a digital safe deposit box. The digital safe deposit box is nothing but a highly secure cryptographic file where digital assets can be stored. These boxes can receive and send messages and cryptocurrency to other applications on the blockchain. A collection of Smart Contracts, combined with outer world applications it interacts with are called Distributed Applications (Dapp).
Bitcoin is most secure and the advent of the 2-way peg, Bitcoin can be used to do almost anything that other blockchains are capable of. Also, Bitcoin has the largest network at this moment.
- Smart Contract layer for Bitcoin,
- Democratic Smart Contracts solution
- Increased use case for bitcoin
- Ensure the platform is regulatory compliant and could be readily used by anyone
- Incentivize Bitcoin and Ethereum community to test it, and get more bitcoin miners to support rootstock,
- Solution of Bitcoin Governance program, low transaction fee, high transaction volume
- Scaling up to 500 transactions /sec
Sergio Lerner stated that the RootStock platform is being improved. These improvements intend to optimize the blockchain sharding by including probabilistic verification and fraud proofs. It will also include user programmable signature scheme where people can use any signature algorithm of their choice to secure their account.
Applications of RootStock
During the end of his presentation, Sergio Lerner presented a list of possible applications of RootStock Distributed Applications. The list below is reproduced in the same order of presentation
- Micropayments channels and Hub and spoke networks
- Peer to Peer distributed exchange
- Decentralized escrow services for P2P markets involving real goods
- Crypto-assets creation
- Fiat pegged assets with bitcoin collateral
- Asset securitization
- IP protection and registry
- Supply chain traceability
- Fair internet for gambling and gaming
- Prediction markets
In his presentation, that went on for over half an hour, Sergio Lerner gave a complete overview of RootStock Smart Contracts platform along with his team’s future plans for the platform. His explanation now gives a clarity about what to expect from the platform in the coming months. Whether RootStock will give Ethereum a run for its money, or will it be the other way round, is something only time will tell.