以太坊2.0技术浅析
星期三, 八月 12, 2020
就在刚过去的7月31日,加密货币市值第二高的以太坊迎来了5周年生日。随着以太坊的不断发展,社会各界对以太坊的关注也在不断增加,用户及应用的不断激增,也使得大家对以太坊 2.0的呼声不断高涨。
以太坊2.0是计划中的以太坊替代方案。
随着DeFi等项目的迅速升温,以太坊上交易量不断激增,这使得交易费用不断攀升,交易时间不断加大。总的来说,现行的以太坊1.0已经难以满足用户的使用需求和发展需求。
今年4月份,信标链创建创世区块,“0阶段”正式启动测试。以太坊 2.0网络启动协调员Danny Ryan也在论坛中初步宣布,以太坊2.0最终测试网预计将于8月初正式启动测试。这也意味之以太坊2.0已离我们近在咫尺。
以下是以太坊2.0的设计目的:
为实现这些目标,以太坊2.0采用了信标链、分片、POS及eWASM等技术。我们先来看看以太坊2.0完全实现后的样子,如下图所示:
整个以太网2.0分为四层:
以太坊2.0的关键技术
鉴于区块链的不可篡改及出现漏洞后影响巨大(The DAO)等特性,以太坊1.0到2.0的过渡期将持续2年左右,并且分阶段进行。
阶段0:主要实现信标链及以太坊1.0中的部分价值转移。
阶段1:主要实现分片,并稳步将区块链1.0上的数字资产转移到分片中
阶段2:主要实现eWASM虚拟机
……
……
由于阶段2的具体实现还不清晰,我们主要针对阶段0和阶段1的技术实现进行简单分析。
信标链和POS
信标链就是一条基于POS(Casper FFG)机制的区块链单链。
在实现Casper FFG共识时,定义了“验证者”和“提案者”两种角色。一个节点如果想要成为“验证者”,就需要向以太坊1.0中的一个智能合约抵押至少16ETH,智能合约触发事件(event),信标链检测到事件并将地址其加入“验证者”列表。
信标链将“验证者”随机分配到分片中进行作业。在进行出块时,信标链从“验证者”中随机选出“提案者”,“提案者”提出区块,由“验证者”进行验证。信标链会对所有“验证者”和“提案者”进行监视,如若其诚实的完成作业,就给予奖励(相当于挖矿),如果其作恶,就会没收其抵押的ETH。
在实现信标链时,定义了信标链上保存的数据时分片链上的世界状态。当分片链上的世界状态发生变化,信标链上就会产生新的区块,只有在信标链上被记录的分片的世界状态,才是被认可的不可逆的区块数据,如下图所示:(蓝色表示信标链;绿色表示分片链;黄色表示已被信标链确认的分片链区块)
分片
分片就是不同的子区块链。
分片的实现其实是基于地址的。这里我们可以假设:我们将地址为0x00开头的地址定义为分片1,将地址为0x01开头的地址定义为分片2.以此类推,我们就可以拥有16*16=256个分片。
当节点1被信标链分配到分片1时,那么节点1只会对地址是0x00开头的地址交易进行打包和交易,对于其他地址开头的交易,将直接丢弃。这样就抽象出了不同的分片,整个区块链就被抽象的分割成不同的分片。
以太坊2.0展望
以太坊2.0将会是与以太坊1.0完全不同的系统,可能在未来的几年就会正式上线运行。我们应该在以太坊2.0正式上线前对它的功能特性进行了解,更好的迎接区块链的新浪潮。