为了提高区块链的效能、降低能源损耗,以太坊不断推陈出新,让整个区块链世界产生了巨大的变革。随着技术的不断进步,以太坊也将开始向新的高度挑战。让我们一起来探讨这个让人感到振奋的演进过程!
01
2020 年 12 月 PoS 信标链上线
为了将耗能的 PoW 升级至节能的 PoS,以太坊在 2020 年 12 月 1 日时,上线了以 PoS 共识机制为主的以太坊信标链(Beacon Chain)!
PoS 名词解释
在 PoS 中,有些名词会和 PoW 稍微不同!
Block(区块)的概念改为 Slot(插槽)与 Epoch(纪元)。平均来说,每 12 秒会出一个 Slot,而每 32 个 Slot(= 12 秒 x 32 Slot = 6.4 分钟)称为一个 Epoch。
Difficulty(挖矿难度)改为 Slot PrevRandao(或称 Block Randomness 随机数)。
Miner(矿工)改为 Validator(验证者)与负责出块的 Slot Proposer(提议者)。
目前,若要成为 Validator,需使用 Validator 私钥及 Withdrawal 私钥来建置不停机的验证节点,接着将带有以下指定 Data + 32 ETH 的交易打到 Deposit 合约中:
- pubkey(48 Bytes):Validator 公钥,链上唯一识别。
- withdrawal_credentials(32 Bytes):将 Withdrawal 公钥作 SHA256 后,将最左侧 2 位元由 0x00(BLS WITHDRAWAL 前缀)替换而得。
- signature(96 Bytes):由 Validator 私钥向 (pubkey, withdrawal_credentials, deposit_amount) 资料进行签名
- deposit_data_root(32 Bytes):由上述 pubkey、withdrawal_credentials、signature 建立 Hash Tree,并取得其 Hash Tree Root 而得。

△ Slot 与 Epoch、Validator 与 Proposer
成为 Slot Proposer 要做的事
在下一个 Epoch 到来前,每个 Slot 会透过 Randao 随机数指定 1 位 Validator 成为此 Slot 的 Proposer,而他要完成 2 件事!
第 1 件事:建立区块,并让其他 Validator 进行验证及投票。
理想上,Slot Proposer 会在最新的区块后面,直接建置下一个区块,如同 PoW 时期以维持最长链原则。
但实际上,可能会因 P2P 网络延迟、恶意节点尝试攻击等,导致 Slot Proposer 未必能在最新的区块后面建置下一个区块,造成区块链分叉。
这时,需请其他的 Validator 进行区块投票,得票高者即可成为下一个区块。若恶意节点故意在同一个 Slot 时段内建立 2 个区块,则会被施以严重的大幅削减(Slash)处罚(从质押的 ETH 中一次性罚款)并退出网络。
第 2 件事:提出一个随机数种子 S,并公开 Hash(S) 结果。
因为少了过去 PoW 的算力竞争,但直接指定 Proposer 有违去中心化,所以需要一个由众多 Slot Proposer 一同决定的 Randao 随机数,用来选定下一个 Epoch 的 Slot Proposer 们。
第 1 件与第 2 件事不断重复,使得区块链不断地产生新区块。
Slot 的 Validator 数量推算
在说明每个区块及 Epoch 需要多少票数前,先进行目前 Slot 的 Validator 数量推算。
回顾一下:每 12 秒为一个 Slot,而每 32 个 Slot 为 1 个 Epoch。由 Beaconscan 网站可得知,目前撰文时全球总共约有 512,000 名以太坊 Validator。
所以,每 1 个 Epoch 约会有 512,000 名 Validator 进行投票。平均下来,每 1 个 Slot 约会有 512,000 / 32 = 16,000 名 Validator 进行投票。
每个 Validator 要做的事
扣除负责出块的 Slot Proposer,剩下 N - 1(N 是 16,000)的 Validator 需在每个 Slot 中完成 Attestation 工作,即向支持的区块及 Epoch 来进行投票!
投票 1:向支持的 Epoch(对应的 Checkpoint Slot)投票,支持的 Epoch 包含需同时选定 Target Epoch 及 Source Epoch(可参考下图)。
- Target 为 Validator 认同当下所在的 Epoch。
- Source 为 Validator 认同最近的 Epoch(通常为上一个 Epoch)。
若某个 Target Epoch 结束,并得到超过 2 / 3 Validator(即 512,000 x 2 / 3 = 341,333)的票数,则此 Epoch 标示为 Justified,故最快要等上 1 Epoch = 6.4 分钟的时间。
承上,若此 Target 紧连的 Source Epoch 也得到 2 / 3 票数(通常 2 者为连续的 Epoch),则此 Source Epoch 标示为 Finalized。因此,最快要等上 2 Epoch = 12.8 分钟的时间。
Epoch Finalized 之前的区块规定不可再被更改。

