Istanbul hard fork is coming, but Ethereum 2.0 is still 10,000 miles away

Author: Adeline

Article Source: Hash Pie

According to the Ethereum Foundation, the hard fork upgrade in Istanbul is expected to occur around December 7, 2019, just like the previous hard fork upgrades in Constantinople and Byzantium. This upgrade It also improves the overall performance by changing the underlying Ethereum protocol. However, like the "urine" which has been repeatedly delayed before the previous upgrades, the hard fork in Istanbul still has its twists and turns.

According to official Ethereum news, the Istanbul Hard Fork was originally scheduled to activate Ethereum testnets such as Ropsten and Görli on August 14, and it is expected to be upgraded on the mainnet on October 16, 2019.

However, in the Ethereum conference call on August 15, core developer Péter Szilágyi pointed out that the goal needs to be postponed for two weeks, and the possibility of postponing it again on September 4 is not ruled out. The most controversial ProgPOW algorithm will be delayed until the next upgrade. [1]

During a subsequent Ethereum conference call on September 6, Foundation Community Manager Hudson Jameson stated that due to a large number of Ethereum Improvement Suggestions (EIP) submissions for review, the activation of the Ropsten test network was postponed to around October 2, and the activation of the mainnet It will be postponed until November. [2]

On September 30th, Hudson Jameson, the community manager of the Ethereum Foundation, said that the test network Ropsten had arrived early at 3:40 UTC on September 30 due to the unusually fast block confirmation time.

On October 25, Tim Beiko, product manager of PegaSys Protocol Engineering, tweeted that the current team has reached a preliminary consensus. The Ethereum Istanbul hard fork date is set to December 4th. In case of emergency, January 8th is set as a backup. date.

On November 20th, an official Ethereum blog posted that the Ethereum network will be upgraded at a block height of 9,069,000 as planned. The time is expected to happen on Saturday, December 7, 2019. The specific upgrade date and time may change due to the block production speed. [3]

The frequent upgrades and the delay in the highly-watched EIP-1884ProgPoW proposal have caused many people to worry about the subsequent ecological development of Ethereum. Because from the beginning design level, the Istanbul hard fork is Ethereum passing through the original Frontier, Homestead, and now the Metropolis phase to the Serenity phase (Ethereum 2.0 ) Before the last hard fork.

Although the recent Ethereum Foundation researcher Danny Ryan has publicly stated that the Ethereum 2.0 zero-phase plan will be launched in the first quarter of 2020, but the story of the "wolf is coming" repeatedly upgraded and staged makes this "plan" look pale. .

At the same time, after collating the recent public statements of various developer conferences and some researchers, we found that regardless of the usual delay of urine of Ethereum, based on the current research and development situation, it is still a long way to fully realize Ethereum 2.0. .

"Quietness" is coming?

First, according to the introduction on EthHub, Ethereum 2.0 is a series of development specifications that can significantly improve system performance. In version 2.0, sharding technology (Casharding), Casper protocol (POS consensus mechanism), and state lease are provisionally deployed. (State Rent) and eWASM, an EVM upgrade project for EVM. [4]

This version will be delivered in phases, and each phase will build on the previous phase:

Phase 0: Beacon Chain

In the Ethereum 2.0 delivery plan, the first target that needs to be achieved is the beacon chain. The beacon chain will use the proof-of-stake mechanism Casper the Friendly Finality Gadget (Casper FFG) [5] to realize the transition from POW (proof of work) to POS (equity of equity). Proof) transition. This phase allows validators to participate in the pledge system, replace miners to become the builder of the chain, and provide the foundation for the sharding scheme.

Phase 0 beacon chain introduction screenshot Source: Github

So far, Ethereum 2.0 implementation teams such as Prysm, Nimbus, and Lighthouse have established a single client test network that supports the beacon chain stage. According to V God, seven single client development teams have already achieved interoperability between clients in early September.

In addition, before the mainnet is launched, a test network that supports multiple clients is required to enable BETH (Beacon Chain ETH, which is Ethereum 2.0 tokens) to transfer funds between different accounts. On November 9th, as a member of Prysmatic Labs, the construction team of Ethereum 2.0, Danny Ryan said that it will take at least two weeks for the cross-client testnet to be released, and the testnet will need to run for at least three months. At this time, it is estimated that the cross-client testnet can be successfully launched next month before it can be launched on the mainnet stage 0 as scheduled in February or March 2020 to create the beacon chain genesis block.

However, since the implementation of Phase 0 and the formulation of specifications are advanced at the same time [6], after the implementation of interoperability, the phase 0 specifications that have been frozen [7] have been finalized and completely thawed , and the latest 0.9.2 version [8] ]. Before the specification can be re-frozen , it needs to be determined, implemented and audited in many Ethereum 2.0 clients. Ethereum is a huge open source project, and its decentralized nature makes the R & D specifications a bit confusing and unorganized, and the research team lacks coordination. Various situations caused the team to waste a lot of time when responding to changes in the specifications. Therefore, the above-mentioned "cross-client testnet launch as scheduled" still has a question mark.

Phase 1: Shard Chains | Time to be determined

In phase 1, shards without virtual machine EVM will be built to provide large-scale scalability for the Ethereum network in the form of shard chains [9].

Screenshot of phase 1 shard chain introduction Source: EthHub

