【大文观链】读懂以太坊2.0技术升级:市场需要什么样的以太坊?
摘要: 总体来说,以太坊2.0前三阶段做出的变化可以简单归纳为三点:共识机制、分片结构和虚拟机,而这些改变的核心都是在尝试解决以太坊现在存在的效率太低、矿池中心化严重、交易成本过高的问题。
根据以太坊2.0路线图,今年二季度末,以太坊 2.0 的 0 阶段(Phase 0)就将推出。作为区块链行业的“二把手”,以太坊的升级毫无疑问将深刻影响整个区块链行业的发展节奏。尤其在技术方面,以太坊2.0较1.0进行了大量的升级和改造,在去中心化、可扩展性和效率方面进行了优化。
那么以太坊2.0究竟进行了哪些方面的技术升级?又对行业会产生哪些影响?链得得App对以太坊社区开发者Zheka和OKEx高级分析师William进行了专访。
ETH2.0 是以太坊的计划升级方案。与以太坊相比,以太坊2.0因为进行了大量改变,因此更像是一个全新的公有链。这个升级将是一个长期过程,分为若干个阶段。目前只有“阶段 0”有明确的规范,并定期更新。目前可以明确的阶段包括正在进行的:阶段 0,目标是推出信标链(Beacon Chain);阶段1,目标是引入分片(Shard Chains)结构;阶段2,目标是启用新虚拟机 eWASM (Ethereum-flavored Web Assembly)。其后进行的阶段目标还可能包括轻客户端状态协议、主链安全性耦合以及超二次或指数性分片等。
总体来说,以太坊2.0前三阶段做出的变化可以简单归纳为三点:共识机制、分片结构和虚拟机,而这些改变的核心都是在尝试解决以太坊现在存在的效率太低、矿池中心化严重、交易成本过高的问题。
以太坊2.0的核心思路:分片
以太坊社区开发者Zheka告诉链得得App,去中心化在创造巨大价值的同时也会带来极高的成本。实现去中心化的成本之所以如此之高,是因为与如今大多数区块链一样,以太坊上的每个节点都必须各自执行记载到区块中的每一个计算,以确保所有参与者都遵守规则。
这个过程要耗费能源和计算机资源。就当前架构下的以太坊网络而言,如果要其在很短时间内处理过多数据,笔记本电脑和个人服务器等消费级硬件就无法与网络保持同步,只有大型数据中心才能在这个网络中充当节点之用。这就会极大地降低以太坊的去中心化程度,因为数据中心节点很容易就能形成垄断,进而控制整个网络。Zheka认为,如果失去了“去中心化”,区块链技术就失去了价值,传统的中心化手段已经足够解决大部分问题。
以太坊2.0进行的优化总体来说,是在尝试让每个节点都只需处理部分交易,这样一来,每个节点都只需处理网络中很少一部分交易,从而降低通信成本。具体地说,以太坊 2.0拥有64条分片链,它们由信标链进行协调。每一条分片链都有各自专属的出块者和验证者,而且这些分片链彼此之间联系紧密,可以互相通信,因此形成了一个大型分片链网络。因此,以太坊 2.0 的验证者无需处理整个网络内的所有交易,只需处理并验证某条分片链上的交易。
分片(Sharing)其实是一种传统数据库的技术,它将大型数据库分成更小、更快、更容易管理的部分。在区块链网络中,分片是将网络中的每个区块变为一个子区块链(100个),子区块链中可以容纳交易数据,并最终组成一个在主链上区块。用V神的话说,“每个分片都像是个独立的银河:它具有自己的账户空间,交易需要指定它们自己应该被发布到哪个分片中,并且分片间的通信是受限的。”
OKEx高级分析师William表示,在传统分片中(以Cosmos为代表),每条链都相互独立,导致整个网络分片化,且容易遭受攻击。而以太坊2.0 中,每条分片链都具备相同的安全性,要想破坏某条分片链,必须破坏整个系统。而这一点正是通过信标链实现的。因此,信标链也被称为整个以太坊2.0的基础,这也是推出信标链会被称为阶段0的原因。
在以太坊升级的第二步中,主要工作时围绕信标链构建64条分片链。信标链在每个时间段为每个分片随机选择的分片验证者,只负责对每个区块的内容达成共识。至于分片的区块中有什么样的信息是无关紧要的,只要所有的委员会成员能在分片上定期地达成共识并更新信标链就可以。
更高效的虚拟机
而在第三阶段,即阶段2中,主要工作时将所有功能开始结合在一起,在第二阶段,会完成分片化,分片链从简单的数据容器过渡到结构化链状态,并将重新引入智能合约。每个分片将管理基于 eWASM(Ethereum flavored WebAssembly)的虚拟机,各种开发工具都会逐渐完善。换句话来说,第三阶段之后的以太坊2.0才真正具有使用价值。
这一步的核心是更换了虚拟机。它是一个允许智能合约彼此交互的虚拟环境,允许智能合约具有更强大的功能,而不必变得过于复杂。简单来说,更换虚拟机的主要原因是提高性能,降低智能合约的开发难度,从而使以太坊生态更加丰富。
OKEx高级分析师William告诉链得得App,当前的以太坊虚拟机(EVM)实际上类似于Jave的虚拟机:在部署智能合约时,先将智能合约代码编译为机器可读代码,然后,EVM 通过后进先出堆栈安排来处理此字节码代码。而以太坊 Web Assembly (Ewasm)是基于现代标准 WebAssembly 虚拟机构建的确定性智能合约执行引擎。从以太坊的未来开发计划看,Ewasm 是替代EVM 的主要候选方案,是Ethereum 2.0 路线图的一部分。在去年的Crosslink 2019 Taiwan会议议程上,Hung-Ying-Ying已经明确指出了两者之间的区别(Hung-Ying-Ying 所在的Second State即负责开发以太坊从Solidity 到 Ewasm 的编译器Soll):
EVM的特点
1) 256 位元且堆叠式(staked-based)的虚拟机
2) 很多高阶的指令,例如:SSTORE, SLOAD, SHA3, EC, Call/Create contract
3) 与实体系统架构(通常是 32/64 位)有差异,而 256 位则需要靠模拟来完成
4) 较少程序语言(Vyper, Solidity, …)
EWASM的特点
1) 堆叠式(staked-based)的虚拟机:有独立的区域空间(暂存器或是内存),存取堆叠前3 个物件(EVM 存取 16 个)
2) 支持32 / 64 位的操作
3) 没有高阶的指令
4) RISC 指令集也可以对应到CPU ISA
5) 较大的社群:主流的浏览器都支持,也有较多的程序语言(C++, Rust, GO, …)
他表示,开发EWASM,主要是为了提高以太坊性能,因为EVM操作码转换成硬件指令的过程难度过大;此外,EWASM 项目的设计目标之一是还支持跨多种语言和工具进行智能合约开发,即把 LLVM,C,C++,Rust,JavaScript 纳入开发周期。因此对于开发人员而言选择EWASM是一大利好。
基于POS的共识机制
在这三步走的过程当中,为了配合结构的转变,以太坊会将共识机制由POW转变为POS,具体来说是专门定制的Casper共识机制。首先需要强调的是,PoS是一类共识算法,而不是某一共识算法,是指使用权益(Stake)作为创建区块条件的这一类共识算法。在中文社区,人们在谈到POS机制时往往都把点点币(Peercoin,第一个使用PoS机制的公有链项目)的PoS机制当成PoS的定义,甚至大部分中文书籍都如此。实际上PoS类机制有很多种,点点币的PoS只是其中之一, Casper算法也属于PoS类算法中的一种。
目前传统的PoS类算法,主要有两大类:一类是以点点币,Blockcoin为代表的基于链的PoS算法,这类算法模仿了PoW的机制,通过随机数来决定出块者来模拟挖矿;另一类是以Cosmos为代表的基于拜占庭错算(BFT)的PoS。
Casper实际上也借鉴了BFT算法,但也引入了新的特性:
(1)首先是问责制,即恶意验证者进行惩罚,罚没验证者的所有抵押,这可以解决困扰 PoS 的无利害关系攻击(nothing at stake)的问题;
(2)动态的验证者,Casper引入了一种安全机制来让验证者随着时间进行动态变化;
(3)防卫,为了防卫长距离攻击和三分之一验证者离线攻击,Casper引入了一个弱平衡同步假设
(4)模块化叠加,由于以太坊的计划是先由PoW转PoW/PoS的混合机制,最后过渡到PoS,所以Casper 被设计成叠加层,从而PoW链升级到Casper更加容易。
Casper算法实际上比以点点币为代表的PoS算法更安全,因为点点币的这类PoS算法无法解决无利害关系攻击的问题。
Zheka认为,在传统的 PoW 区块链中,一些个人和机构会充当矿工的角色,利用价格高昂的硬件来解决数学难题,从而铸造新的比特币,并处理交易。矿工通过维护网络安全性来获得增发的比特币和交易费。相比之下,在PoS 区块链中,验证者通过锁定token来为网络提供安全性,从而铸造新的以太币,并处理交易。那么实际上,验证者提供的安全性取决于网络本身的价值。如果有验证者作恶,其锁定的以太币就会被罚没 。罚没机制会激励验证者遵守协议规则。
PoS 之所以具有较高的安全性,一个很大的原因是 PoW 系统容易遭受 “蹲点(spawn camping)” 攻击。如果作恶者所掌握的挖矿硬件足以攻击比特币等 PoW 区块链,比特币便无力阻止后续攻击,因为网络会不断发生 重组/分叉,然后又会被同一帮挖矿硬件攻击,如此无休止地循环下去。相比之下,以太坊 2.0 抵御蹲点攻击的能力要强得多——以太坊 2.0 可以分叉并罚没攻击者的押金。这就好比摧毁了攻击者的比特币矿场。
总体来说,以太坊2.0的出现会为整个区块链行业带来更多可能性。但就开发周期来说,三步走的策略虽然稳妥,但难免会在长时间的技术演变中发生各种各样的改变,路线图和计划非常有可能会发生变更。就目前的进度而言,以太坊2.0似乎很难在2023年之前完成。(本文独家首发链得得App;作者/大文)
评论(0)
Oh! no
您是否确认要删除该条评论吗?