Constantinople: How Ethereum is Changing Blockchain.

Gravatar for matthewbonwick@gmail.com

Matthew Bonwick

alt text

2018 is over, and what a year it was for crypto! In January John McAfee was predicting a one million dollar Bitcoin evaulation by 2020, and crypto investors were paying hundreds of thousands of dollars for the rights to own digital cats on CryptoKitties. Fast forward 12 months, and long gone are days of ICO mania, where every industry you could imagine was “on the cusp of disruption” from blockchain.

Not all is as lost as Nouriel Roubini would have you believe. Behind the hype, thousands of developers are hard at work bringing more usable, decentralized networks to fruition.

We’re going to explore the shortcomings of Ethereum so far, the Constantinople hardfork, and how the upcoming changes will alleviate some of the problems associated with commercial and enterprises' hesitation to adopt the technology.

Why Such Limited Adoption?

The main issues holding back enterprise adoption thus far have revolved around scaling, security and privacy.

Scaling

Ethereum has been criticized most harshly for its speed, especially from competing networks. While it's still faster than Bitcoin, the main-chain as it stands can only process about 15-20 transactions per second. This is fine for the time being, but as witnessed last year, it is nowhere close to meeting the demand that would come along with wider adoption. A single high traffic dApp was enough to congest the network! Improving on-chain scalability without giving up on the principles that make Blockchain data structures alluring in the first place is no easy task, Ethereum Improvement Proposals 145, 1052, and 1283 aim to smooth data processing overall.

On-chain Scaling

ethereum casper sharding validator
In Proof-of-Stake it is much easier for the average user to become a validator in the network.

Processing data on-chain refers to the speed at which data can be synced across a network and reach consensus. Though faster than the Bitcoin Network, Ethereum still lags far behind the capacity needed to host an ecosystem of high demand decentralized applications. The problems lie in the nature of data-centric distributed networks, as the network expands, a bottlenecking effect is felt as the increasing number of nodes that join the network all need to reach consensus. Maintaining decentralization while scaling has proven a difficult challenge.

The proposed solutions are:

  • Transition proof-of-work to proof-of-stake: This has lower electricity cost and validators will be able to process blocks much faster.
  • Use sharding: An extremely simple explanation for this is that it groups parts of the blockchain into shards and specific nodes will process transactions for particular shards, thus greatly reducing congestion in the network.

Off-chain Scaling

raiden
The Raiden Network allows for fast "off-chain" Ethereum transactions.

Processing data off-chain is a scaling solution being pursued by the Bitcoin Core development team. The Lightning Network aims to scale up the transaction capacity of Bitcoin far past what even Visa can do. In regards to Ethereum, 2nd layer technology is already well under development. The flexibility of 2nd layer payments allows for a greater range of utility and the efforts of projects like Plasma and Raiden Network are making this solution possible for Ethereum as well. Ethereum Improvement Proposal 1014 will improve upon a scaling solution based on state channels and “off-chain” transactions.

Security

DChilIRVoAQpoVK
A flaw in the DAO's code allowed millions of Ether to be siphoned from the smart contract.

A flaw that was exposed in the early days of Ethereum was smart contract security. The DAO was intended to be a crowdfunding application run entirely by code. Its first “killer dApp”, this application was supposed to be the first of many disruptive technologies built on Ethereum. Instead, despite various audits and a stellar team of developers, a bug was exploited and millions of dollars worth of Ether were siphoned from the contract.

Afterwards, it was decided that the best course forward was to hardfork and roll back the chain. This decision was met with controversy and caused some developers to leave Ethereum all together. They would continue working on the original, unaltered chain which would eventually become Ethereum Classic. If security can’t be improved there is no way that any large enterprise will use an immutable network for any niche it can serve, the risk would be too large, luckily various efforts are underway to optimize smart contracts.

Privacy

bootcamp sean
Sean Bowe (presenting) of the ZEC company and Vitalik Buterin (seated).

Privacy on Ethereum has been flirted with various times in the past. Currently, the ZEC company (the founding company developing Zcash) and the Ethereum Foundation are closely associated, and plans to implement SNARKs onto Ethereum are dated for some point in the near future. For businesses to ever adopt and transact large amounts of data on a public blockchain, some layer of privacy must be present. For example, if a company wanted to automate their organization's payroll through smart contracts, it's very likely they would want to shield that information from the public’s eye. With zero-knowledge technology, that data can be communicated without revealing anything about the amount being sent. We made up an easy to follow infographic here that outlines the way that zero-knowledge proofs work.

While nothing in Constantinople sticks out as a direct improvement to privacy, the improvement proposals will allow for any potential future implementations to be done so more smoothly than before. Watch for privacy to become a key issue on Ethereum in the coming years!

What's Coming With Constantinople?

The five ethereum improvement proposals set to be released with constantinople are are described below.

  • EIP 145: A technical upgrade written by two Ethereum developers, Alex Beregszaszi and Pawel Bylica, EIP 145 details a more efficient method of information processing on Ethereum known as bitwise shifting. They come in handy when you need to divide or multiply integer values.
  • EIP 1052: Authored by core developer Nick Johnson and Bylica, EIP 1052 offers a means of optimizing large-scale code execution on Ethereum. It will substantially save wasted gas and simplifies the process by which smart contract's can check another contract's bytecode.
  • EIP 1283: Based on EIP 1087, which was written by Johnson, this proposal mainly benefits smart contract developers by introducing a more equitable pricing method for changes made to data storage.
  • EIP 1014: Created by the founder of Ethereum himself, Vitalik Buterin, the purpose of this upgrade is to better facilitate a certain type of scaling solution based upon state channels and “off-chain” transactions.
  • EIP 1234: Championed by Afri Schoedon, release manager for major Ethereum client Parity, this upgrade is the most contentious of the batch, reducing block mining reward issuance from 3 ETH down to 2 ETH, as well as, delaying the difficulty bomb for a period of 12 months.

What's Next?

ethereum 2 01
Ethereum 2.0 aims to transition Ethereum to a usable, decentralized world computer that solves real world problems.

Usability! 2018 has been an amazing year of development for Ethereum, and though there were hiccups, the path forward remains as exciting as ever.

While the changes coming in Constantinople are promising, it is important to note that the ushering in of Ethereum 2.0 is still a while away, and we're only in the second era of Metropolis. Hopefully, just as the city it was named for allowed an empire to thrive and prosper, Constantinople may allow Ethereum to unlock its greater potential on a wider scale and transition its use cases from the conceptual to the usable.

Update

As of writing this post, Ethereum has announced that due to security issues with EIP 1283, the hard fork will be delayaed temporarily.

The vulnerability discovered would allow an attacker to reenter the same function multiple times without updating users, therefore allowing them to withdraw funds.

This vulnerability is specifically at the contract level.


Further Reading

https://www.coindesk.com/constantinople-ahead-what-you-need-to-know-about-ethereums-big-upgrade

https://medium.com/mycrypto/ethereum-constantinople-everything-you-need-to-know-a47f3a16f3d2

https://thenextweb.com/hardfork/2019/01/16/constantinople-ethereum-delayed/


Coinaccord is a Canadian Blockchain Venture Studio that strives to create entirely new and decentralized models on a global scale. As a company run by humans, we want to know if we’ve made a mistake. Do we need to make a correction or do you have a different point of view on the topic? Let us know in our Medium comments.