2020年除了万众瞩目的比特币减半事件,以太坊向2.0过渡也是加密货币行业的重大事件。按照规划,2020年以太坊将启动POS的信标连,而以太坊1.x的POW链也将并行运行。以太坊如何从1.x向2.0过渡,2.0将如何运作,想必你想了解详细机制。本文来自去中心化存储与分发平台PPIO高级区块链工程师Daniel Wu,一文读懂以太坊2.0走向世界计算机之路。
以太坊2.0一词描述了一个新的和改进的以太坊区块链,它具有更高的可扩展性,更快速和更好的区块链。正如以太坊核心研究员Danny Ryan所说,以太坊2.0的主要设计目标是:
系统弹性:面对大量节点中断或网络破碎化时,保持系统运行。
安全性:使用密码学和设计机制来使尽可能多的验证节点完全参与每个时间单位的验证。
简单性:系统复杂度越低越好,甚至可以牺牲效率来降低复杂性。
持续性:为系统选择保证量子安全性的组件。如果该组件暂时不能满足量子安全的要求,那么选择易于更换的组件。将来,当存在量子安全组件时,可以轻易替换这些组件。
去中心化:目标是允许普通笔记本电脑使用O(C)复杂性的资源来处理/验证O(1)的分片任务(包括任何系统级验证,例如信标链中的验证)。这将允许更多的低端设备参与网络。
要了解所有这些工作原理,下面请看“宁静”(Serenity)每个阶段的详细信息:
自以太坊启动以来,它计划了四个发展阶段:前沿(Frontier),家园(Homestead),大都会(Metropolis,)和宁静(Serenity)。截至目前,以太坊已经经历了前三个阶段。随着以太坊的发展,它引领了智能合约时代并开启了区块链2.0时代。
以太坊2.0本身是一个彻底的、完整的修正和重新设计,需要数年才能完全启动。但是,在以太坊进入被称为“宁静”的第二次迭代之前,原始版的以太坊链或以太坊1.0自身也将经历变化——伊斯坦布尔和以太坊1.x。以太坊1.x将继续完善以确保以太坊向“宁静”发展时原始PoW链的连续性。
但是就“宁静”而言,它将有哪些真正改变?
也许最大的变化是从PoW(工作量证明)到PoS(权益证明)的完全过渡。为这个以及其他改变,“宁静”(Serenity)升级将分四个阶段实施:
阶段0:信标链(Beacon Chains)
阶段1:分片链(Shard Chains)
阶段2:eWASM取代以太坊虚拟机(EVM)
阶段3:持续改进
首先要实现的是信标链的建立。
Prysmatic Labs的联合创始人Preston Van Loon2019年5月在Medium上发表文章宣布,推出以太坊2.0信标链测试网络,标志着第0阶段测试网络的完成。
信标链
信标链是使用POS共识算法的链,这是以太坊2.0的基础架构。在以太坊2.0的第二阶段,分片链将在信标链的帮助下运作。
信标链的工作方式是,为每个分片随机分配不同的验证者,以发布区块,同时还为每个分片链分配一个委员会。该委员会的职责是对分片链验证者产生的区块进行投票。
分片链的区块需要一半以上的委员会成员同意。分片链还可以使用信标链来完成跨分片的操作。目前,信标链将与以太坊1.0链并行运行,在此期间并将依赖以太坊1.0链的状态。
信标链如何工作?
信标链使用PoS算法。在PoS算法中,每个矿工产生区块的概率与矿工的权益成正比。但是,信标链中的每个矿工实际上都具有相同的权利。
每个矿工只能向信标链抵押32个ETH。要成为信标链验证者,您需要将交易发送至以太坊1.0上的存币合约(Deposit Contracts),这要求您拥有32个ETH。以太坊1.0上的存币合约(Deposit Contracts)的公开方法(public method)有两个参数:
Pubkey,信标链中验证者的签名公钥
Withdrawal_credentials,用于以后取回抵押的ETH
信标链会将新添加的验证者标记为“等待验证者”(Pending Validators)。一段时间后,他们将成为活跃验证者(Active Validators),这意味着他们可以参与区块生成。
信标链将对长期不活动的或坏的验证者进行处罚。当验证者的权益减少到16ETH时,他们将无法参与POS协议的运作。最后,信标将排除权益低于16ETH的验证者。
登记验证者
等待验证者,这些帐户将添加到验证者列表中
活跃验证者,这些账户已添加到验证者列表中
退出验证者,这些帐户离开验证者列表
轮询信息
验证者投票
随机数,用于随机选择提案人和委员会
提案人选择
在提交区块之前,需要选择验证者作为提案人。以太坊1.0中提交下一个区块的权力取决于矿工的算力。如果矿工的处理能力很大,则该矿工有很大可能被选为下一个区块的生产者。
在以太坊2.0中,产块节点的选择基于随机数;在区块链系统中很难生成高质量的随机数。但是,POS协议要求随机数的源是分布式的,可验证的,不可预测的和不可替代的。
使用随机数从一组验证者中选择提案人,使验证者无法知道谁被选中。这样可以防止它们合谋发起攻击。
在信标链中每6秒生成一个区块。这6秒也称为时间槽间隔期(slot gaps)。在每个间隔期间,选定的提案人从信标链的先前区块的验证者那里收集所有选票,并使用它们形成一个新区块。
在将提案人提议的区块输入信标链的主链之前,需要对其进行投票。
委员会可以对提案人提议的区块进行表决,通过表决的区块可以收到最终确认。理想情况下,如果可以快速收集选票,则委员会中的成员最好都是系统中的活跃验证者。
主链选择规则
在以太坊中,最长链由算力决定,而以太坊2.0的信标链则使用POS算法。因此,将需要一套不同的规则来确定每个人都需要遵循的分叉链(注:即主链)。信标链通过使用LMD GHOST(Latest Message Driven GHOST)来解决此问题。此方法涉及一种基于消息或换句话说通过投票运行的算法。一般来说,票数最高的分叉链将被视为主链。
在上图中,尽管顶部链是最长链,但绿色链是主链。
分片链
分片链是以太坊2.0网络未来可扩展性的核心特征。
分段是指将数据库中多个节点(例如去中心化数据库或其他类型的数据库)的数据处理职责分开,从而允许同时进行交易、存储和信息的处理。
分片的概念与当前以太坊1.0的模型有很大不同,后者需要所有全节点来处理和验证每个交易。
第一阶段将处理分片链的最终确定性和共识。需要记住的是,现阶段的分片链更多是“实验”,而不是解决区块链扩展问题的直接方法。
信标链将监视分片链的运行。
验证者抵押32个ETH后,将其随机分配给某个分片链以进行验证(此处的随机性可确保验证者的分配路径不可预测,否则将面临被操纵的风险)。
根据以太坊2.0规范,信标链将支持1024个分片链,每个分片链具有128个节点用于验证。
eWASM
在第二阶段,随着新虚拟机eWASM(以太坊版WebAssembly)的引入,分片链将从相当基本的数据标记形式演变为完全的交易链,从而承担起扩展以太坊网络的职责。
为了维持区块链生态系统的正常运行,节点必须在虚拟机中执行交易和智能合约。
以太坊1.0的虚拟机为EVM。切换到以太坊2.0后,以太坊网络的虚拟机将升级到eWASM,这是一个基于WebAssembly的虚拟机。按万维网联盟(W3C)的标准WebAssembly是开源的。
由于WASM支持多种编程语言,因此eWASM可以让任何语言编写的智能合约都能运行在以太坊上。与Ethereum 1.0的EVM相比,EVM仅允许以Solidity编程语言编写的智能合约运行在以太坊上。
ETH 1.X
ETH 1.x是以太坊1.0系列升级的代号,因为以太坊2.0全面启动需要2-3年,这意味着当前的以太坊仍将继续运行。阶段0的信标链和阶段1的分片链将在1-2年内完成。将于阶段2实施的eWASM将于2022年某个时候完成。
以太坊2.0将被部署为独立的区块链,因此它不会取代以太坊1.0,这意味着以太坊1.0的区块链需要在未来5至10年内保持持续发展。
以太坊1.x背后的团队仍处于制定路线图的早期阶段,但他们已经确定了以太坊1.x升级的三个主要目标:
增加每秒的吞吐量以增加主网络的可扩展性(通过优化客户端,以便网络可以不断增加区块的Gas限制)
确保全节点可以长时间运行(通过减少“状态租金”(state rent),并限制全节点磁盘空间要求)
通过包括eWASM在内的虚拟机升级来优化开发人员体验,并通过使用不同的交易成本模型来稳定总交易成本
结论
Vitalik Buterin曾经说过:“以太坊1.0是几个人为建立世界计算机而作的不懈尝试;以太坊2.0将最终实际成为世界计算机。”
如果以太坊真的实现了他们的目标,那么我们将迎来一台世界计算机,它具有完全可扩展的通用区块链。
我们迫不及待想看到它!
原文链接:https://medium.com/ppio/ethereum-2-0-the-road-to-being-the-worlds-computer-663d4e6a90f1
作者:Daniel Wu 编译:金色财经Maxwell
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。