imToken Labs:以太坊 PoS 演进史_ETHE:ITH

前言

大家好!今天我们要来探讨Ethereum以太坊的PoS演进史。以太坊为了提高区块链的效能以及更加地环保,不断推陈出新,让整个区块链世界产生了巨大的变革。随着技术的不断进步,以太坊也将开始向新的高度挑战。让我们一起来探讨这个让人感到振奋的演进过程!

因本文章有较深入的PoS介绍,建议已具备基础PoW知识的读者阅读。

2020年12月PoS信标链上线

为了将耗能的PoW升级至节能的PoS,以太坊在2020年12月1日时,上线了以PoS共识机制为主的以太坊信标链!

PoS名词解释

在PoS中,有些名词会和PoW稍微不同!

Block的概念改为Slot与Epoch。平均来说,每12秒会出一个Slot,而每32个Slot称为一个Epoch。

Difficulty改为SlotPrevRandao。

Miner改为Validator与负责出块的SlotProposer。

目前,若要成为Validator,需使用Validator私钥及Withdrawal私钥来建置不停机的验证节点,接着将带有以下指定Data32ETH的交易打到Deposit合约中:

pubkey:Validator公钥,链上唯一识别用

withdrawal_credentials:将Withdrawal公钥作SHA256后,将最左侧2位元由0x00替换而得

signature:由Validator私钥向(pubkey,withdrawal_credentials,deposit_amount)资料进行签名

IMTE计划推出NFT交易平台:金色财经报道,澳大利亚公司Integrated Media Technology Limited(IMTE)宣布计划推出NFT交易平台。根据合作协议,IMTE现可投资至多100万美元购买Ace 60%的股权,以开发、建立和运营名为“Ouction”的交易平台。[2021/12/31 8:15:27]

deposit_data_root:由上述pubkey、withdrawal_credentials、signature建立HashTree,并取得其HashTreeRoot而得

Slot与Epoch、Validator与Proposer

成为SlotProposer要做的事

在下一个Epoch到来前,每个Slot会透过Randao随机数指定1位Validator成为此Slot的Proposer,而他要完成2件事!

第1件事:建立区块,并让其他Validator进行验证及投票。

理想上,SlotProposer会在最新的区块后面,直接建置下一个区块,如同PoW时期以维持最长链原则。但实际上,可能会因P2P网络延迟、恶意节点尝试攻击等,导致SlotProposer未必能在最新的区块后面建置下一个区块,造成区块链分叉。这时,需请其他的Validator进行区块投票,得票高者即可成为下一个区块。若恶意节点故意在同一个Slot时段内建立2个区块,则会被施以严重的大幅削减处罚并退出网络。

第2件事:提出一个随机数种子S,并公开Hash(S)结果。

因为少了过去PoW的算力竞争,但直接指定Proposer有违去中心化,所以需要一个由众多SlotProposer一同决定的Randao随机数,用来选定下一个Epoch的SlotProposer们

声音 | ImToken创始人:ImToken一定会发币:据Bianews消息,ImToken创始人何斌表示:“作为创始人,我不避讳是否发币这个话题。我们一定会发币,我们会在token数字加密经济这条路径上去探索,去发现。具体何时发行,发行多少,目前还不能确定。”[2018/7/7]

第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要做的事

扣除负责出块的SlotProposer,剩下N-1的Validator需在每个Slot中完成Attestation工作,即向支持的区块及Epoch来进行投票!

投票1:向支持的Epoch投票,支持的Epoch包含需同时选定TargetEpoch及SourceEpoch。

Target为Validator认同当下所在的EpochSource为Validator认同最近的Epoch若某个TargetEpoch结束,并得到超过2/3Validator的票数,则此Epoch标示为Justified,故最快要等上1Epoch=6.4分钟的时间。

