Smart contracts

Revision as of 01:40, 18 November 2020 by Brendan (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 minimising 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
  • 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.