△ Justified 与 Finalized 的 Epoch 判断方式
投票 2:向支持的区块投票(或称之为 LMD-GHOST Fork Choice Rule 共识)。
可对过去 1 Epoch 内的 Slot 区块进行投票。
如果 Validator 有以下行为会无法拿到奖励:
- 投给旧的、错误的区块(可能投票期间未同步至最新区块所致)。
- 投票经常延迟或设备离线,但如果网络出现 4 个 Epoch 都没被 Finalized 的情况(进入 Inactivity Leak 期),则会有罚款。
如果 Validator 有以下行为会进行严重(Slash)处罚:
- 同个私钥同时存在两台不同机器上导致同一 Epoch 时间内有 2 次对区块的投票行为。将机器迁移时,没有将资料库也迁移,导致迁移的机器向同一区块重覆投票的行为。
- 如果被 Slash 处罚一次或因罚款导致余额低于 16 ETH,则会被强制踢出网络。
从 beaconcha 统计数据可得知,自信标链上线以来,被 Slash 总共有 229 名 Validator,大多为非恶意的机器设置错误导致,约占整体 Validator 的 0.045%。
本节重点整理
PoS 是由链上所质押的 ETH 作担保,来维持分散式共识(若伺服器停机、提交延迟、或提交错误共识内容则会有罚款),但此时要自建 24 小时不停机节点 + 质押至少 32 ETH,门槛过高。
对于仅有少量 ETH 却又想参与 PoS 网络的用户该怎办?所以,像是 Lido 等服务商,就有提供收取质押奖励的 10% 作为手续费,让用户进行小额质押。而且,更特别的是 Lido 还提供质押 ETH 兑换 stETH。
从 Dune 统计数据可得知,目前所有质押的 ETH 约占总供应量约 14.66%。
02
2022 年 9 月
PoS 信标链与 PoW 以太坊完成合并
众所期待的 PoS 以太坊终于在 2022 年 9 月 15 日完成合并(The Merge)!此时,只能使用 Validator 进行质押挖矿,而使用显卡挖矿的矿工时代也真正地成为了过去!
虽然,一般使用者仍可按照过去 PoW 使用方式进行 ETH 转帐或合约交易;但实际上经过 The Merge 升级后,以太坊节点已拆分成 Execution Layer(EL)执行层及 Consensus Layer(CL)共识层了。

△ 以太坊节点区分 CL 及 EL 层
在 The Merge 后采用了 PoS 共识,虽然 PoW 机制被移除,但是 PoW 的 Excution Layer 却合并到 Beacon Chain 中。
Execution Layer(EL)执行层负责:
- 仍与 PoW 时一样进行
- 执行 EVM 虚拟机
- 但是,当区块分叉时,取代 PoW 机制,会由 CL 层告知哪一个区块是 Head Block
Consensus Layer(CL)共识层负责:
- 进行 Proof of Stake 共识
- 当区块分叉时,采 LMD-GHOST Fork Choice Rule 共识来决定

The Merge 升級前,Execution Layer 的內容

