Difference between revisions of "Smart contracts"

m
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
===Introduction===
 
===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 [https://ethereum.org/ Ethereum].  
+
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 [https://ethereum.org/ 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.
 +
 
  
Bitcoin Script as originally implement is capable of simple yet powerful smart contracts that can be written, deployed and deferred to the miners on the network for execution.
 
  
 
===Smart contract platforms===
 
===Smart contract platforms===
 +
 +
[http://tokenized.com 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.
 +
 
[http://scrypt.studio/ sCrypt] is a web-based integrated development environment (IDE) where developers can implement Bitcoin script in a higher level, more familiar programming language.
 
[http://scrypt.studio/ sCrypt] is a web-based integrated development environment (IDE) where developers can implement Bitcoin script in a higher level, more familiar programming language.
  
 
[https://github.com/gear-sv 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.
 
[https://github.com/gear-sv 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 Brendan Lee at [email protected] to have your smart contract platform added.
+
Contact the Bitcoin Association to have your smart contract platform added.

Latest revision as of 01:40, 18 November 2020

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.