Smart contract
Smart contracts also known as a smart property are computer protocols that facilitate, verify, or enforce the negotiation or performance of a contract, or that make a contractual clause unnecessary. Smart contracts usually also have a user interface and often emulate the logic of contractual clauses. Proponents of smart contracts claim that many kinds of contractual clauses may thus be made partially or fully self-executing, self-enforcing, or both. Smart contracts aim to provide security superior to traditional contract law and to reduce other transaction costs associated with contracting.
Computing platforms and software that can be organised for rational decision making methods which achieve meaningful execution are known as agoric systems. These type of contracts have been traditionally drafted by lawyers.
Contents
Synonyms
Definition
A smart contract is a computerized transaction protocol that executes the terms of a contract. The general objectives are to satisfy common contractual conditions (such as payment terms, liens, confidentiality, and even enforcement), minimize exceptions both malicious and accidental, and minimize the need for trusted intermediaries. Related economic goals include lowering fraud loss, arbitrations and enforcement costs, and other transaction costs.
Motivation & Background
A smart contract is not currently inherently "smart" as a separate attribute of contract type. A blockchain-based smart contract is visible to all users of said blockchain and this can cause security issues. Advantages of a smart contract over its equivalent conventional financial instrument hypothetically include minimizing counterparty risk, reducing settlement times, and increased transparency but AI methods need to be further develop to realize the full potential of smart contracts.
Structures
Principle
Smart contracts are heavily reliant on blockchain distributed databases. Szabo proposes that smart contract infrastructure can be implemented by replicated asset registries and contract execution using cryptographic hash chains and Byzantine fault tolerant replication. Each node in the peer-to-peer network acts as a title registry and escrow, executing changes of ownership and automatically checkable rules governing those transactions, and checks the same work of other nodes. Askemos implemented this approach in 2002 using Scheme as contract script language.
Cryptocurrencies such as bitcoin have implemented special cases of such registries, where the property is money. Bitcoin and many of its spin-offs contain mechanisms to enable more general property titles and contract execution. Code supporting this is a latent part of the bitcoin protocol, based on probabilistic and anonymous (proof-of-work based) Byzantine replication.
Precision
A blockchain-based smart contract is visible to all users of said blockchain and this creates a security issue. This leads to a situation where bugs, including security holes, are visible to all but may not be able to be quickly fixed. Such an attack, difficult to fix quickly, was successfully executed on The DAO in June 2016, draining US$50 million in Ether while developers attempted to come to a solution that would gain consensus. The program on the blockchain had time requirements in place before the hacker could access the funds, and remove funds from The DAO contract. A hard fork of the blockchain was done to claw back the funds from the attacker before the time limit expired.
Generality
Widely applicable.
Application
Applications may include financial instruments such as bonds, shares, and derivatives, assurance contracts, and other instruments and transactions where the nodes can monitor the events on which the smart contract rules are conditioned.
The real world implementation of a smart contract that gained mainstream coverage was The DAO, a distributed autonomous organization for venture capital funding, which was launched with US$150 million in crowdfunding in May 2016 and was hacked and drained of approximately US$50 million in cryptocurrency three weeks later.
Examples
Platform | Description |
---|---|
Solidity | Solidity is an object-oriented programming language for writing smart contracts. It is used to implement smart contracts on various blockchain platforms. |
Ethereum | Ethereum is an open source public blockchain-based distributed computing platform, featuring smart contract functionality. It provides a decentralized virtual machine, the Ethereum Virtual Machine (EVM), that can execute peer-to-peer contracts using a token called ether. |
Future Directions
Development of smart contracts must address the behaviour economics and economical mechanism design, using machine learning to identify patterns in the transactional data tagged by blockchain.