了解0阶段,ETH 2.0发展的现状阶段

Quantstamp Labs
June 3, 2020

You may have heard that progress is being made in ETH 2.0 development: however, you may have questions regarding where we are in this development process. Most of the information available is either highly technical or excessively general, so we created this post to clear up any confusion.

We are currently in Phase 0, the phase in which the Beacon Chain, the heart of ETH 2.0’s Proof-of-Stake (PoS) system, is tested and launched. This post will explain the role of the Beacon Chain and the work that is being done to get us to its official launch. 

What is the purpose of the Beacon Chain?

One of the goals of ETH 2.0 is to divide the work of processing and storing transactions amongst shards in order to scale transaction capacity. Shards are desirable because, currently in ETH 1.0, every full node is required to validate all Ethereum transactions and store the entire state of Ethereum. This means that every full node is managing all economic activity on Ethereum. 

Considering that Ethereum aims to host all economic activity worldwide, storing the world’s economic activity on every single full node presents challenges. As the state continues to grow on ETH 1.0, it becomes less accessible to run a full node which means Ethereum would become less decentralized. Also, although Ethereum has not achieved mainstream adoption, it is already reaching transaction capacity limits.

With ETH 2.0, shards will relieve these limitations by coordinating and finalizing data through the Beacon Chain. The Beacon Chain serves as the source of truth. 

The Beacon Chain uses PoS to reach consensus and finalize shard data

The Beacon Chain will use PoS in order to validate shard data. In PoW blockchains, miners are incentivized to be good actors because, if they choose to attack the network by mining on a fork, they will be unable to collect the block rewards and transaction fees necessary to cover sunken costs like electricity and mining equipment. 

The Beacon Chain changes how security and data validation works on the blockchain. Instead of securing the blockchain via the inability for miners to pay off sunken costs, security is enforced by deleting or “burning” ether belonging to validators. In order to be eligible to validate ETH 2.0 and earn ether for doing so, potential validators first need to submit (aka stake) at least 32 ETH to the system. If a validator attempts to submit false data to the network or if they are offline for too long, some or all of the ether that they previously submitted to the network is deleted. 

What is the status of Phase 0 development

Launching the Beacon Chain is a delicate endeavor. In order to make sure that this is a smooth process, developers are testing client implementations that follow these Beacon Chain specifications.

Clients are the heart of decentralized systems because they eliminate central points of failure. In ETH 1.0, full clients eliminate central points of failure by:

The current phase of ETH 2.0 development centers on various independent teams developing and testing these clients. Prysm, the ETH 2.0 client that is being audited by Quantstamp, is a client developed by Prysmatic Labs. This client is currently being tested in the Onyx testnet, where any individual can download the client and run the mock ETH 2.0 Beacon Chain. The purpose of this testnet is to detect problems that may occur when Prysm clients share messages about the current state of the Beacon Chain. 

A timeline containing recent Phase 0 milestones. Before the genesis of the Onyx testnet (not shown above), Prysm was tested on Topaz. Prysm is now tested on Onyx because this test blockchain is using the latest ETH 2.0 specification that is aimed to be used in mainnet.

Keeping ETH 2.0 safe with multiple implementations

In order for ETH 2.0 to thrive in the wild, it needs multiple clients to be active at the time of the Beacon Chain launch. If we rely on a single client, a single bug in that client can have devastating effects on the network, including throwing the network out of consensus or preventing blocks from being finalized. 

With numerous client implementations, a bug in a single client is much less likely to have a devastating effect on the network. If a bug were to be found in a single client, this client would fall out of consensus, but the network would continue to operate and finalize transactions because other clients are unlikely to contain the exact same bug. In other words, the other clients would maintain consensus. Multiple clients enhance network security. 

The goal of a testnet is to simulate an environment that replicates real-world conditions that the Beacon Chain will experience once it hits mainnet. In order to see if any bugs reveal themselves when multiple clients share messages (blocks, transactions, etc), ETH 2.0 client implementations are actively speaking to each other in multi-client testnets. 

