When it comes to blockchain technology, the bitcoin blockchain is the first infrastructure that comes to our minds. The technology that underpins BitCoins has ensured extremely secure and stable support for the popular digital currency. It has also introduced and demonstrated the concepts of transactions and smart contracts over the blockchain infrastructure. Nevertheless, Bitcoin smart contracts are based on a very limited scripting language, which only allows for very basic operations.
These limitations have given rise to proposals towards developing a Turing-complete language, which would allow the development of arbitrarily complex smart contracts for blockchains and decentralized applications. Such a Turing complete language is the foundation of the Ethereum blockchain-based distributed computing platform, which is open source and provides the means for executing sophisticated smart contracts. With the advent of Ethereum, Bitcoin blockchains are no longer alone, as Ethereum provides a large number of added-value features and applications. Ethereum is not only about currency, but provides the means for contract negotiation and facilitation, based on blockchain stored applications.
The Ethereum platform provides a virtual machine (i.e. the Ethereum Virtual Machine (EVM)), which executes scripts over an international network of nodes. Ethereum is associated with the “ether” cryptocurrency token, which can be used to compensate peer nodes for their participation in computations and transaction. In particular, “ether” is transferred between accounts when participant nodes perform computations. Likewise, “Gas” is used as an internal pricing mechanism in order to mitigate spam and allocate resources on the network.
Frontier is the name of the first release of Ethereum, while homestread is the name of Ethereum’s current release. Intense research is already undertaken towards improving Ethereum, which will form the basis for future releases. For example, the next version is called “metropolis” and will be characterized by improvements in the blockchain performance, but also in simplification of the protocols used. Moreover, there is a plan for a later release, which is called “serenity” and will incorporate a Proof of Stake (PoS) algorithm i.e. a distributed consensus algorithm. Contrary to Proof-of-Work (PoW) based blockchains (such as BitCoin) where participants are rewarded for solving complex cryptographic problems, in PoW based blockchains the selection of the creator of the next block is based on combinations of random selection and wealth or age (i.e. the stake).
As outlined, Ethereum research is on-going in many different areas, including scalability, privacy and improvements to the EVM. These updates are expected to become part of the serenity release, but also part of other subsequent releases. In the medium and long term, Ethereum will support the Web3.0 semantic web concept, which promotes the evolution of Web2.0 in order to interconnect people, application, data and web resources in an intelligent and semantic interoperable way.
Ethereum clients and releases
There are various Ethereum clients in different programming languages, yet the most popular ones are go-Ethereum and parity. go-Ethereum is the official Go implementation of the Ethereum protocol, which has been developed using Golang. On the other hand, parity provides a fast and secure way for interacting with Ethereum, based on the Rust systems programming language. The go-Ethereum client (commonly called geth) is the most popular client and usually sufficient for most purposes. Note that geth is run by Mist, which is a user-friendly wallet that synchronizes with the Ethereum network and provides a Graphical User Interface (GUI) for browsing the chain.
Understanding Ethereum’s Components
At the heart of the Ethereum infrastructure lies the peer-to-peer blockchain network. Ethereum clients (such as geth) run on the nodes and connect to the Ethereum network, which gives them the possibility of downloading and storing the blockchain locally. The local copy of the blockchain is regularly synchronized with the network. Furthermore, the Ethereum client participates in processes like mining and account management.
The main concepts and components of the Ethereum blockchain are described in the following lines:
- Ethereum blockchain: The blockchain can be represented as a transaction state of machine, which involves an initial/start-up state that is transformed to a final state based on the execution of various transactions. The latter are executed incrementally. A transaction execution can result in a state transition for the blockchain. The final transformation is ultimately accepted as the absolute undisputed version of the blockchain’s status.
- Currency: Ethereum rewards miners with its native currency, which is called Ether (ETH). ETH is the currency used in the version of Ethereum that was produced after a fork over Ethereum classic, which is the non-forked version of the blockchain. The latter uses a currency represented as ETC. ETH is used in the most active Ethereum blockchain (i.e. the forked version), yet there is still an active community working around ETC.
- Gas: Ethereum transactions are required to cover the cost of the computations that they perform. This coverage is supported by the so-called “gas” execution fee, which is paid upfront by the transaction originators. In particular, each transaction specifies the amount of gas that it can consume as part of its execution. In case it is not offered the gas needed to complete its execution, it is rolled back. Transactions that are executed successfully refund remaining gas to the transaction originator. The gas concept is something different from the mining fee that is paid to the miners in the BitCoin and Ethereum chains.
- Consensus mechanisms: Ethereum takes advantage of consensus mechanisms, which are based on a simplified version of the GHOST (Greedy Heaviest Observed Subtree) protocol. Based on this protocol, the chain that has most computational effort spent on it as part of its build process is identified as the definite and final version.
- Ethereum world state and account states: This is the global state of the Ethereum blockchain, which can be seen as a mapping between Ethereum addresses and account states. Account states comprise four basis fields, namely: (i) noncee. a transaction counter, (ii) balance i.e. the number of ETH units held by the address, which is measured in Weis, that is the smallest unit of the currency; (iii) storageroot i.e. a pointer to the route of the tree that encodes the account; and (iv) codehash, an immutable field that contains the hash of the smart contract code that is linked to the account.
Industry Momentum and Enterprise Ethereum Alliance (EEA)
The Ethereum Platform enables developers to write smart contracts and develop decentralized applications (DApps). These applications enable one to specify ownership rules along with transactions formats and transitions functions. The latter serve different sectors, including public administration, healthcare, education and legal services, in addition to financial services. Ethereum DApps facilitate the payment of transaction fees and services, on the Ethereum blockchain. A large list of DApps based on Ethereum is accessible at: https://www.stateofthedapps.com.
Ethereum makes it much easier to build blockchain applications, since it obviates the need for developers that have a very strong background in coding, cryptography and mathematics. It provides developers with a range of tools that enable them to implementing complex, secure decentralized applications beyond BitCoins. This is the reason why Ethereum gains momentum in industry. A manifestation of this momentum is the establishment of the Enterprise Ethereum Alliance (EEA) earlier this year. EEA aim at supporting the engineering, development and standardization of enterprise applications based on Ethereum, along with their deployment in different business sectors. EEA has an impressive growth in terms of memberships and already brings together different types of organizations including Fortune 500 companies, prominent research organizations and blockchain start-ups.
Overall, Ethereum is a developer friendly infrastructure that holds the promise to unlock the potential of blockchain applications beyond BitCoin and financial infrastructure. As such, it is currently the most promising solution for enterprise Blockchain adoption, which deserves our attention.