Ethereum smart contract is a program that is validated and executed on the blockchain. The output of running the program usually involves a transfer of value in Ether (ETH) or the respective token. Ethereum smart contracts are validated by the miners, who earn a reward for the same. When the Ethereum smart contracts are implemented on an interactive tool to develop applications, it called Decentralized Application. The applications are decentralized because their execution and validation involve a democratic consensus mechanism.