Smart Contracts

A smart contract is a computer code that predefines a set of rules under which the parties to that smart contract agree to interact with each other. The code facilitates, verifies, and enforces the negotiation or performance of a contract. This is the simplest form of decentralized automation.

A smart contract is a mechanism involving digital assets and two or more parties, where some or all of the parties deposit assets into the contract and the assets automatically get redistributed among those parties according to a formula based on certain data, which is not known at the time of contract initiation.

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. Smart contracts are not automatically legal contracts. But we will probably see a fusion of legal contracts and smart contracts emerging over the next few years as the technology becomes more mature and widespread.

Characteristics 

# Turning legal obligations into automated processes
# Guaranteeing a greater degree of security
# Decreasing reliance on trust
# Lowering transaction costs
# Self-verifying
# Self-executing
# Tamper resistant
Source: Hoss Lanesmartcontract.com

Use Cases

Would you enter into a contract with someone you’ve never met? Would you agree to lend money to some farmer in Ethiopia? Would you become an investor in a minority-run newspaper in a war zone? Would you go to the hassle of writing up a legal binding contract for a $5 purchase over the internet? You need a working trust relationship between the two parties, and sometimes you rely on a working legal system, police force, and lawyer costs. Thanks to smart contracts & blockchains you don’t need any of that: if all the conditions of the contract can be coded in the blockchain, then they will, in such a trustless environment be auto enforceable at very low transaction costs. Contracts that you would never agree to simply because they weren’t economically feasible or there was not enough legal protection can be replaced by smart contracts.

Smart contracts are capable of tracking performance in real time, which makes them suitable for insurance and trade finance where this can bring huge cost savings. Finance institutions are among the early adopters of smart contracts. In order to get external information, a smart contract needs an oracle, which connects it to the external world and provides it with the needed information. More on the topic read at smartcontracts.com

 

Coding Smart Contracts

Solidity is a smart contract programming language. The syntax is similar to that of JavaScript, and it is designed to compile to code for the Ethereum Virtual Machine, to create contracts for voting, crowdfunding, blind auctions, multi-signature wallets and more.
Official Solidity Documentation, by Ethereum Foundation
Solidity Tutorial, using Visual Studio
Solidity Code Snippets, useful for Ðapp development
Accessing Contracts & Transactions: Interacting with smart contracts
Integrated development platform (IDE) browser based with integrated compiler and solidity runtime environment without server-side components
# Ethereum Solidity Gitter chat channel
Remix: IDE that allows developers to build and deploy contracts and decentralized applications on top of the Ethereum blockchain

Check out our “Smart Contracts” infographic for more in depth explanation: Link

Read the “Internet of Agreements” on why smart contracts could change the way people do business: Building the Hyperconnected Future on Blockchains by Hexayurt.Capital in collaboration with ConsenSys

Video