defining smart contracts

23
Defining Smart Contracts Are they just marmots and bananas or actually useful?

Upload: tim-swanson

Post on 13-Aug-2015

2.088 views

Category:

Education


4 download

TRANSCRIPT

Defining Smart Contracts

Are they just marmots and bananas or actually useful?

“A smart contract is a computerized transaction protocol that executes the terms of a contract. The general objectives of smart contract design 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, arbitration and enforcement costs, and other transaction costs.”

- Nick Szabo, 1994

“Smart Contracts are contracts as program code, where the terms of the contract are enforced by the logic of the program's execution. In a series of steps, from the basic metaphor of contracts as board games, through the nature of contract-created derivative rights, to compositions of games to turn assets into capital, we explain how smart contracts can resolve the conflict -- gaining the benefits of global transferability without sacrificing local knowledge.”

- Mark S. Miller, 2003

• March 2014: Smart contracts are computer protocols that facilitate, verify, execute and enforce the terms of a commercial agreement. (Great Chain of Numbers)

• February 2015: A smart-contract is an event-driven program, with state, which runs on a replicated, shared ledger and which can take custody over assets on that ledger. (Richard Gendal Brown)

• April 2015: A smart contract is a simple rules engine; cryptographically assured business logic that has the ability to execute and move value. (Consensus-as-a-service)

• July 2015: A smart contract is: cryptographically verifiable execution of code over cryptographically verifiable data. (Casey Kuhlman)

• July 2015: A smart contract is a computer program that directly controls digital assets and which is run in such an environment that it can be trusted to faithfully execute. (Vitalik Buterin)

“A smart contract is an administrative domain whose access policy is given by the contract and enforced by the smart contracts' platform.

In the Ethereum case: the domain is the part of the state governed by that contract (the account number, ether balance + nonce, storage) the policy is the contract's code and Ethereum itself is the platform that ensured the faithful execution of its policy over its domain.”

- Vlad Zamfir, researcher with Ethereum

“Many view smart contracts as code that emulates the logic of contractual clauses. Is there consensus on this? In general, I think so - but when you dive deeper, things get fuzzy. Should a smart contract definition include the words "self-enforceable"?, should it be attached to an oracle that allows it to "think" based on certain inputs? There's different levels but on the surface I think people use it to describe all of the above - most smart contract attempts today look like dumb contracts and maybe a more specific terminology for smart contracts will evolve out of progress. Maybe not.”

- James Duchenne, attorney, investor at 21 Capital

“Smart contracts are sets of computer codes that, essentially, automate contractual functions among parties. They can resolve disputes, accept and make payments, and verify compliance. They can be self-policing but might not deal with all relationships among the parties in as comprehensive a way as a legal, written contracts. In this way, smart contracts may be both more than and less than ‘real’ contracts.”

- Stuart Hoegner, attorney and editor of “The Law of Bitcoin”

What does this look like?

Where can it potentially be used in the financial industry?

What do a couple other projects look like?

In their own words

Tezos was developed by a group of financial professionals and researchers from INRIA, the French Institute for Research in Computer Science and Automation.

By abstracting the concept of a blockchain and incorporating it into the protocol itself, Tezos proposes a dynamic governance model which allows for some unique features:

• Stakeholders have full choice over the technological enhancements to the network.

• Integration of new features into the protocol as first class citizens, which preserves scalability and composability. Tezos considers that this is a major advantage over solutions which implement new features within smart contracts, and not at the protocol level.

• Network participants can agree to use any form of consensus mechanism.

A critical feature of Tezos’s offering is their smart contract language, which has full formal specification. Tezos also provides “trustless off-chain contract arbitration,” which protects the privacy of the parties to the contracts (while retaining auditability for regulators) and greatly improves scalability.

TezosA self-amending cryptoledger

Eris in their own words

• Eris is a platform for building, testing, maintaining, and operating distributed applications with a blockchain backend.

• Eris makes it easy and simple to wrangle the dragons of smart contract blockchains. Eris drastically reduces complexity of operating and developing blockchain-backed applications

• Smart Contract Focused:• Distributed Infrastructure Focused – built to support both distributed user base

running the platform locally as well as larger enterprise operations departments deploying to cloud droplets

• Blockchain Agnostic – works with (nearly) any existing blockchain, (nearly) any existing “traditional” data management solution, as well as Eris built permissioned ledgers

• Eris focusses on the “whole” application (see following slide)

Eris: Typical Blockchain Application

What other projects have contracting “abilities?”• Using the native ‘script’ language for Bitcoin, Mike Hearn has created several examples

including:• Escrow and dispute mediation• Assurance contracts (which he later evolved into “Lighthouse”)• Trading across chains

• One of Ethereum’s goals is to enable end-users to use the network as a contracting platform

• These can be written using a Turing-complete scripting language• Several projects are using this including Spritzle and Etherplan

• In March 2014 there were a number of platforms that promised “smart contract functionality,” but never really germinated

• For example: NXT, BitShares, Mastercoin (rebranded as Omni), Counterparty, and a myriad of colored coin projects marketed this ability yet has not been fulfilled in scale

• Ripple Labs did create “Codius” but recently shuttered that effort

Practicum

• Jeff Flowers and Ryan Charles will give some coding examples of what it looks like on the developer side of the equation

[email protected]• Follow: @ofnumbers• Visit: OfNumbers.com

Contact