We recently covered some of the updates that were taken place on the Ethereum network. Known as the Metropolis hard fork, the upgrade has been long awaited and there have constantly been revisions to the roll out in both timeline and scope.
There is much anticipation for the upgrade and hard fork as well as the impacts it could have on the speed and security of the network. However, there are people including developers at the Ethereum team who are cautious about the new technology.
Ethereum isn't safe or scalable. It is immature experimental tech. Don't rely on it for mission critical apps unless absolutely necessary!
— Vlad Zamfir (@VladZamfir) March 4, 2017
Given that Ethereum has grown so fast and with a large amount of money at stake, there are concerns about the potential impact of this particular upgrade. This is why the developers have taken so long to actually get to the business of moving onto the next step of their rollout plan.
The Ethereum team is claiming that they would rather err on the side of caution and as such have been taking their time. There is, however, quite a bit of consternation as to when exactly it is going to be rolled out. According to the discussion on the topic in a reddit post, there are views that it could even get pushed into next year.
There have of course, also been some changes to the underlying code since the roadmap was first announced by back in 2015. The upgrade will now be split into two steps called Byzantium and Constantinople.
The Byzantium upgrade will involve a total of nine Ethereum Improvement Protocols (EIPs) or code patches. This will include things such as the difficulty delay feature, “static call” operations and difficulty adjustments.
These appear to just be minor changes to the manner in which the network functions and to eliminate the potential for any security exploits. The impact of these changes won’t be immediately obvious to non-developers. Despite this, these updates are quite important for security and efficiency.
For example, there are a number of upgrades to the way in which smart contracts are going to be executed particularly as it relates to faulty code. These contracts will fail if there is any fault in the underlying code. It will also allow for the ability for contract upgrades to be included in the original code. These contracts will also include protections against something called a re-entrancy attack.
The feature for embedding the transaction return data will allow light clients to ascertain whether a transaction was successful without actually having to execute the smart contract itself.
The Ethereum developers are also trying to delay the difficulty time bomb that is expected to kick in across the network. This was done so that the transaction times do not become extremely long and impeded on the network. They are also implementing another miner fix to the difficulty timebomb which will hopefully keep the block time more stable.
Byzantium will also be decreasing the block reward that is given to the miners for solving the block. The hope is that this will eventually decrease the cost and speed of the Ethereum mining.
The metropolis hard fork also involved the implementation of zk-snarks. These are being implemented in order for genuinely private transactions to eventually occur on the network. This is being done in collaboration with the developers at Z-Cash which is a privacy conscious crypto currency. They Ethereum Dev team is taking the first step to this implementation through the use new precompiles.
There is currently no release date that has been set for constantinople. This will be the second Metropolis hardfork that will include a number of other EIP upgrades. Some of the assumptions in the original Ethereum code could have been compromised if these changes were indeed pushed through.
EIP 96 is currently being planned which will eventually allow for the use of lighter clients. This is because it will greatly simplify the manner in which transactions are evaluated. Current protocol requires the evaluation of the current state of the blockchain as well as the last 256 blocks.
Unfortunately, it seems as if EIP 86 is still a long way off. This is because it is indeed one of the most impactful yet complicated EIPs. It wants to allow accounts to be more flexible so that new users can define their own security model.