Smart contracts are a type of electronic contract structure that automatically execute when the specified criteria are met. Starting with Ethereum, many virtual currencies have implemented smart contracts into their blockchains.
The structure is similar to that of a vending machine where a user inserts coins and presses a button for the drink they want which causes the sale to finalize.
The programming language of smart contracts can be built to conform to Ethereum’s programming.
The contract maintains transparency due to being on a P2P network recorded on a blockchain.
Additionally, the decentralized status of virtual currencies is inherited. Even without an administrator, the programming allows for fund movement with consumers to be automatically processed.
Merits of smart contracts include reducing administrative costs by no longer needing clerical work by related parties for the execution of the contract.
A demerit is that the details of the contracts can not be easily changed. Should there be an error or bug in the contract, it can be difficult to fix. If an attacker discovers a bug, it could become an exploit.