Smart contract

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Smart contracts are computer protocols that facilitate, verify, or enforce the negotiation or performance of a contract, or that obviate the need for a contractual clause. 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.

Examples[edit]

Digital rights management schemes are smart contracts for copyright licenses, as are financial cryptography schemes for financial contracts. Admission control schemes, token bucket algorithms, and other quality of service mechanisms help facilitate network service level agreements. Some P2P networks need mechanisms to ensure that remote strangers contribute as well as consume resources, without requiring the overhead of actual legal contracts. Two examples of such protocols are the storage trading protocol in flŭd backup[1] and the Mojo Nation filesharing auction. Cryptographic authentication of one product part by another has been used, in lieu of a contract between manufacturer and consumer, to enforce tying strategies.[2]

History[edit]

Agoric computing was a movement in the 1970s and 80s to bring market mechanisms such as auctions to computational resource management.[citation needed] Meanwhile public key cryptography revolutionized what was possible in online security.

The phrase "smart contracts" was coined by computer scientist Nick Szabo, probably around 1993, to emphasize the goal of bringing what he calls the "highly evolved" practices of contract law and related business practices to the design of electronic commerce protocols between strangers on the Internet. Szabo, inspired by researchers like David Chaum, also had a broader expectation that specification through clear logic, and verification or enforcement through cryptographic protocols and other digital security mechanisms, might constitute a sharp improvement over traditional contract law, even for some traditional kinds of contractual clauses (such as automobile security interests that provide for repossession) that could be brought under the dominion of computer protocols.[3] Mark Miller and others have stressed capabilities[4] as the security basis of smart contracts, in contrast to Chaum and other researchers in the financial cryptography community who have emphasized advanced cryptographic protocols to bring security and privacy to digital money, credentials, contract signing, auctions, and other commercial mechanisms. Most of the above-cited examples have, however, probably been developed largely independently of these lines of work, and indeed some proponents see smart contracts as the inevitable outcome of many independent efforts to improve transactions in various industries using digital technology. Several formal languages have been developed or proposed for specifying contractual clauses.[5][6][7] The IEEE has held two workshops on electronic contracting,[8] which have furthered this research.

Replicated titles and contract execution[edit]

A smart contracts infrastructure can be implemented by replicated asset registries[9] 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. 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.[10] Code supporting this is a latent part of the Bitcoin protocol, based on probabilistic and anonymous (proof-of-work based) Byzantine replication. One proposal for using Bitcoin for replicated asset registration and contract execution is called "colored coins".[11] A replicated domain name registry is implemented in Namecoin; replicated titles for potentially arbitrary forms of property, along with replicated contract execution, are implemented in Ripple, Mastercoin and Ethereum.[12] NXT[13] implements replicated property titles based on proof-of-stake in the underlying currency.

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.

See also[edit]

References[edit]

External links[edit]