Simple vs Smart Contracts

Note from the CEO: WOW! A rebuttal already. We ran a story two days ago featuring a smart contract transaction involving cotton, an Aussie bank and 7,000 miles of international hurdles via a shipping transaction. Now, here is why smart contracts are not the answer for all things legal. Great read.  And for those of you who want to brush up on what exactly a smart contract is, here’s a link to Wikipedia’s definition

“Smart Contracts are fully fledged computer programs that authenticate and implement the conditions of predetermined contracts. They can be partially or fully self-executed and can trigger additional Smart Contracts when a certain threshold is reached or in its execution by containing an internal state, meaning it can go from A to B to C and D and trigger other contracts or actions in every state in the process. Smart Contracts can be a powerful tool when several variables are at play and the added complexity is viewed as a benefit. But what if you could extract all the functionality with none of the overhead? This is what we call Simple Contracts.

Simple Contracts have no internal state. They rely solely on the specific data that the contract can see, the entire system overall doesn’t matter. Simple Contracts can only execute transfers, they cannot trigger additional contracts and this is the biggest difference between the two, there is no chaining of contracts. To test a Smart Contract, you have to go over each internal state, triggering a new contract to go into each state, which can trigger another Smart Contract, and so on. It can quickly snowball into something you can’t control. It’s very difficult to predict the outcome and validate every state in the contract. With the finite execution time of Simple Contracts, it’s easy to predict how much computation time it will need upfront and it’s also very easy to change each input and combination.”

Read Full Article at Blog.bigchaindb.com