Nick Szabo introduced the smart contract concept in 1994. A smart contract is specific executable computer logic and code built within a peer-to-peer blockchain network. When a certain condition is met, the smart contract will automatically execute a contract instruction and update the ledger in the blockchain. Each smart contract is assigned a unique address in the blockchain. When the smart contract executes, it is run by each node as part of block creation.
In the Ethereum blockchain, the programming language for the smart contract is Solidity. It was developed by Gavin Wood, Christian Reitwiessner, and several Ethereum core contributors. Solidity is a statically-typed language, similar to JavaScript and C. When Solidity is compiled, it checks the variable type and turns it into Ethereum virtual machine byte code; once it deploys to the Ethereum...