△ 完成 The Merge 升级后,Execution Layer 的内容与过去 PoW 时期相同
然而, 对于执行以太坊节点的营运者,可以决定将 CL 节点(如:Lighthouse)、EL 节点(如:Geth)拆分建立,并使用元件所提供的 Engine API 来进行沟通。甚至可执行其中一个元件,另一个元件则与其他节点共用。
本节重点整理
The Merge 合并之后,将以 PoS 的取代 PoW 以太坊 。
但此时 Validator 们仍无法赎回已质押的 ETH,所以才会有下一个重大的升级:上海硬分叉。
03
2023 年第 2 季度
以太坊信标链进行上海硬分叉升级
以太坊 PoS 信标链于 The Merge 后另一项重大的升级:上海硬分叉,终于让为数众多的的 Validator 开放让为数众多质押 ETH 的赎回申请,但考量到系统的稳定性(如:避免 Validator 数量骤减,影响共识安全及稳定等),每个 Epoch 可退出的 Validator 或 ETH 数量是有限制的!
质押退出机制
欲将已质押的 ETH 赎回,Validator 需将 EL/CL 节点升级、在 CL 节点上修改收益地址等前置作业,即可进行 ETH 赎回请求啦!分为 2 种形式:
部份赎回(Partial Withdrawals)
- 将超过 32 ETH 的其他 ETH(不论是质押 or 奖励)给赎回。
- 因目前一个 12 秒的 Slot 最多只能有 16 次的部份赎回额度,以全网有 512,000 Validator 来计算,平均每个 Validiator 要等 4.44 天才能收到 ETH。
全部赎回(Full Withdrawals)并退出 Validator 角色
- 因目前一个 6.4 分钟的 Epoch 只能退出 6 名 Validator,所以会依照申请的顺序来进行全部赎回。
- 注:实际上,为避免一次大量 Validator 退出网络而导致安全性问题,所以每个 Epoch 可退出 Validator 数量会依照全网 Validator 总数来进行限制(可参考下方表格)。
而以上无论是部份赎回,还是全部赎回,因为都在 CL 节点上广播请求,所以也均无需 Gas 费用。

△ 每个 Epoch 可退出 Validator 数量会依照全网 Validator 总数来进行限制
上线前需充分测试
另外,此次升级正式上线前,需要在各个测试网上进行充分测试。
- 2023 年 2 月 7 日 Zhejiang 测试网上线
- 2023 年 2 月 28 日 进行 Sepolia 测试网上海硬分叉升级
- 2023 年 3 月 进行 Goerli 测试网的上海硬分叉升级
还有其他的提案
而且,这次升级除了 EIP - 4895(允许验证者提取质押的数字资产)是主要提案外,还会一同实现以下 EIP 提案:
- EIP-3651 预热 COINBASE:启动「COINBASE」地址的预热功能,降低交易手续费消耗。
- EIP-3855 增加 PUSH0 指令:将常用的「常数 0 推送」操作变成一个指令,将可减少合约程式码大小。
- EIP-3860 限制和计价 initcode:增加合约部署规范,避免部署程式码过大占用空间。
- EIP-6049 新增 SELFDESTRUCT 停用警告:更新 SELFDESTRUCT 指令的文件说明,警告使用者该指令未来将被停用。
本节重点整理
开放质押的 ETH 赎回,但基于安全理由,每个 Epoc(约 6.4 分钟)只能退出 6 个验证者(因此每天约有 1,350 个验证者或者 43,200 ETH 可退出。
若你刚好是以太坊信标链的 Validator,强烈建议在上海升级前阅读「上海升级,和你有关吗?」文章,来了解上海升级时你一定要做的几件事情!
复制链接到浏览器阅读:
https://support.token.im/hc/zh-cn/articles/17270818005401- 上海升级 - 和你有关吗 -
总 结
综观整个 PoS 演进史,以太坊始终保持着为用户提供最优秀的使用体验和开发环境的初衷。
PoW 到 PoS,不断的改变也带给了我们更加高效和环保的区块链世界,上海硬分叉升级将为以太坊带来更多的可能性。
在未来,随着这一系列 EIP 提案的引入,Ethereum 将越来越容易地融入日常生活中,并且让人们都可享受到区块链带来的安全性与方便性。让我们一起期待以太坊的更美好未来!
参考资料
- 以太坊 Safe Head 机制介紹(一)https://medium.com/imtoken/safe-head-part-1-14071f14016b
- Eth 2.0 的共识层和执行层分工及 The Merge 影响https://medium.com/taipei-ethereum-meetup/eth-2-0-cl-el-separation-and-impact-of-the-merge-dbeb6828c907
- Blocknative - A Staker's Guide to Ethereum Slashing & Other Penaltieshttps://www.blocknative.com/blog/an-ethereum-stakers-guide-to-slashing-other-penalties
- ETH Withdrawals FAQhttps://notes.ethereum.org/@launchpad/withdrawals-faq
- How does the NEW Ethereum work?https://www.preethikasireddy.com/post/how-does-the-new-ethereum-work
- Proof of Stake Rewards and Penaltieshttps://ethereum.org/en/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/
END
所有评论