Schlesi, the first multi-client testnet, launched on April 27th and, at one point, had 4 synced client implementations operating the testnet Beacon Chain including: 

On May 17th, a consensus bug in one of the clients caused a fork in the Schlesi multi-client testnet. After the bug was discovered, client developers decided to end the Schlesi testnet and start a new multi-client test network from block 0 called Witti. It should be noted that finding bugs in testnets is a normal part of the development process. Many such bugs were found in ETH 1.0 testnets before Ethereum was officially launched. 

The number of validators and staked ether on the Witti Testnet. Source

Launching the Beacon Chain and beyond

ETH 2.0 is expected to launch before the end of the year, but this is not a hard deadline. The Beacon Chain will not be launched until multi-client testnets demonstrate stability for a sufficient period of time.

Once the Ethereum community achieves a certain level of social consensus regarding this stability, the Deposit Contract will be published on ETH 1.0. The role of the Deposit Contract is to collect stakes from potential ETH 2.0 validators so that they are eligible to validate data on the Beacon Chain. Once a predetermined quantity of ETH has been deposited, the Beacon Chain will activate and blocks will be produced. 

The launch of the Beacon Chain will mark the end of Phase 0. After the Beacon Chain is launched, both ETH 1.0 and 2.0 chains will exist in parallel for a time. ETH 1.0 will eventually become a shard in the ETH 2.0 system.

Quantstamp will be covering future developments in ETH 2.0. Follow us on Twitter and visit our blog to stay up to date!

Update [Nov 24, 2020]

The Deposit Contract was successfully deployed on October 14th, 2020. On November 23rd, 2020, the Deposit Contract surpassed the threshold necessary (524,288 ETH) to launch the Beacon Chain. The Beacon Chain genesis will take place on Dec 1st!

Quantstamp 实验室

您可能听说过ETH 2.0的开发正在取得进展:但是,您可能会对我们的开发进程有疑问。大多数可用的信息要么是技术性很强,要么是过于笼统,所以我们创建了这篇文章来澄清任何困惑。

目前我们正处于0阶段,也就是ETH 2.0的核心--信标链(Proof-of-Stake,PoS)系统的测试和启动阶段。这篇文章将解释Beacon Chain的作用,以及我们为正式推出Beacon Chain所做的工作。 


ETH 2.0的目标之一是将处理和存储交易的工作分配给shards,以扩大交易容量。分片是可取的,因为目前在ETH 1.0中,每个完整节点都需要验证所有的Ethereum交易,并存储Ethereum的整个状态。这意味着,每个完整节点都在管理Ethereum上的所有经济活动。 

考虑到Ethereum的目标是承载全世界所有的经济活动,将全世界的经济活动存储在每一个完整的节点上就会带来挑战。随着ETH 1.0上状态的不断增长,运行一个完整节点的机会越来越少,这意味着Ethereum将变得不那么分散。另外,虽然Ethereum还没有实现主流应用,但它已经达到了交易能力的极限。

有了ETH 2.0,碎片将通过Beacon Chain来协调和最终确定数据,从而解除这些限制。信标链作为真理的来源。 



烽火链改变了区块链上安全和数据验证的工作方式。不是通过矿工无法支付沉没成本来保障区块链的安全,而是通过删除或"燃烧"属于验证者的乙醚来加强安全。为了有资格验证ETH 2.0并以此赚取乙醚,潜在的验证者首先需要向系统提交(也就是股权)至少32个ETH。如果验证者试图向网络提交虚假数据,或者离线时间过长,他们之前提交给网络的部分或全部乙醚将被删除。 


启动Beacon Chain是一项微妙的工作。为了确保这是一个顺利的过程,开发人员正在测试遵循这些Beacon Chain规范的客户端实现。

客户端是去中心化系统的核心,因为它们消除了中心故障点。在ETH 1.0中,完全客户端通过以下方式消除中心点故障:

