Smart contracts

Revision as of 11:44, 19 February 2020 by Wei (talk | contribs)

Introduction

A smart contract is a self executing contract where terms of the contract are implemented in code. A common misconception is that Bitcoin is incapable of executing smart contracts, paving the way for the creation of other blockchains like Ethereum.

The bitcoin scripting language is designed to be as primitive as possible. Using a set of OP codes, the language achieves maximum security while minimizing attack surfaces through intentional limitations, which often leads to an underestimation of bitcoin’s true potential. In fact, by simply focusing on the bitcoin scripting language, there is a risk that many other interesting features of the protocol may be overlooked. To understand how bitcoin is smart-contract friendly, one needs to zoom in and out on the bitcoin transaction as well as the entire stage on which the bitcoin transaction plays its role.

By doing this, it becomes apparent that there are many ways to construct smart contracts on bitcoin. We can summarise them roughly as

  • smart locking scripts,
  • smart use of sighash flags,
  • layered networks, and
  • payment channels.


Smart contract platforms

Tokenized is a smart contract platform that uses on-chain commands to instruct an agent in the issuance and distribution of tokens based on a set of smart contract rules.

sCrypt is a web-based integrated development environment (IDE) where developers can implement Bitcoin script in a higher level, more familiar programming language.

GearSV is a means of writing and running smart contracts on the Bitcoin SV network. Leveraging other development tools, contracts can be deployed on-chain as data, then run and validated off-chain by oracles or software agents.

Contact the Bitcoin Association to have your smart contract platform added.