目前以太坊已经走过了前三个阶段。它开启了一个智能合约新时代,引领了区块链2.0时代。
以太坊2.0是一次脱胎换骨的大改变,是一次全面的修订和重新设计,是一场漫长的马拉松。
“宁静”的主要内容包括从PoW(工作量证明)到PoS(权益证明)的完全转变,“宁静”的所有升级将分为四个分阶段实现:
- phase 0:信标链(Beacon Chains)
- phase 1:分片链(Shard Chains)
- phase 2:eWASM用于替代以太坊虚拟机(EVM)
- phase 3:Continued Improvement
在 eth2.0 交付计划中,首先需要实现的是信标链的建立。
信标链测试网浏览器地址:https://beacon.etherscan.io/
分片链的中区块需要有半数以上的委员会成员达成共识,Shard Chains也可以借助信标链完成跨 ShardS 的操作。目前信标链会与 eth1.0 链并行运行一段时间,信标链也会依赖 eth1.0 链上的状态。
信标链采用的是 PoS 算法,在 PoS 算法中每个矿工出块的概率与矿工拥有的权益成正比.
每个矿工只能向信标链上抵押 32ETH。要成为信标链的 Validators,需要向 eth1.0 上的 Deposit Contracts 上发送一个交易,在交易中需要携带 32ETH,在 eth1.0 的 Deposit Contracts 的公开方法中有两个参数:
- Pubkey,用于 Beacon 中 Validators 的签名公钥;
- Withdrawal_credentials,用于之后取回抵押的 ETH ;
信标链会将新加入的 ValidatorS 放入到 Pending Valiadtors 中,过一段时间后会变成 Active Validators ,成为 Active Valiators 后就可以参与 PoS 协议出块了。
- 维护注册的Validators
- Pending Validators,即将加入 Validators 列表的账号
- Active Valiators ,已经加入Validators 列表的账号
- Exit Validators ,即将退出 Validators 列表的账号
- 维护投票信息
- Validator Votes
- Random Number,用于随机选择 Proposer,以及 Committee
Validators 需要被选中为 Proposer 才可以提交区块,在 eth1.0 中下一个区块的提交权是通过矿工的算力决定的,哪个矿工的算力大,哪个矿工就有很大的概率被选中为下一个区块的生产者。
使用 Random Number 随机从 Validators 中选择 Proposer 可以使 Validator 无法预知哪个 Validators 被选中,这样可以防止 Validators 之间串谋发起攻击。
Proposer 提案的区块,需要进行投票才可以进入到 Beacon Chains 的主链上,在 Beacon Chains 中每隔一个 Epoch 会通过 Random Number 选择一些Validators 组成 Committee ,每隔64个slot 组成一个 epoch,所以一个 epoch 大概是6.4分钟。
理想情况下,如果可以快速收集投票,那么 committee 中的成员可以是系统中所有的 active validators。
在 eth1.0 上是根据算力决定最长链,而 Beacon Chains 中使用的是PoS 算法,所以会需要另外一套规则来决定大家需要跟从哪条分叉链,Beacon Chains 最终采用的是 LMD GHOST (Latest Message Driven GHOST),LMD GHOST 方法中,算法运行是基于 message 也就是投票,总的来说,拥有最多投票的分叉链会被认为是主链。
笑脸符号代表投票信息,每个区块中有个数字,代表投票的数量总和,也就是该区块的权重。
分片理念与目前的 eth1.0 模式完全不同,后者需要每个全节点对每一笔交易进行处理和验证。
信标链将对分片链的执行情况进行监督。
根据 eth2.0 规范,信标链将支持1024个分片链,每条分片链上将有128个节点进行验证工作。
在“宁静”第二阶段中,随着新虚拟机 eWASM(Ethereum-flavored Web Assembly)的引入,分片链将从相当基本的数据标记形态演变为功能完整的交易链,从而担当起以太坊网络扩容的重任。
Eth1.0 的虚拟机被称为EVM,切换到 eth2.0 后,以太坊网络的虚拟机将升级为 eWASM ,这是一个基于 Web Assembly 的虚拟机,由万维网链盟(W3C)定义为开源标准。
Eth2.0 作为一个独立的区块链被部署,所以它不会取代 eth 1.0,这意味着 eth1.0 链需要在未来5-10年内保持可持续性。
提高每秒吞吐量来提高主网可扩展性(通过优化客户端来使得网络可以持续提高区块的 Gas Limit);
保证可以长久运行全节点(通过“状态租金”减低和限制全节点对磁盘空间的要求);
通过包括 eWASM 在内的虚拟机升级在优化开发者体验,使用不同的交易费用模型来稳定整体交易手续费;
如果以太坊真的完成了他们的目标,结束了这场漫长的马拉松,那我们将迎来真正的世界计算机,拥有一个完全可扩展的通用区块链。