The way forward in Phase 1 is also going through some overthrows and comebacks . In June, most of the specifications for Phase 1 were nearing completion [10]. But in October, V God released a simplified proposal for the Eth2 shard chain [11], which proposed to reduce the number of shards to accelerate the implementation of the shard project. According to this proposal, Ethereum developers reduced the number of shards from 1024 to 64 at the last minute . Currently, Phase 1 is doing the work of transforming the simplified shard chain scheme proposed by V God into a canonical form [12].

In addition, according to the public remarks by Will Villanueva, a developer of the Ethereum development team Quilt, on a podcast show on November 24th, the specifications for phase 1 may be finalized after the specifications for phase 0 are completed, but the exact time cannot be determined .

Phase 2: State Execution | Time to be determined

In essence, Phase 2 is the "execution layer" of the entire system. It enables the shard chain to transition from a simple data container to a structured state, and introduces smart contracts. Each shard will manage an eWASM-based virtual machine. The focus of this phase is the execution engine, account model, etc., which will enable state execution and computation.

Phase 2 introduction screenshot Source: EthHub

At this stage, it is still under active research and development, there is no formal specification [13], and no team can predict when the mainnet can be released. However, according to news from unitimes, on April 7th, Ethereum core developer Casey Detrio released some new ideas for Phase 2 on ethresear.ch [14], which made the ever-changing Phase 2 possible. With a foothold, V God then released the first proposal [15] and simplified proposal [16] of Phase 2 , hoping to build a lightweight Layer1 protocol, and then focus on Layer2 in the shard chain.

On November 20th, Will Villanueva published a long article on the progress of Eth2.0 Phase 2 [17], which elaborated the concept of execution environment (EEs) and how to achieve the transition from Eth1 to Eth2. Subsequently, Will Villanueva publicly stated on November 24 that three teams including its Quilt team are currently working on Ethereum 2.0 Phase 2.

However, the implementation of Phase 2 is not simple. According to Will Villanueva's article, so far, although initial thoughts have been made on stage 2 and there has been great progress in the recent expansion of stateless clients, how to develop benchmarks and technology prototypes for sharding and how to There are no clear answers to the challenges of constructing smart contracts in eth2's execution environment.

Except, there are many uncertain factors in the process of Ethereum 2.0

First of all, we mentioned the issue of collaboration between implementation teams above. Taking issue # 358 as an example, 35 fields were renamed, but Github's discussion forum did not receive any feedback from implementers. These situations have led to chaos, which has led to a lot of time being wasted.

At the same time, the funding of the development team is worrying . According to a report by blockchain software consulting company Kyokan's Matthew Slipper & Dan Tsui [18], the nine Ethereum 2.0 research teams have shown unlimited enthusiasm for development, but this enthusiasm has released It is vulnerable to market reality. Because the source of the team's operating funds is single, once the Ethereum Foundation runs out of funds, or the entities that mainly support these teams (such as ConsenSys or Status) cancel their support for them, then these teams may have to suspend development .

Coupled with the recent "backyard fire" in Ethereum, Virgil Griffith of the Ethereum Foundation was arrested on November 30 by the U.S. authorities for violating U.S. sanctions laws due to traveling to North Korea to participate in the "Pyongyang Blockchain and Cryptocurrency Conference". Then God V clarified that Virgil Griffith's visit to North Korea was a personal act, and the Ethereum Foundation did not provide any form of support, and prepared a petition for the release of Virgil Griffith. This will undoubtedly cut the Ethereum Foundation from this, so as not to be implicated. But Virgil Griffith is a co-developer of Casper FFG, the consensus mechanism of Ethereum 2.0. As an important developer of the Ethereum project, its impact on the subsequent development of Ethereum is also worrying.

Therefore, although Joseph Lubin, the founder of Ethereum startup ConsenSys, stated at Devcon V at the developer conference, Ethereum 2.0 Phase 0 will start in the first quarter of 2020, and Phase 1 and Phase 2 will be launched at the end of 2020 at the same time. However, issues such as collaboration between teams and funding issues for the development team have made Ethereum's subsequent development even more confusing. In addition, there is no formal specification for stage 2. According to the repeated amendments and adjustments of stage 0 specifications, it is expected that after stage 0 enters the test, Phases 1 and 2 may require at least one year of development time, which also makes the advent of Ethereum 2.0 far in the future.

Links involved in the article:

[1] https://github.com/ethereum/pm/issues/119

[2] https://github.com/ethereum/pm/issues/123

[3] https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/

[4] https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-phases/#introduction

[5] https://vitalik.ca/files/casper_note.html

[6] https://hackernoon.com/what-to-expect-when-eths-expecting-80cb4951afcd

[7] https://github.com/ethereum/eth2.0-specs/releases/tag/v0.8.0 [8] https://github.com/ethereum/eth2.0-specs/releases/tag/v0 .9.2

[9] https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-phases/#what-is-included_1

[10] https://github.com/ethereum/eth2.0-specs#phase-1

[11] https://notes.ethereum.org/KbEyHiaSRQW_KS7dDK0OFw

[12] https://github.com/ethereum/eth2.0-specs/pull/1483

[13] https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-phases/#phase-2-state-execution

[14] https://github.com/ethereum/eth2.0-specs#phase-2

[15] https://ethresear.ch/t/phase-one-and-done-eth2-as-a-> [16] https://ethresear.ch/t/a-layer-1-minimizing-phase -2-state-execution-proposal / 5397

[17] https://ethresear.ch/t/proposed-further-simplifications-abstraction-for-phase-2/5445

[18] https://docs.google.com/document/d/1PS0k9MaKPdPwEw3Uh9rq7USjq7LcSpT6ICQUXRij4YE/edit