Here is a good article on smart contract worth reading:
9 Myths Surrounding Blockchain Smart ContractsWilliam Mougayar (@wmougayar) | Published on March 23, 2016
William Mougayar is a Toronto-based entrepreneur, Ethereum Foundation advisor and advisor to Consensus 2016, CoinDesk's flagship conference. He is also the author of the upcoming book, The Business Blockchain.
In this feature, Mougayar explores and attempts to debunk some of the biggest misconceptions related to blockchain-based smart contracts.
Smart contracts are a key underpinning of blockchain technology, yet they are still misunderstood in many ways.
In the fullness of their deployment, they will be no less revolutionary than the invention of the HTML markup language that allowed information to be openly published and linked on the Web. Smart contracts promise to program our world on the head of blockchains, and potentially replace many functions currently executed by expensive or slow intermediaries.
Historically, the concept was first introduced by Nick Szabo in 1994. Smart contracts then had a long gestation period of inactivity and disinterest, because there was no platform that could enforce them, until the advent of blockchain technology in 2009. Now, smart contracts are entering their prime, especially since Ethereum has popularized them further by making their programming a basic tenet of their blockchain's power.
Like any new buzzword, the more a term gets popular, the more it spreads around. The more it will get used, but also misused and abused. It will mean a lot of different things to different people.
Here’s a list of 9 misconceptions about smart contracts, and my efforts to debunk and explain away those misconceptions:
1. Smart contracts are the same as a contractual agreement
No. If we stick to Nick Szabo’s original idea, smart contracts help make the breach of an agreement expensive because they control a real-world valuable property via "digital means".
So, a smart contract can enforce a functional implementation of a particular requirement, and can show proof that certain conditions were met or not met.
These can be fairly strict implementations, eg if a car payment is not made on-time, the car gets digital locked until the payment is received.
2. Smart contracts are like Ricardian contracts
No. Ricardian contracts, popularized by Ian Grigg, are semantic representations that can track the liability of an actual agreement between parties.
These can also be implemented on a blockchain, with or without a smart contract. Typically, multiple signatures are part of a Ricardian contract's execution.
3. Smart contracts are legally enforceable
Smart contracts are not law (yet), but they could represent pieces of a legal agreement. The legalities around smart contracts are a work in progress.
A smart contract outcome could be used as an audit trail to prove that terms of legal agreement were followed or not.
4. Smart contracts include Artificial Intelligence
Smart contracts aren’t really that smart on their own.
Smart contracts are really software code that runs on a blockchain, and they are triggered by some external data, that lets them modify some other data.
So, they are closer to an event-driven construct, more than artificial intelligence.
5. Smart contracts are blockchain applications
Smart contracts are usually part of a decentralized (blockchain) application. There could be several contracts to a specific application.
For example, if certain conditions in a smart contract are met, then the program is allowed to update a database.
6. Smart contracts are easy to program.
Yes and no. Writing a simple contract is fairly easy, especially if you are using a specific smart contract language (eg Ethereum’s Solidity), which lets you write complex processes in a few lines of code.
But there are more advanced implementations of smart contracts that use "oracles". Oracles are data sources that send actionable information to smart contracts.
7. Smart contracts are for developers only
True today, but we will soon see more user-friendly entry points that will allow any business user to configure them via a graphical user interface, or perhaps a text-based language input.
Ethereum's Mist browser is a step in that direction.
8. Smart contracts are not safe.
Not true. Even in the Ethereum implementation, smart contracts run as quasi-Turing complete programs, which means there is finality in their execution, and they don’t risk looping infinitely.
9. Smart contracts have limited applications.
Not true. Like HTML, the applications are limited by whoever writes them. Smart contracts are ideal for interacting with real-world assets, smart property, IoT, and financial services instruments.
They apply to almost anything that changes its state over time, and could have a value attached to it
Source:
http://www.coindesk.com/smart-contract-myths-blockchain/