Despite the fact that the most important purpose of bitcoin’s blockchain is to keep track of cryptocurrency transfers, bitcoin transactions can bear a few bytes of data. Smart contracts, which are built on top of bitcoin’s blockchain, make use of this feature to store a historical record of transactions in a way that cannot be tampered with. The sequence of transactions, related to smart contracts, leads to the formation of a sort of subchain of bitcoin’s blockchain, which in most cases, won’t interfere with the recorded transactions recorded therein. A subchain is said to be consistent, when it reflects a legit process for smart contract execution. A pivotal issue is how to render it hard for an adversary to subvert the process of smart contract execution via rendering its subchain inconsistent. The presently available approaches either assume that subchains are almost always consistent, or present rather weak guarantees regarding their security ( for example, they are vulnerable to Sybil attacks).
A group of developers from the University of Cagliari, Italy, have recently published a paper that presented a consensus protocol, which is based on the Proof-of-stake (PoS) algorithm, that rewards nodes for consistently extending the subchain. They hypothetically evaluated the security of the proposed protocol, and they showed how their proposed protocol can be the basis for using smart contracts on bitcoin’s blockchain.
An overview of the protocol:
Consider a network composed of a group of mutually trustless nodes (N, N’,…….,). The authors referred to them as “meta-nodes” to differentiate them from conventional nodes across bitcoin’s network. Meta-nodes will receive messages from users who wish to extend the subchain. The ultimate goal is to enable honest users, who strictly follow the protocol, to consistently update the subchain, while also penalizing adversaries who try to turn the subchain into an inconsistent one.
To acheive this, the authors proposed a protocol that is based on the proof-of-stake (PoS) algorithm. Mainly, they relied on the hypothesis that entails that the stake earned by honest users is bigger than the stake earned by dishonest users. Meta-nodes need the stake to be able to vote on approval of request updates. To reward nodes for voting on update requests, users will pay meta-nodes a small fee, which can be redeemed when the network accepts the update request.
The protocol is organized in stages with duration ∆. The following summarizes the protocol:
- When an update request UR[A : a] is received, a meta-node will check whether or not, it is a consistent update request. If so, it will vote in favor of the request and then records it on the reuest pool.
- When ∆ expires, the arbiter will sign all the update requests, which are well formed, in the request pool.
- All update requests that have been successfully signed by the arbiter will be sent to the miners, to be broadcast on the blockchain. As dictated by the UR, the i-th message on the subchain will be the first to be mined.
A new PoS protocol was proposed to create consensus on subchains in a secure manner. The proposed protocol can be implemented on bitcoin’s blockchain and represent an excellent framework for executing smart contracts securely on bitcoin’s blockchain.
Image source: Wikipedia