1. 以太坊2.0-POS共识机制
February 27th, 2023

自从2022年以太坊1.0完成与信标链的合并后,以太坊正式放弃了POW(proof-of-work)共识机制,转而拥抱POS(proof-of-stake)共识机制,升级后的Ethereum也被称为ETH 2.0。姑且不论POS与POW哪种方案更加去中心化(尚有争议),但转向POS后的以太坊大大减少了对能源的消耗,在当今碳中和大背景下,不失为明智之举,且引入POS后的以太坊对于网络容量的扩展也更加友好,为了更好的理解,下面先为大家简单介绍一下POW共识机制是如何运作的

以太坊POW共识机制简介

简单来说,在POW机制下,区块链中的各个全节点(矿工)是通过解一道非常难的数学题来争取记账权,谁先计算出答案,谁就可以将答案连同新区块率先通过P2P(peer-to-peer)网络广播,让其他矿工知道,已经有人找到了答案并发布了新区块,这时,其他矿工就会将新区块中的每笔交易、数学题答案、签名都完整验证一遍,如果没问题,大家就会达成一个共识:承认这个新区块的有效性,同时也就承认了解对这道题的矿工拥有这个区块记账权,该矿工获得出块奖励,之后,大家就会进入下一轮的解题大赛。由于解对题的时间并不固定,所以区块的出块间隔并不固定,但会有一个数学题的难度调整机制,帮助出块间隔大概稳定在15秒的水平上

以太坊POS共识机制介绍

POS机制下,矿工需要在以太坊的智能合约中质押32个ETH申请成为验证者,并且需要在本地运行三个独立的软件:execution client(执行客户端), consensus client(共识客户端), and validator(验证者客户端),在排队结束后,即可进入P2P网络,接收新产生的区块,并将新区块中的交易记录在本地全数执行一遍,检查签名是否正确,如果没有问题,验证者就会发出投票(attestation)支持这个新的区块

那么POS机制下如何决定谁拥有记账权呢?

POS下矿工不再需要通过解数学难题来获得记账权(即发布新区块并获得奖励的权利),此时记账权由系统随机挑选产生(需要注意:区块链中的随机数基本都是伪随机数,因为要保证每个节点计算出的这个“随机数”都一致),且出块间隔也被固定在了1个slot(12秒),每32个slots为一个epoch,同时,在每个slot中,系统会随机选择一个验证者委员会(committee of validators,由最少128个验证者组成),委员会的投票结果会决定新产生区块是否有效。每个epoch的第一个区块为这个epoch的检查点,在每个epoch结束后,也需要同步委员会(sync committees)来为这个epoch的“有效性投票,若是投票通过(至少2/3)则这个检查点状态变为“Justified”,此时,上一个epoch的检查点升级为“finalized(最终完成)”,所以,一笔在ETH 2.0中的交易会在2个epochs以内被最终确认,即:

(12 × 32 × 2) / 60 = 12.8min

以上就是验证者在ETH 2.0中所扮演的角色,下面我们详细来讲一讲一笔交易在ETH 2.0中是如何被处理的:

  1. 用户通过钱包软件(大多数情况下)发起一笔交易,用私钥对交易签名,但从底层来看,实际上是通过JSON-RPC API来向节点发起一个请求

  2. 交易被提交至节点的以太坊的执行客户端,来验证其有效性,其一验证是否有足够的ETH来完成这笔交易,其二验证该笔交易的签名是否正确

  3. 如果交易没问题,执行客户端会将该笔交易放入本地的内存池(mempool: list of pending transactions),并通过执行层的网络,将该笔交易广播给其他节点

  4. 被伪随机选出的验证者作为新区块的产生者,其执行客户端会在本地处理交易,并将数据打包好,准备作为信标链的一部分,之后同共识客户端通信,来确保整个网络对新区块的产生达成共识

  5. 其他节点通过共识层网络收到这个新的信标链区块后,会讲该区块传递给本地的执行客户端,并将里面的交易全数执行一遍来确保交易的有效性,同时也同步了本地的数据,如果没问题,该节点的验证客户端会进行投票来支持该区块

  6. 在2个epochs以内,该交易会被升级为“finalized”,表示该交易已被确认,无法被回退了

以太坊POS共识机制的优缺点

  • 优点:相较于POW机制,大大降低了成为全节点的硬件门槛,极大的节约了能源,从安全性上来看,确实有进步,POW下,网络攻击者发动51%攻击后,完全可以带着自己的矿机去挖别的公链,而在POS机制下,想要发动攻击就必须要质押,二者利益绑定程度更高

  • 缺点:虽然降低了硬件的成本,但是对于资金成本的要求依然很高,这就促使出现了Lido这类质押服务提供商,在DVT(Distributed Validator Technology)技术没有落地之前,这反而促进了中心化,其次,POS的机制上线时间还不够长,还需要经历更多的考验来验证其安全性

Subscribe to damian-dyor.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from damian-dyor.eth

Skeleton

Skeleton

Skeleton