现阶段ETH 2.0的开发中心是各个独立团队开发和测试这些客户端。正在审核的QuantstampETH 2.0客户端Prysm是由Prysmatic Labs开发的客户端。该客户端目前正在Onyx testnet中进行测试,任何个人都可以下载该客户端并运行模拟ETH 2.0信标链。这个测试网的目的是检测普睿司曼客户端共享信标链当前状态时可能出现的问题。

包含最近0阶段里程碑的时间表。在Onyx测试网诞生之前(上面没有显示),Prysm是在Topaz上测试的。Prysm现在在Onyx上进行测试,因为这个测试区块链使用的是最新的ETH 2.0规范,旨在用于主网。

用多种实现方式保证ETH 2.0的安全

为了让ETH 2.0在野外茁壮成长,它需要在Beacon Chain推出时有多个客户端活跃。如果我们依赖单一客户端,该客户端的一个bug就会对网络产生破坏性影响,包括使网络脱离共识或阻止区块的最终确定。 


测试网的目标是模拟一个环境,复制信标链进入主网后将经历的真实世界条件。为了查看当多个客户端共享消息(区块、交易等)时是否有任何bug显露出来,ETH 2.0客户端实现正在多客户端测试网中积极地相互对话。 

Schlesi是第一个多客户端的testnet,于4月27日推出,一度有4个同步的客户端实现操作testnet Beacon Chain,包括。 

日,其中一个客户端的共识bug导致了Schlesi多客户端测试网的分叉。发现这个bug后,客户端开发者决定结束Schlesi测试网,从0区块开始建立一个新的多客户端测试网,名为Witti。需要注意的是,在测试网中发现bug是开发过程中的正常现象。在Ethereum正式推出之前,在ETH 1.0测试网中就发现了许多这样的bug。

威帝Testnet上的验证者和桩醚的数量。 资料来源


ETH 2.0有望在年底前推出,但这并不是一个硬性期限。在多客户端试验网展示出足够长的时间的稳定性之前,不会推出Beacon Chain。

一旦Ethereum社区对这种稳定性达到一定程度的社会共识,押金合约将在ETH 1.0上发布。存款合约的作用是向潜在的ETH 2.0验证者收集赌注,以便他们有资格验证信标链上的数据。一旦存入预定数量的ETH,信标链将被激活,区块将被产生。 

烽火链的推出将标志着0阶段的结束,烽火链推出后,ETH 1.0和2.0两条链将并行存在一段时间。ETH 1.0最终将成为ETH 2.0体系中的一个碎片。

Quantstamp 将报道ETH 2.0的未来发展。请在Twitter上关注我们,并访问我们的博客以了解最新情况


2020年10月14日,定金合约成功部署。2020年11月23日,押金合约超过了启动Beacon Chain所需的门槛(524288 ETH)。烽火链发源将在12月1日进行!

学习如何为ETH 2.0测试网运行验证器。
November 11, 2020

Quantstamp Community Update - October 2020

‍Audit of Ethereum 2.0 client Teku, blockchain insurance, Open DeFi, virtual events, and more media coverage... here’s what happened at Quantstamp in October.‍

November 5, 2020

Why Bitcoin is Capturing Enterprise Attention

MicroStrategy made headlines this summer as the first publicly-traded company to buy Bitcoin as part of its capital allocation strategy. Since then, other companies have followed suit. Learn how current economic conditions and the unique properties of Bitcoin have driven these decisions.

October 28, 2020

Formally Verifying Hedera Hashgraph's Stablecoin Framework

Quantstamp created and formally verified a specification for Hedera Hashgraph stablecoins. This simplifies the process of creating safe stablecoins and also makes easier for partners to safely integrate them.

October 27, 2020

Quantstamp Completes Audit of 2nd ETH 2.0 Implementation

Quantstamp has now completed its audit of Teku, the Ethereum 2.0 client developed by ConsenSys. Quantstamp also audited Prysm by Prysmatic Labs.