Smart contracts are code that runs on the blockchain. When a smart contract is executed, it automatically executes the defined conditions specified in the contract. Smart contracts have the potential to radically improve the efficiency of business and collaborations, especially in conditions of zero-trust between parties. For example, a smart contract could be used to automatically pay someone an amount of money automatically if a certain condition is met. Automatic exeuction of a smart contract is similar to the execution of a vending machine. When you insert the correct amount of money, the product is automatically delivered to you without the involvement of a third party. Similarly, when a smart contract is executed, it automatically performs its actions without the involvement of a third party. This means that the execution of a smart contract is transparent, immutable and tamper-free.