天算Delphy正式登陆imToken,数字资产钱包DApp生态更加完善:今日,Delphy天算DApp登陆imToken数字钱包,为入驻imToken的以太坊预测市场应用。本次合作将利用双方在产品端优势,加强彼此用户活跃度及内容深度,用户可通过imToken直接充值、转账体验天算DApp参与话题实时预测,为用户提供真正优质活跃的生态体验,并在即将到来的世界杯开启百万预测通道。据了解,imToken 全球拥有超过400万月活用户。[2018/6/13]

承上,若此Target紧连的SourceEpoch也得到2/3票数,则此SourceEpoch标示为Finalized。因此,最快要等上2Epoch=12.8分钟的时间

EpochFinalized之前的区块规定不可再被更改

Justified与Finalized的Epoch判断方式

投票2:向支持的区块投票

可对过去1Epoch内的Slot区块进行投票。

如果Validator有以下行为会无法拿到奖励

投给旧的、错误的区块投票经常延迟或设备离线,但如果网络出现4个Epoch都没被Finalized的情况,则会有罚款如果Validator有以下行为会进行严重处罚,同个私钥同时存在两台不同机器上导致同一Epoch时间内有2次对区块的投票行为。将机器迁移时,没有将资料库也迁移,导致迁移的机器向同一区块重覆投票的行为如果被Slash处罚一次或因罚款导致余额低于16ETH,则会被强制踢出网络。从beaconcha统计数据可得知,自信标链上线以来被Slash总共有229名Validator,大多为非恶意的机器设置错误导致,约占整体Validator的0.045%。

前乌云社区的联合创始人和首席技术官Blu加入imToken:据了解,安全界知名白帽,清华长三角研究院网安实验室负责人,前乌云社区的联合创始人和首席技术官Blue , 将以首席安全官的身份正式加盟 imToken,负责 imToken 的产品安全。[2018/3/12]

本节重点整理

PoS是由链上所质押的ETH作担保,来维持分散式共识,好处是:环保,且质押的ETH平均有4%年化报酬。

但此时要自建24小时不停机节点质押至少32ETH,门槛过高

对于仅有少量ETH却又想参与PoS网络的散户该怎办?所以,像是Lido等服务商,就有提供收取质押奖励的10%作为手续费,让散户进行小额质押。而且,更特别的是Lido还提供质押ETH兑换stETH代币,让散户可在二级市场进行stETH交易。

从Dune统计数据可得知,目前所有质押的ETH约占总供应量约14.66%

2022年9月PoS信标链与PoW以太坊完成合并

众所期待的PoS以太坊终于在2022年9月15日完成合并!此时,只能使用Validator进行质押挖矿,而使用显卡挖矿的矿工时代也真正地成为了过去!

虽然,一般使用者仍可按照过去PoW使用方式进行ETH转帐或合约交易;但实际上经过TheMerge升级后,以太坊节点已拆分成ExecutionLayer执行层及ConsensusLayer共识层了

以太坊节点区分CL及EL层

在TheMerge后采用了PoS共识,虽然PoW机制被移除,但是PoW的ExcutionLayer却合并到BeaconChain中。

imToken服务器遭受DDoS攻击,联通线路暂时中断:imToken刚刚发布公告称,由于受到DDoS攻击,联通线路流量超过防护上限被封停。转账超时不代表失败,避免重复转账。[2018/1/26]

ExecutionLayer执行层仍与PoW时一样进行:

执行EVM虚拟机但是,当区块分叉时,取代PoW机制,会由CL层告知哪一个区块是HeadBlockConsensusLayer共识层就负责:

进行ProofofStake共识当区块分叉时,采LMD-GHOSTForkChoiceRule共识来决定

TheMerge升級前,ExecutionLayer的內容

完成TheMerge升级后,ExecutionLayer的内容与过去PoW时期相同

然而,对于执行以太坊节点的营运者,可以决定将CL节点、EL节点拆分建立,并使用元件所提供的EngineAPI来进行沟通。甚至可执行其中一个元件,另一个元件则与其他节点共用。

本节重点整理

TheMerge合并之后,将以PoS的取代PoW以太坊,无法使用显示卡挖矿。

但此时Validator们仍无法赎回已质押的以太币,所以才会有下一个重大的升级:上海硬分叉。

