Smart contracts are an innovation that has taken blockchain from a proof-of-concept of a decentralised ledger, to a value added solution for real world problems. A smart contract is a digital agreement detailing and automating actions given certain trigger criteria. A smart contract can be used to store cryptocurrency tokens, similar to an escrow account, and later distribute them in a way that is predetermined by code. For example, a contract can be used to facilitate a transfer (action) between two different Ethereum based currencies where it will not release the funds to either party until it has received the predetermined amount of each currency (criteria).
Programmable smart contracts give Blockchains computer-like functionality.
While the smart contract described in the first paragraph is relatively simple, blockchains like Ethereum are “Turing complete” meaning that any action or criteria that can be mathematically expressed can be built into a smart contract or program running on the blockchain. Your computer can be programmed to recognize documents, check criteria, and complete all sorts of complex computations. Similarly, smart contracts enable projects to build all the same programmable functionality while leveraging the security and decentralisation of blockchain technology.
Terms imbedded into a smart contract are immutable and predefined.
Smart contracts introduce the concept of “code is law” where terms of a contract, actions, and triggers are clearly defined within the code. Where the contract is integrated into the blockchain it takes on the same security characteristics. A smart contract is immutable meaning it cannot be changed or altered. While a well-written smart contract will execute its code without bias and without failure there is the risk that a contract is poorly written and contains gaps or flaws which can be exploited. Modern programs attempt to mitigate and negate these risks with smart contract auditing and smart contract insurance to protect assets that may be stored inside a smart contract.
What are DAPPs?
While smart contracts enable any functionality that programmers can write, this functionality normally comes in the form of decentralised applications. Decentralised applications are the user interface that allows you to interact with smart contracts just like downloadable apps might give you new ways to interact with your phone. you can learn more about DAPPs by reading our short post on “DAPPs“