- dApp(Decentralized Application)
- 51% Attack
- Smart Contract
- Soft Fork
- Hard Fork
- Token Economy
- Consensus Algorithm
- Digital Signature
- Public key
- Private key
- Block Height
- Merkle Root
- Time stamp
- UTXO (Unspent Transaction Output)
- ERC20 Token
Smart contracts existed before the blockchain. Smart contracts were first proposed by Nick Szabo in 1994. The traditional contract is written in actual papers which people need to perform by themselves. However, Szabo insisted the smart contract would be written with digital language and intended to automatically enforce the negotiations of the contract; therefore the performing process could be minimized, so as the cost and the time. But it was impossible to develop this concept with the technology at that time, because the digital documents could have been copied and modified very easily.
After Bitcoin was developed, the blockchain, the distributed ledger technology was introduced, and the smart contract started to get the attention as well. Bitcoin runs on blockchain protocol in a currency wise for simple payment and transfer, and also on smart contract protocol in a functional wise for checking and changing the balance with programming language.
Vitalik Buterin, founder of Ethereum expanded this simple function of a smart contract in blockchain that he executed every form of contract with the smart contract. It runs on the blockchain network executing the function, which is written according to the content of the contract using the repetitive language of codes. Through this method, various services can be launched.
Following is the example of a voting contract written with solidity, contract-oriented programming language
(Image source : https://solidity.readthedocs.io/en/v0.5.2/solidity-by-example.html)