2023年第2季以太坊信标链进行上海硬分叉升级

以太坊PoS信标链于TheMerge后另一项重大的升级:上海硬分叉,终于让为数众多的的Validator开放让为数众多质押ETH的赎回申请,但考量到系统的稳定性,每个Epoch可退出的Validator或ETH数量是有限制的!

质押退出机制

关于欲将已质押的ETH赎回,除了您需等待2023年第2季上海硬分叉升级完成外,Validator还需将EL/CL节点升级、在CL节点上修改收益地址等前置作业,即可进行ETH赎回请求啦!分为2种形式:

关于前置作业细节可参考imToken先前发布的「上海升级,和你有关吗?」文章!

部份赎回

将超过32ETH的其他ETH给赎回因目前一个12秒的Slot最多只能有16次的部份赎回额度,以全网有512,000Validator来计算,平均每个Validiator要等4.44天才能收到ETH。全部赎回并退出Validator角色

因目前一个6.4分钟的Epoch只能退出6名Validator,所以会依照申请的顺序来进行全部赎回注:实际上,为避免一次大量Validator退出网络而导致安全性问题,所以每个Epoch可退出Validator数量会依照全网Validator总数来进行限制而以上无论是部份赎回,还是全部赎回,因为都在CL节点上广播请求,所以也均无需Gas费用

每个Epoch可退出Validator数量会依照全网Validator总数来进行限制

上线前需充分测试

另外,此次升级还需在各个测试网上进行充分测试,才会正式上线!

2023/02/07可提款的Zhejiang测试网上线2023/02/28进行Sepolia测试网的上海硬分叉升级2023/03进行Goerli测试网的上海硬分叉升级还有其他的提案

而且,这次升级除了EIP-4895是主要提案外,还会一同实现以下EIP提案:

EIP-3651预热COINBASE:启动「COINBASE」地址的预热功能,降低交易手续费消耗EIP-3855增加PUSH0指令:将常用的「常数0推送」操作变成一个指令,将可减少合约程式码大小EIP-3860限制和计价initcode:增加合约部署规范,避免部署程式码过大占用空间EIP-6049新增SELFDESTRUCT停用警告:更新SELFDESTRUCT指令的文件说明,警告使用者该指令未来将被停用未来,本专刊将会为重要的EIP提案来撰写文章进行说明。

本节重点整理

开放质押的ETH赎回,但基于安全理由,每个Epoc只能退出6个验证者(因此每天约有1,350个验证者or43,200ETH可退出。

若您刚好是以太坊信标链的Validator,强烈建议在上海升级前阅读「上海升级,和你有关吗?」文章,来了解这次上海升级时您一定要做的几件事情!

总结

综观整个PoS演进史,以太坊始终保持着为用户提供最优秀的使用体验和开发环境的初衷。PoW到PoS,不断的改变也带给了我们更加高效和环保的区块链世界。上海硬分叉升级将为以太坊带来更多的可能性;在未来,随着这一系列EIP提案的引入,Ethereum将越来越容易地融入日常生活中,并且让人们都可享受到区块链带来的安全性与方便性。让我们一起期待以太坊的更美好未来!

参考资料

中文以太坊SafeHead機制介紹https://medium.com/imtoken/safe-head-part-1-14071f14016bEth2.0的共識層和執行層分工及TheMerge影響https://medium.com/taipei-ethereum-meetup/eth-2-0-cl-el-separation-and-impact-of-the-merge-dbeb6828c907英文Blocknative-AStaker'sGuidetoEthereumSlashing&OtherPenaltieshttps://www.blocknative.com/blog/an-ethereum-stakers-guide-to-slashing-other-penaltiesETHWithdrawalsFAQhttps://notes.ethereum.org/@launchpad/withdrawals-faqHowdoestheNEWEthereumwork?https://www.preethikasireddy.com/post/how-does-the-new-ethereum-workProofofStakeRewardsandPenaltieshttps://ethereum.org/en/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-3:379ms