最近在学习EOS之余,也关注以太坊2.0的动向,遂开了这一个新的系列
以太坊2.0
概述
为了解决以太坊的共识和扩展性问题,Vitalik Buterin(以太坊创始人)与研究团队试图在目前运行的PoW链上覆盖基于PoS的终结系统,同时也要实现状态分片,以扩展以太坊区块链。
在2018年3月份的台北标志性研究会议之后,以太坊研究团队提议将Casper PoS与分片合并为一项名为Ethereum Serenity的计划,也称作为以太坊2.0。
下附以太坊2.0的系统架构图
将网络状态划分为1024个分片,这些分片表现为一组同质的区块链,每个区块链由称为信标链(beacon chain)的单个根链协调。信标链在完整的Casper PoS上运行,没有委托也没有中心化投票权。
分阶段实现
- 阶段0:信标链实现
- 互操作性
- 网络 (Networking)
- Testing 测试 (Testing)
- 形式化验证 (Formal Verification)
- 信标链上线 (预计2020年1月3日)
- 阶段1:分片数据
分片链 + eWASM (预计2020年) - 阶段2:状态执行
MPT状态树支持分片 (预计2021年)
介绍信标链(beacon chain)
信标链是一种全新的权益证明(PoS)区块链,它就像脊柱一样支撑整个以太坊2.0系统。信标链是给整个以太坊2.0系统注入生命力的核心,负责指挥协调系统的所有参与者。
关键作用在于为其自身和所有分片链管理权益证明协议。包括:
- 管理验证者和他们的权益(stakes);
- 在各个阶段,为每个分片制定被选中的区块提议者(block proposer);
- 组织验证者们形成委员会(committees)来对那些被提议的区块进行投票;
- 将共识规则付诸实践;对验证者进行奖励或处罚;
- 作为分片在信标链上注册其状态以促进跨分片交易的锚定点。
特点
- 信标链管理共识算法和跨分片沟通.每个分片在每6分钟内可以发现其他分片的哈希值,用户和应用则在不同的分片上操作、运行。
- 信标链上无EVM,交易无gas
- 取消质押的延时时间97天
- 未涉及链上治理
信标链上的Casper PoS共识的特点
Casper的第一个迭代将会是混合PoW/PoS协议,Casper的最后一个迭代会朝着一个完整的PoS协议发展。
- 成为候选节点的条件 (Validator Candidates)
在当前的以太坊1.0链上会部署用于进行 ETH 质押的合约。该合约将是用户参与以太坊 2.0 staking 的关键,届时用户可以将32 ETH 发往该抵押合约中,从而成为以太坊2.0网络的验证者 (validator),通过参与信标链网络的验证工作 (提议区块和证明区块等) 而获得相应的奖励。 - 在每轮出块过程中,从候选节点中选择谁来做出块节点 ( Block Creation Validator)
出块过程一般依赖币量或币龄,即质押的币量越高, 或者「币量」和 「币龄」的乘积越大。被随机选中出块的概率越大。 - 如何确认该块的正确性而上链(Validate Blocks -> reach finality)
- pow与pos共存阶段
对pow链上每隔50个块设立一检查点,称为一个周期.验证者在每个周期内在信标链上进行投票,来最终化pow链上的区块
一个周期的最终化按照下面的步骤:
周期1的2/3投票→审判周期1→2/3投票周期2→最终化周期1
最终化一个周期内的区块需要20分钟 - pos阶段
每16秒定期产生一个区块,提议者收集验证者的投票,纳入区块中
一个区块的最终化按照下面的步骤:
区块1的2/3投票→审判区块1→2/3投票区块2→最终化区块1
增发率与验证者奖励情况
最新提议的验证者奖励情况:
例如,如果以太坊网络中 stake (质押) 的 ETH 数量为100万枚,那么每年最多可增发 181,019 枚新ETH,验证者最大收益率为18.1%。上方图表显示,用于验证的ETH总数量 (也即网络中质押的ETH总数) 的最高限额为 134,217,728 枚,相应的每年最多增发 2,097,152 枚新 ETH,收益率为1.56%。
对验证者的惩罚机制 (slasher)
- 验证者离线:Quadratic Leak
惩罚的大小与上一次链实现最终性以来的时间成正比,以阻止验证者离线。
这种罚款而损失的资金会被销毁,而不会重新分配给诚实的验证者。 - 故意恶意活动:罚没
通过举报机制进行罚没,激励验证者发现其他验证者的可罚没的违法行为。作为报酬能够获得其他验证者被罚没的资金。
进度
- 信标链的测试网络Sapphire已上线
- 2019-07-02 以太坊2.0阶段0(信标链阶段)规范已冻结 - v0.8.0 版本
https://github.com/ethereum/eth2.0-specs/releases/tag/v0.8.0
- 以太坊基金会将于2019年10月份在日本大阪举行的 DevCon 5 会议期间将会把用于进行 ETH 质押的合约 (即 Deposit Contract) 部署到当前的以太坊1.0链上
- 以太坊2.0的0阶段将于2020年1月3日启动,该阶段将启用权益证明(PoS)共识机制,选择2020年1月3日是为纪念比特币创世区块诞生11周年。