Ethereum (ETH) and NEO are among the most dominant decentralized application (dApp) development platforms. In this second part of our comparison of these two blockchain networks, we shall examine in detail the different approaches taken by developers of both Ethereum and NEO to upgrade their respective networks.
Readers who would first like a broad overview of the key features of both NEO and Ethereum should click here.
Blockchain Upgrades: Addressing Scalability Issues, Improving Security, Achieving Decentralization
Blockchain developers are currently working to implement a distributed database management system (with a lot more added functionality in the case of Ethereum and NEO) that is able to process a large number of transactions (scalable), while also providing the highest level of security and decentralization. To be able to achieve all three: scalability, decentralization, and security, there are various approaches that developers have taken.
Conceptually and theoretically, what both Ethereum and NEO are trying to achieve, may be useful, however, the current combination of modern hardware technology, storage systems, and algorithms for implementing distributed consensus and applications are in their primitive stages.
Ethereum’s Ongoing Development Efforts
Let’s first review what Ethereum’s developers are doing right now to help improve the smart contract-enabled blockchain network. Because the developers of Ethereum and NEO are working on fundamentally different approaches to upgrading their respective networks, we will not do a side-by-side comparison of both platforms. Instead, we shall do a recap of the current ongoing development efforts of both NEO and Ethereum.
During the last bi-weekly meeting (on December 7th) between Ethereum’s developers, it was decided that the Constantinople upgrade, which is one of the main short-term upgrades to Ethereum, would be activated at block number 7,080,000. Although there is no reliable method available to estimate the exact date and time at which this particular block will be mined, Ethereum’s development team believes it should be mined between January 14th and January 18th (based on the network’s current average block processing times).
Tentatively scheduled for October 2018 and then postponed to early 2019, the Constantinople upgrade consists of the following five (5) Ethereum Improvement Proposals:
- EIP 145 – adding bitwise shifting instructions as they are “cheaper to use by contract” and allowing for more efficient information processing
- EIP 1014: this will allow the network to better handle scalability type upgrades such as off-chain transaction protocols
- EIP 1052 – a better approach to processing smart contracts
- EIP1234 – suggestion to reduce mining rewards from 3 Ether to 2 Ether, further delay the difficulty bomb by 12 months
- EIP 1283 – better way to monetize smart contract data storage
Should the Ethereum Community vote in favor of initiating the Constantinople upgrade at said block number, then it will go into effect. However, if things do not go as planned due to unforeseen technical issues, then the Go-Ethereum (one of the first implementations of the Ethereum protocol) software will abort the activation.
In order to prepare for the Constantinople upgrade, Geth, the standalone command line interface (CLI) client version of Go Ethereum has now been updated (v1.18.20) to handle new additions to the Ethereum codebase. Other major Ethereum clients preparing for the Constantinople update include Aleth and “Parity Ethereum.”
Also during the bi-weekly meeting, Ethereum’s developers revealed that steady progress was being made with programmatic proof-of-work (ProgPoW), which is a modified version of Ethereum’s current PoW consensus protocol. ProgPoW has been designed to prevent Ether miners from using high-end mining hardware such as ASICs. So, ProgPoW aims to give every network validator an equal opportunity to mine blocks on the Ethereum network.
Although development work for ProgPoW is going smoothly, Ethereum’s development team has clarified that there is no set date yet for when the algorithm will be integrated to the Ethereum codebase. Moreover, there is no confirmation yet of whether ProgPoW will be implemented on Ethereum’s network.
Ethereum Blockchain 1x
In late November, Ethereum’s developers decided that they will be moving forward with plans to activate the “Ethereum 1x” upgrade. This network update consists of codebase modifications that are designed to improve the performance of Ethereum’s blockchain and smart contract functionality more quickly than other planned upgrades such as “Ethereum 2.0.”
At DevCon4 (an annual “Ethereum family reunion hosted by the Ethereum Foundation to educate and empower the community to build” solutions on the blockchain-based platform), it was decided that Ethereum 1x would be activated by around June 2019. Similar to how all Ethereum network upgrades are performed, the platform’s community will vote on whether to move forward with implementing Ethereum 1x.
As noted by Afri Schoedon, the release manager at Parity Technologies (a widely used Ethereum Client), the Ethereum 1x codebase modifications can be tested on a separate blockchain network, however some developers would like to see Ethereum 1x run on the main Ethereum blockchain (right away) and would also like for the upgrade to be initiated before June 2019.
Moving forward with these short-term codebase updates, which mainly focus on improving Ethereum’s network throughput, may now be more of a priority as the Ethereum 2.0 upgrade might not go live until 2020. This, according to Schoden who has said that Ethereum’s developers “started panicking and saying ‘Hey, we really need to find intermediate solutions’.”
Ethereum Blockchain 2.0 At A Glance
Although the Ethereum 2.0 roadmap is not set in stone, the core specifications for Ethereum 2.0 client validation (developed so far) are always available as it is an open-source project. However, these are still a work-in-progress. Moreover, Client validation for Ethereum 2.0 has been divided into the Beacon Chain phase 0 and the Shard Data Chains phase 1.
Casper Friendly Finality Gadget (FFG) and Beacon Chain (a “system chain” to “store and manage a registry of validators” as the transition is made from Ethereum 1.x to 2.0) are the two main sets of changes that will form part of Ethereum’s proof-of-stake (PoS) consensus mechanism, which is expected to replace its current PoW-based protocol.
Design goals for Ethereum 2.0 include “minimizing complexity” of the network, even if it results in some loss in its efficiency. Another important design consideration is that during updates such as “major network partitions”, the Ethereum network should remain operational. Because quantum computers that can challenge modern cryptography are only five to ten years away (according to estimates by most scientists), a key design goal for Ethereum 2.0 is to make the Ethereum blockchain “quantum secure”, or in other words, quantum resistant.
Changes that are included as part of Ethereum 2.0 will also aim to allow for a “larger participation of validators.” To allow for more equal participation, “a typical consumer laptop with O(C) resources [may only] process/validate O(1) shards.” Sharding is a type of database partitioning scheme that divides enterprise-level databases into smaller pieces called data shards, so that the data can be processed more quickly.
zk-SNARKs, “Fraud” & “Data Availability” Proofs
Notably, Ethereum co-founder Vitalik Buterin had said in September that Zcash’s zk-SNARKs cryptography could be used to help the Ethereum network scale to process 500 transactions per second (TPS). Buterin also co-authored a research paper with two Ph.D. students (published September 24th) at the University College London, which concluded that integrating “fraud” and “data availability” proofs are key to achieving on-chain scalability.
Although both zk-SNARKs and data availability proofs are areas Buterin has explored in an effort to allow Ethereum to scale effectively, while also looking for ways to improve Ethereum’s network security, he has admitted that there have been many occasions when he’s gone off on “long tangents.” At present, there don’t appear to be any concrete plans regarding how to proceed with zk-SNARks or availability proofs.
NEO’s Ongoing Development Efforts
Plans regarding upgrades to the NEO platform seem to be broadly similar to that of Ethereum, as the founders of NEO aim to maximize the platform’s security while also taking measures to allow for more transactions per second (throughput), so that NEO is better equipped for building and deploying enterprise-level software applications.
NEO Blockchain 3.0
On July 10th, 2018, NEO’s developers announced that they would upgrade the platform to NEO 3.0. According to the dApp-focused platform’s founders, the changes that will go into effect with NEO 3.0 will be instrumental in improving the NEO “Smart Economy”, a term used to refer to the integration of users’ digital identity, their digital assets, and the smart contracts they’ve issued.
As mentioned, the NEO 3.0 upgrade will focus on large-scale enterprises and according to the NEO co-founder Erik Zhang: “NEO 3.0 will be an entirely new version of the NEO platform, built for large-scale enterprises use cases. It will provide high TPS and stability, expanded APIs for smart contracts, optimized economic and price models”, among other features.
Entirely Re-Designing NEO’s Core Modules
Importantly, the NEO 3.0 codebase modifications will entirely re-design NEO’s code modules (or main software libraries), so that the network can handle an order of magnitude more than the current 1000 TPS. In order to increase TPS, the NEO protocol will be optimized by implementing dynamic sharding and a permissioned system for the platform’s smart contracts.
Adjustments will also be made to NEO’s Smart Economy model to accommodate the requirements of large-scale firms. These changes (that will come with NEO 3.0) include making NEO tokens divisible, as they currently are not. Because GAS, one of the native tokens used on the NEO platform, cannot be divided when paying transaction fees, it can be challenging to use indivisible tokens as units of account.
Using GAS As “Internal Inflationary Currency”
Some key changes to how GAS tokens will work in NEO 3.0 are using them as an “internal inflationary currency”, as there will be a small increase in the total supply of GAS tokens each year. Consensus nodes, or validators, on the NEO blockchain network will be rewarded with a portion of these new divisible GAS tokens. Having divisible GAS tokens will make it more practical to pay for system usage fees, as decimal payments will be possible.
Commenting on the proposed changes to NEO’s Smart Economy, Malcom Lerider, the senior research and development (R&D) manager at NEO, said that increasing the GAS supply each time network validators are compensated could be potentially harmful. Lerider explained that NEO’s validating nodes could begin to act in ways that would manipulate prices for maximizing profits.
Voting For Consensus Nodes, Rewarding Nodes With GAS
At present, NEO’s consensus nodes are responsible for generating new blocks and determining network usage fees. The validating nodes are selected by NEO Community voters who usually vote for validators that charge the lowest transaction fees. There have been times, in NEO’s voting history, when nodes that charged higher service fees were consistently voted out. Furthermore, there are some NEO stakeholders that make generous donations to their favorite validators.
So, Lerider and other researchers have argued that if GAS is used to reward consensus nodes, it could be harmful to NEO’s holders. However, those recommending that GAS tokens be paid to validators say that this would be in the best interests of the NEO ecosystem. Currently, GAS is a deflationary token, so it motivates users to hold it instead of using it for transactions. But since GAS was created as a utility token for the NEO network, it should be utilized instead of kept in the form of an investment.
Similar to how future upgrades for the Ethereum blockchain and other decentralized projects have to be approved by the platform’s community members, the proposed changes that are part of the NEO 3.0 upgrade (and other recommended updates) will only be activated if the NEO community decides to do so.
More Updates On Business Activities
In future articles on Ethereum Vs NEO, we shall provide more updates regarding the ongoing development efforts of both platforms. We will also go into more detail about specific network design and architecture changes for both platforms, and important business activities for Ethereum and NEO.