原标题:以太坊2.0交付计划步入正轨 大量全新术语揭秘
7月初,以太坊基金会研究员DannyRyan透露以太坊Serenity(宁静)零阶段已经被“冻结”,这意味着升级的大部分更改在某种程度上已经完成
从V神所谓的“软件开发苦干阶段”,到目前的规范“冻结”。时隔一年多,以太坊2.0的交付计划已经开始步入正轨。目前,我们可以开始看到投入到研究和开发中的大量艰苦工作的结果。
当我开始研究Serenity(或Ethereum2.0)时,首先让我感到困惑的是大量全新的术语。crosslink到底是什么?slot是块吗?。Attestor(认证)与crosslink(交联、跨联)是一回事吗?
下文试图描述以太坊2.0中最常用的术语,适用于中等技术水平的以太坊用户。请记住,这不是一个详尽的列表,而是关注您可能有疑问的最突出的细节。
本文作者为AlexT,该文借鉴了去年10月底以太坊研究员BenEdgington发布的关于以太坊信标链的文章。这里笔者将结合BenEdgington的文章对本文进行补充阐述。
以太坊2.0系统构架及交付流程
在了解信标链以及更多专业术语之前,需要先了解以太坊2.0的系统构架。
如图所示,自上而下来看,以太坊2.0的系统构架分为3个阶段,从POW主链到信标链,之后是分片链以及VM层(虚拟机层)。而这同样可以作为以太坊2.0的开发和交付路线图。
2018年2月,Hsiao-WeiWang的PPT中绘制了这幅路线图,当时以太坊还正处于开发以太坊1.0即POW主链的进程中,距离后来的君士坦丁堡硬分叉也相隔一年。
时至今日,信标链的规范代码已经冻结,并计划于2020年1月3日发布。而分片和以太坊虚拟机的工作也已经相继开始。
以下为以太坊2.0的3个阶段及功能概述:
阶段0-信标链
管理验证者和权益(stakes)
组织选举委员会和为每个分片制定区块提议者
应用共识一致的规则
对验证者进行奖励和惩罚/削减
阶段1-分片
构建分片链和块
将分片块锚定(交叉链接)到信标链
阶段2-执行环境
基于eWASM的虚拟机执行。每一个分片。
交易能力
能够运行并与智能合约进行交互
跨分片沟通
以下为以太坊2.0中出现的重要术语:
BeaconChain(信标链)
一种全新的POS链,给整个以太坊2.0系统注入生命力的核心,负责指挥协调系统的所有参与者。
包括信标块
所有事务的共识层
管理验证器
实行奖惩
提供随机数,防止区块提议者在随机数系统中作弊
通过交叉链接作为作为分片在信标链上注册其状态以促进跨分片交易的锚定点
值得一提的是,虽然信标链管理共识算法和跨分片沟通,但是沟通是有限的,沟通太多会给信标链太多压力。因此,沟通时间间隔为6分钟,每6分钟,每个分片可以发现其他分片的哈希值;用户和应用在不同的分片上操作、运行。
简而言之,信标链负责指挥系统的其余部分,而每个参与节点则维护自己本地的信标链,来实现与其他节点同步。
Shards(分片)
共有1024条并行的分片链
半独立的链,包括分片块
分片块的状态通过交叉链接定期记录在信标链上
一旦信标链上的块完成,包含的Crosslinks中引用的分片块就被认为完成了
每个分片都有一个验证器委员会来验证块
Crosslinks(交联,跨联)
分片状态的总结,将整个分片系统连接在一起,将每个分片锚定到作为脊柱的信标链上
只引用信标链中的分片
每个分片当前的状态(即“组合起来的数据根”)将定期地被记录在信标链中实现跨联。当信标链的某个区块被最终确定时,相应的分片区块也被认为是最终确定的,且其他分片可以依靠这个确定的分片来进行跨分片交易。
Slot(时段)
Slot是在一段时间内区块提议者提出的区块认证,并非是区块。与POW的出块时间不规则不同,以太坊2.0同的出块时间是固定的,每16秒定期产生一个区块(可更改),而这16秒的周期被称为Slots
Slot可能是空的
Slot由经过认证的块填充
Epoch
在以太坊1.0的POW链中,每30000个区块为一个epoch。
而在POS链中,Epoch包含多个slot(目前为64个),之后,验证器将在委员会中重新洗牌
Validators(验证器)
在验证器存储合约中存储了32eth并运行验证器节点的用户(节点通过向POW链(即当前的以太坊主链)的一个合约中发送抵押金(32个以太币)来加入验证者集合中)
这些节点可以是非活动的(暂时还不能作为实际的验证器运行)、活跃的(验证)、挂起的(选择成为验证器,但被卡在输入队列中)和退出的(不再希望验证并被卡在退出队列中),但只有活跃的验证者才会参与到以太坊2.0协议中,并且可以加入到委员会进行投票。
BlockProposers(区块提议者)
信标链选择的随机验证者,用于提出用于验证/认证的块。在各个阶段,为每个分片制定被选中的区块提议者
被选中的信标链区块提议者将会搜集那些来自先前区块的信标链验证者们的协议投票(认证),并将这些投票纳入该验证者发布的区块中。
当一切正常运行时,slot应该有一个提议者,shard应该有16个提议者
Attestations(认证)
关于分片块或信标链有效性的投票
委员会
信标链选择的用于验证块有效性的随机验证器组(信标&分片),确保哪些区块构成整条链的真实历史记录。
目标是每个委员会至少有128个验证者。此外,信标链将为每个分片指定一个更小的分委员会(sub-committee),负责在适当的时侯确认分片的提议者是否行为得当。
ETH2
信标链的基本货币
最初将从奖励和锁定ETH1在验证器存款合约中获得
ValidatorDepositContract(验证器定金合约)
POW链上的智能合约(在我们的例子中是EthereumMainnet)
一旦ETH1资金被锁定在这个智能合约中,并且事件日志被发出,应该被信标链读取,相同数量的ETH2应该分配给现在被认为是验证器的帐户
这种机制将来可能会改变
在第2阶段结束之前,将ETH1转移到ETH2是单行道,无法取回ETH1,但是有一个出口可以卖掉你的stake