- Ethereum has a 10-20 second block time – for Bitcoin, that number is 10 minutes
- Founded in early 2014, Ethereum has risen up to become the second largest project in crypto, as measured in total market cap
- The project may be best known for introducing the crypto community to smart contracts and DApps
Ethereum is a decentralized, open source, public blockchain encompassing smart contract functionality. Smart contracts applications operate exactly as they were programmed without changes in the program, downtime, censorship or third-party interference. Applications built on the decentralized platform are referred to as Dapps and can be employed in a variety of transactions.
These transactions range from agreements (contracts) to other applications requiring no central authority such as ballot voting applications or financial transactions systems that offer lower transaction rates as compared to the traditional alternatives notably PayPal without any central authority.
The name ‘Ethereum’ is often conflated with ‘Ether’ – which is the name of the token used as fuel for transactions on the network.
History of Ethereum
- The Developers
The development of Ethereum is attributed to Vitalik Buterin, a Russian programmer involved with Bitcoin and cryptocurrencies magazine publishers, Bitcoin Magazine. Vitalik described a proposal to develop the now second largest project in crypto in a white paper stating that Bitcoin had one weakness given that it lacked an effective scripting language for application development. In the white paper, Vitalik states that Bitcoin scripting language had the following limitations:
- Lack of Turing-completeness
- Lack of state
He states that the sole purpose of the project was to:
“…merge and improve upon the concepts of scripting, altcoins and on-chain meta-protocols. And allow developers to create arbitrary consensus-based applications that have scalability, standardization, feature-completeness, ease of development and interoperability offered by these different paradigms all the same time”.
Ethereum provides such functionality by acting as the bedrock encircling a blockchain with an in-built complete Turing programming language that allows developers to build decentralized applications and smart contracts based on their own preferences, a form of ownership, transactions format along with state transition functions.
Vitalik partnered with other programmers in developing Ethereum with the core team including Mihai Alisie, Anthony Di lorio, and Charles Hoskinson. The initial development of the software project began in January 2014 via a Swiss company known as the Ethereum Switzerland GmbH (EthSuisse). The project was funded by the formation of a Swiss non-profit foundation referred to as the Ethereum Foundation (Stiftung Ethereum) which raised funds for the project through an online public crowdsale that involved purchasing Ether in exchange of Bitcoin between July to August 2014.
- Enterprise Ethereum Alliance (EEA)
Further funding for the project was initiated by the formation of the Enterprise Ethereum Alliance (EEA) in March 2017. The EEA comprised of various financial companies, blockchain start-ups, academic and research companies along with 30 founding members. By March 2017, the EEA had expanded to 116 companies including notable multinational companies such as Microsoft, JP Morgan, Intel etc. all being interested in implementing blockchain technology in their products.
Apart from non-profitably funding the development of the Ethereum software, EEA aims to develop a restricted private version of the platform which its members can integrate it in their daily operations. For example, a financial institution can develop their own personalized Ethereum blockchain or Dapps to address their business needs. Similarly, other companies can implement the Ethereum blockchain platform in managing or tracking their supply chain. Also, the companies under EEA can share Dapps or codes whenever they seem suitable or useful by a variety of member companies.
The project’s tech is basically miniature objects referred to as “accounts” with each containing a 20-byte address. In this technology, state transitions achieve communication and transactions between accounts. An Ethereum account consist of four fields:
- The nonce, ensuring that transactions between accounts are only carried out once.
- The account’s current ether balance
- The account’s contract code-can either be present or absent
- The account’s storage, which is of course empty by default.
Ether is employed in accomplishing transactions between Ethereum accounts as it is used to settle transactions fees. Accounts can be broadly categorized into two groups:
- Externally owned accounts
Externally owned accounts lack a code and transactions can only be accomplished by the creation and signing of a message because private keys control the accounts.
- Contract accounts
These accounts are under control of their contract code. Contract accounts have a code which is activated every time the contract receives a message (also known as transaction). The code allows the account to read and decode the message in the internal storage along with enabling the creation of contracts or sending messages to other accounts.
Messages and Transactions
In the platform, “messages” are to some extent similar to “transactions” in the Bitcoin ecosystem. However, there are three key differences as outlined below:
- A message can be created either via a contract or an external entity while a Bitcoin transaction is only achieved when created externally.
- Messages have an option to contain data.
- Messages constitute a function enabling a recipient, i.e. a contract account to reply to the message.
“Transactions” refer to a signed data package that harbors a message to be relayed by an externally owned account. A transaction must contain the recipient of the message, the sender’s signature, transactional fees regarding ether along with the data to be sent if any. A transaction must also encompass two key values: the STARTGAS which is the limit of code execution and the GASPRICE which is the fees to be paid to a miner per computational steps.
The code encompasses a low-level, stack-based bytecode programming language known as the Ethereum virtual machine (EVM) code. The code employs a series of bytes with every single byte representing an operation. The code is executed by running repeated operation at the current program counter until a STOP or RETURN functionality is relayed. The code operation accesses spaces: the stack, memory and the long-term storage. The code also has an option to access the value, sender and data of the incoming message along with the block header data.
The Ethereum blockchain is somewhat similar to the Bitcoin blockchain – they are both, ultimately, blockchains, after all. There are however a few key differences. The primary difference lies in the blockchain architecture. The Ethereum blocks involve a copy of the transaction list with the block number and difficulty being stored in the block, unlike Bitcoin’s blockchain.
Since its launch in early 2014, Ethereum has realized enormous achievements with Ether being second in value after Bitcoin. Ethereum development (protocol upgrades) is broadly categorized into four milestones phases. The protocol upgrades are achieved via soft forking the open source code base to change or enhance the overall functionality of the network along with the platform’s incentive structure.
The four milestone phases
- Frontier Release- Frontier was the first Ethereum network phase and involved an interface resembling a command line for merging ethers along with creating and executing Ether contracts. Frontier enables miners to configure and implement their mining rigs to start mining Ether. It also enables developers to develop Dapps and purchase Ether to upload their applications on the Ether platform.
- Homestead Release- After Frontier was thoroughly tested and later regarded as functional and safe, Homestead was released. In this phase, Ethereum was released as a Beta version and was considered safe. The Homestead phase marked the start of the development of the first major projects on the Ethereum platform.
- Metropolis Release-This phase will be achieved with the release of a simpler version of the Ethereum platform to cater for needs of inexperienced users. Metropolis release will feature certain features of the platform aimed at displaying the overall strength and functionality of the Ethereum network.
- Serenity Release- Serenity release will be the final release of Ethereum and will involve the Ethereum network being converted from Pow (Proof of Work) to PoS (Proof of Stake). PoS will minimize enormous wastage of energy of the network along with enhancing the system to be faster, more efficient and more user-friendly suitable for beginners.
The Future of Ethereum is undoubtedly bright evident with the various enterprise software companies that have developed their own customized Ethereum-based software and networks separate from the Public Ethereum chain. Example of such companies includes Microsoft, IBM and Innovate UK. On the same note, several financial institutions such as Barclays, UBS and Credit Suisse are in the initial phase of testing Ethereum blockchain with an aim to systematize Markets in Financial Instruments Directive (MiFID) II financial requirements.
J.P. Morgan Chase is in the process of developing a permissioned-variant of Ethereum blockchain code name “Quorum” that aims to enable financial regulators to access financial records of their customers while still maintain the much-needed privacy of the customers. With such developments, Ethereum though still growing has a huge potential of overtaking Bitcoin and become the most valuable cryptocurrency.