Ethereum
Tags: Ethereum Blockchain, Smart Contracts, Ethereum

Starting of with a brief history of the conception of ethereum, this was the time when people started understanding the true abilities of blockchain however wanted to move beyond cryptocurrency applications. For that they either had to start on top of blockchain which had its own constraints like limited data types or start a new blockchain which was in itself very difficult. Vitalik Buterin, a young programmer by the end of 2013 published a white paper about Ethereum which was a Turing complete general purpose blockchain through which basically developers could program their particular application without having to create or design the underlying elements like peer to peer networks, consensus algorithms of blockchain itself. It served as a platform for the creation of decentralized apps.

In essence, Ethereum is an open source, globally decentralized network that essentially executes smart contracts. It uses the blockchain tech to sync and group the data together, along with its own digital currency called ether to meter and constrain execution costs. Even though the blockchain elements of Ethereum and Bitcoin are comparable, but Ethereum’s aim is not to become a global digital payment network and unlike the former, Ethereum’s programming language Solidity can execute complex code and is Turing complete. Ethereum’s blockchain components include P2P network, consensus rules, transactions via ether, state machine which basically are responsible for the execution of smart contracts made in Solidity, data structures which basically contain all the transactions of the network in a serialized hashed data structure called the Merkle tree and economic security using PoW algorithm like Ethash. Ethereum’s main developmental stages are codenamed as Frontier, Homestead, Metropolis and Serenity. Intermediate hard folks which in essence can be seen as software upgrades for the network are codenamed as Ice Age, DAO, Tangerine Whistle, Spurious Dragon, Byzantium, Constantinople later named as St. Petersburg, Istanbul and Muir Glacier.

To understand the concept of gas in Ethereum, we need to first analyze the implication of Ethereum being Turing complete. Turing complete means that the particular system can theoretically solve any computational problems given the limitations of finite memory. However, this creates the possibility of programs running in infinite loops after being executed which is called a DoS attack which can then effect memory, over heating problems etc. This is where gas comes in which can basically be seen as a limiter for the smart contract. There is a predetermined cost of gas associated with each smart contract and thus when the smart contract is validated by a node, it can run only until the there are gas units available and the system would stop the contract when these gas units are used up. These gas units can be purchased through ether which are to be send with the contract and their purpose which in this case is to buy gas, should be explicitly mentioned. With time, Ethereum has moved from being a general purpose blockchain to become a programmable platform for decentralized apps which fundamentally are smart contracts (using solidity) with a web user interface (using JavaScript). However, one needs to understand that the platform is still developing and given the feature of immutability, developers need to be flexible to make smart contracts from scratch with time as one can simply not just update a smart contract.