V神最新演讲:以太坊2.0究竟是什么?

本文为 Vitalik 在 Devcon4 演讲的翻译稿算法

祝贺中本聪共识诞生 10 周年!安全

今天个人演讲主题是以太坊 2.0,但我但愿呈现的不只是以太坊 2.0 在技术上的要点,还包括为何咱们须要推动以太坊升级,咱们会作哪些升级,又经由哪些尝试走到今天。服务器

那么,什么是以太坊 2.0 呢?

几年来,咱们孜孜不倦地讨论和研究系统的一些特性,也在 App 开发上投入了大量精力,最终,它们聚集在一块儿,组成一个融洽的世界。这些特性包括权益证实算法, Casper;可扩展性,分片;虚拟机升级,EWASM;跨链合约上的强化;协议经济模型改进,以及很是多促成逻辑层分散化的改进。重要话题还真很多。网络

咱们作过哪些探索?

PoS

权益证实(PoS)的相关研究始于 2014 年。我在一月份发表的这篇博文(Slasher: Punitive Proof-of-Stake Algorithm)阐述了一个叫作罚没者(Slasher)的算法,引入了权益证实算法中最基础的概念:若是你违反协议而且被发现了,(这是能够被证实的),你就要接受惩罚;这一方法能够用来提高安全性。但在那时,正如你能够在幻灯片中看到的,我相信 Slasher 是一种很是有用的建构,可让权益证实“挖矿”的武器库变得更充实,并为咱们提供更强力的理由切换到权益证实。固然咱们还没这么作。数据结构

所以,在那时,要不要 PoS 当成咱们的方向还未有定论。但随着时间推移,这一点变得清晰不少。异步

可扩展性

在 2014 年,首先,咱们探讨了一系列有趣且重要的观念,好比“Proof of proof of work”,这是一种提高可扩展性的建议;“中心轮辐链模型(Hub and spoke chains)”,让一条链成为中心,一系列的链成为附属,这其实就是一个很是早期的可扩展性和分片提议,尝试提升区域内交易的可扩展性,但并不能提升全局交易(即从某条链到另外一条链)的可扩展性;“超级立方体模型(Hypercubes)”,立方体有 12个维度而不是 3 个,所以咱们能够达到比中心轮辐模型更强的可扩展性。分布式

如今,出于多个缘由,这些观念都被抛弃了;不过,真的有人弄了一场浩大的 ICO 来开发它们,真高兴有人愿意尝试(观众笑)。函数

那么在 2014 年咱们究竟有没有取得正确的进展呢?工具

2014 年的进展

有的。咱们获得了一个概念叫作“弱主观性(Weak Subjectivity)”,某种程度上来讲,这是一个半形式化的安全模型,尝试探讨 PoS 保证金的罚没条件,以及在什么条件下 PoS 是安全的。同时,咱们也愈来愈肯定,具备更强安全属性的 PoS 算法是存在的,因此点点币(Peercoin)及其变种是真的有可能的。咱们也逐渐意识到,有一些可扩展性策略可以经过随机抽样跟权益证实算法结合,但咱们不知道具体怎么作。性能

那时候咱们肯定了一个路线图,Vinay Gupta 在 2015 年 3 月写了一篇很棒的博文,列举了当时来看以太坊路线的 4 个主要阶段。第一阶段:Frontier,就是咱们一开始启动项目时所处的阶段;第二阶段:Homestead,从 alpha 走向 beta 版;第三阶段,Metropolis(直译为“大都会”),那时候的预期是开发 Mist 和用户交互界面并提高用户体验。但自那时以来,咱们的注意力转向了实现更强的密码学技术支持,而交互界面的提高变成了平行的目标。第四阶段:Serenity,实现权益证实。从今日后,我愿意称之为以太坊 2.0,固然我也不会拒绝用 Shasper 来代指。为免混淆,咱们还能够称为“Serenity”。

2015-16:低谷

而后,咱们就迎来了一个低谷:咱们在解决 PoS、可扩展性中的一些核心问题上遭遇了一系列失败,Vlad 悄悄地暂停了他在 Casper CBC 中的全部工做。

咱们获得的最有意思的观念之一即是“投注共识(Consensus by Bet)”:参与者对下一次会敲定哪一个块打赌,而一旦某些人下注,他们下注的事实自己便会成为其余人下注的考量因素。这样的话,在某种意义上咱们就产生了一个递归公式,随着时间推移,下注的人会愈来愈多,哪一个块会被敲定也会变得愈来愈明显;在对数轮之后,每一个人都会将本身全部的权益都投完,这样咱们就达到了去定性。咱们沿着这条思路走得至关远,为它建立了完整的概念证实,你能够(在幻灯片上)看到肯定化的过程,还有签名函数什么的。个人意思是,咱们在这里花去了绝大部分时间,但而后整个思路就停滞不前了,主要缘由是咱们认识到了哪一种 BFT 启发型共识算法能够真正安全地工做。

存储租金

Rent 的观念实际上是这样的:与其为使用存储空间收取一次性的高额费用,咱们能够逐步收取费用。所以,以天天、每一个区块或其它方式为计,一旦特定的存储空间被占满,你就须要为此支付必定的 ETH。这里写的是 EIP 103,但实际上应该是 EIP 35 才对,由于 35 才是 issue 号码。这是一个初步的想法,试图造成一个正式的概念。从那时开始,咱们在如何才能最好地利用租金这一点上迭代了不少想法。

2015 年的可扩展性论文

这一篇论文的目标是造成二次方分片和超二次方分片的概念,但它真的太复杂了。它会包含一些很复杂的激化博弈(escalation game)。整个观念是受到 escalation 在法律系统中的做用的启发(我知道 Joseph 的哲学很是喜欢使用这种类比),但我试图把它用到基础层。里面还包含“深度状态逆转“,就是说,若是有些事情真的弄错了,那么大量的状态能够在未来进行深度回滚。真的很复杂。

实际上,其中一个咱们没法彻底把握、但在逐步接近的根本问题,就是所谓的”渔夫两难“(Fisherman’s Dilemma)。这是分片研究中的一个很是根本的概念,描述了状态的扩展性执行(scaling execution)、程序的扩展性执行与数据扩展可得性(scaling availability)之间的巨大区别。基本问题是这样的:若是要运行程序,你可让人们承诺答案是什么,而后你能够用挑战游戏、用二分法搜索肯定在哪一步上谁算错了(译者注:即每次都只运行一半的运算步骤,比对结果,来发现双方到底在那一步上算错了),确认事实后就能够惩罚那些给出错误答案的人。而数据可用性的问题是:不管挑战游戏如何运行,你均可以做弊,由于你能够彻底不公开任何数据,直到机制来检查你有没有公开数据,而后你只要公开机制要检查的那部分数据就能够了。

这已经证实是许多可扩展性算法中的一个很是重大的问题。我过去还写了一篇博文来讨论这个问题,大家能够搜索 A Note on Erasure Coding and Data Availability,里面讲到了更多问题的细节。这也是拖慢咱们进度的其中一个缘由。但即使如此,咱们仍是很高兴能推进以太坊继续前进,咱们走在本身的道路上!

嗯,而后,就出了 The DAO 事件(观众笑)。这也没什么,也没别的问题了。慢着,好吧,又出了个”上海 DoS 攻击“(观众反应有点慢)。

总而言之,The DAO 事件、DoS 攻击,最终耽误了不少人的事件和精力,甚至长达 6 个月。不过,咱们仍是在前进,EWASM 在前进,关于虚拟机的研究在推动,咱们还作了一个替代性版本 EVM1.5。并且你们也多角度、更深刻地理解了更优区块链算法的形态。

砥砺前行

而后,咱们就很是迅速地取得了一系列重大进展。在这段时间,咱们在不少不一样的研究领域都有所收获:一些是围绕权益证实、但愿让咱们的共识层更加高效的;一些是围绕可扩展性,但愿让咱们的基础层共识能够分片;一些是尝试提升虚拟机效率的;还有一些是围绕帐户抽象的,帐户抽象可让用户本身选择要使用哪一种签名方案,这样能够得到后量子时代的安全性,而且让隐私解决方案变得更简单;还有围绕协议层经济模型的。固然全部这一切都还在生长。

Casper FFG

在 2017 年伊始的某个时间点,咱们开发了一个协议,而且起了个谦虚的名字:最小罚没条件(Minimal Slashing Condition)。最小罚没条件转化了 PBFT 类型的传统拜占庭共识;在 80 年代,Lamport、Shostak 等人便建立了同类的材料,但我简化了算法并把它放到了大多数区块链的环境中。

基本的观念以下:在一条区块链上会不断产生新的区块,你能够经过连续的合并和观察来得到一种流水线版的效率:每一轮开始时你都会为本轮添加数据,而在下一轮中人们能够确认这些数据中的一部分;咱们能够从中得到巨大的效率提高(译者注:此即 FFG 的核心思想,一旦在某轮中某区块得到 2/3 的验证者赞成,该区块的父块便被敲定)。

一开始的最小罚没条件有 6 条,而后我减小到 4 条,而一年后,咱们终止合并 prepare 和 commit,这即是 Casper Friendly Finality Gadget(FFG,友好的肯定性小工具)。

分片

上一年的 Devcon 上我演示了这种新的分片设计,就是保持主链不变,而后建立分片做为某种意义上的 Layer-2 系统挂载在现有的主链上,确认足够可靠以后再升级成为 Layer-1。

Casper CBC

而后是来自 Vlad 的 Casper CBC ~ 论文。

Casper FFG POC

泰国时间 2017 年12 月 31 日 23:40,那时候咱们刚好在泰国,Casper FFG 概念验证横空出世。那时候咱们真的很是想肯定,一种 PoW/PoS 混合共识的技术详述究竟是什么样子的,而这一种混合共识会使用一部分来自 Casper FFG 中的观念,还有一部分传统拜占庭容错共识所启发的观念,并加载在现有的工做量证实链上。这会是一种可让咱们快速转向混合共识的机制,而且对现有区块链形成的冲击也最小,而后理论上咱们将有可能升级为彻底的权益证实。

咱们一样在这条路上走了很远,咱们还作了一个 Python 测试客户端,用不一样的 VPS、服务器和电脑通讯来作测试。

Shasper

与此同时,咱们在分片上也取得了许多进展。咱们不断完善分片的技术详述,最终咱们在 18 年 3 月的台北组织了一次集体休整。在这里不少想法开始冒出来,如何实现一条分片区块链看起来变得明朗起来。对,看起来变得明朗起来。

在 6 月份,咱们作了一个很是困难,但我我的认为从长远来看很是有价值的决定。咱们发现:咦,这边咱们有几支团队在实现混合权益证实,他们试图将 Casper FFG 开发为一个现有链上的智能合约,对分叉选择规则作调整;另外一边,有几支彻底隔离的团队,要开发一个验证者或者说管理者合约(后来被重命名为链上分片管理者合约),在这个基础上开发分片系统;他们之间是没有交流的。在分片这一边,最终变得愈来愈清楚的是:让分片系统的核心放在 PoS 链上会给咱们带来更高的效率;变成 PoW 链上的一个合约,咱们就不得不处理 EVM 的开销,应付 Gas 机制,应付不可预测的 PoW 区块时间;PoS + 分片 能够带来更快的出块时间等一系列好处。

而后咱们就意识到,为何这边有个团队在开发 PoS,那边又有一个 PoS 项目?为何咱们要作重复工做呢?而后咱们决定要把两边的工做合并起来。这个决定给以前的许多工做判了死刑,但意义深远:咱们会在一块儿工做,开发同一份技术说明,同一个协议,而咱们能够同时让 Casper PoS 和分片相得益彰。

总而言之,与其这边有一个目的,那边有另外一个目的,而后咱们要努力分辨如何合并两边的成果,咱们还不如在起点上多花一些时间,而后走向一套权益证实和分片区块链。(掌声)

其它

与此同时,咱们花了很多时间讨论分叉选择规则,最终咱们愈来愈接近也愈来愈深刻地理解分叉选择规则;GHOST 算法虽然一开始是为工做量证实设计的,但由于一系列缘由,咱们从新提议用于权益证实。

Justin 开始研究可证延迟函数(Verifiable Delay Funciton,VDF),咱们在斯坦福有个工做室,Justin 一直在跟那里的许多研究者合做。

关于如何实现抽象和租金,咱们也造成了更多想法。由于一些理由,咱们决定将存储租金重命名为存储维护费。

在研究方面,咱们正在研究跨分片交易,好比 csoss-shard-yanking,咱们是广泛化传统分布式系统中的一些概念,用到异步的跨分片环境中;还有资源订价的论文,包括最优化费用市场,如何收取存储维护费,不一样设计之间的权衡。Casey 还写了这篇文章讨论同步假设下的跨分片交易。固然,CBC 的研究也扩展到了,分片领域,对了,这个真的不叫 Valding,Vlad 很讨厌这个词。还有开发,咱们在以太坊 2.0 开发推动中使用的策略是:追求创造性的多客户端去中心化开发。这不只仅是由于咱们有去中心化的追求,这也是一套很是实用的策略,就是打赌别的团队都不会有你干得漂亮;此外,上海事件让咱们醒悟,若是某个客户端出了问题而别的客户端没有,整个网络能够更好地运行;顺便,还让整个生态系统的开发更不依赖于基金会自己。基金会真正开发的客户端是 Python 客户端,Python 在性能上有内在的限制,这也给了你们激励去运行由 Prysmatic 创造的客户端、Lighthouse、Status 还有 Pegasus 以及其余如雨后春笋般冒出的团队开发的客户端。

即将到来的 Serenity

那么就下来,我得说,即将到来的,不能被称为 Shasper。Serenity 即将启航!

Serenity 是什么?

首先,Serenity 是继 Frontier、Homestead 以及 Metropolis 以后的第四个阶段。固然 Metropolis 被分为拜占庭(Byzantium)和君士坦丁堡(Constantinople)两个阶段,而且君士坦丁堡升级就快启动了。

其次,它是咱们在全部这些不一样领域长达四年的研究的集大成者,包括 Casper(不只是混合共识,还包括 100% 纯粹的 Casper)、分片、EWASM 以及全部这些协议研究的观念。

而后,这是一种新的区块链。从数据结构上来讲是如此,但它会与当前的工做量证实区块链保持必定的联系。那么,好比,PoS 链能够感知到 PoW 链的区块哈希值,你能够将 Ether 从 PoW 链上转移到 PoS 链上。这是一套新系统,也是一套相互链接的系统,最长远的目标是:当这个新系统足够稳定的时候,全部现有区块链上的应用能够被存入新系统中某个分片上的合约,而后有一个用 EWASM 写成的 EVM 解释器。这一点尚未最终肯定,但从当前来看,这差很少就是咱们的路线图了。

再次,Serenity 会成为世界计算机,而不是像 1999 年的智能手机同样,每秒只能处理 15 笔交易,勉强能玩一下贪吃蛇。

最后,Serenity 仍会是去中心化的,咱们还但愿在一些维度上,它能够比现有的区块链更加去中心化。举个例子,做为一个信标链的验证者,(从当前来看)你的存储要求多是小于 1GB,比起今天你须要 8GB 来存储状态,或是像网上的流言说的那样存储以太坊区块链须要 1.8TB,都会好不少。

指望的阶段

Phase 0:权益证实的信标链。从某种角度来讲,PoS 信标链是一个区块链仓库,存储着全部信息,但它自身是哑默的。在信标链上会有一些验证者(validator),这些验证者会运行 PoS 算法;它就像是介于测试网和主网之间的东西,它确定不是测试链,由于你能够质押真正的 Ether 进去并得到真正的 Ether 奖励,但它也不是主链,由于上面没有应用,因此若是它崩溃了,人们也不会哭爹喊娘,不会像上海 DoS 攻击事件时那样声泪俱下。

Phase 1:做为数据链的分片链。这就是分片会有的角色。这是一个简化的版本,也就是说咱们并不对状态作分片,而是对数据作分片;你能够把数据放到链上,而后尝试运行一个本身的状态执行引擎。实际上,最容易分片的就是数据。所以,若是你想要在区块链上作去中心化应用,如今你拥有了可扩展性,但并无所以具有状态执行能力来开发智能合约应用以及全部那些很是复杂的东西。(译者注:此句应有疑义。在原文连接所附视频的第 23 分钟。)

Phase 2:支持 EWASM 的状态转换。这一点包括:支持虚拟机、支持帐户、合约、分片间 Ether 转移,等等。

Phase 3 以及更远:不断迭代,加入新的技术。

指望的特征

  • 纯粹的 PoS 共识。

  • 更快的同步确认时间(8-16 秒钟)。注意,由于信标链的分叉选择规则以及签名机制,信标链上的一次确认包括数百个验证者之间的消息传递,从几率学的角度来讲,实际上等同于现有以太坊工做量证实区块链上的数百次确认。在消息同步传递的假设下,已经能够被视为将一个区块敲定。

  • 在同步确认的假设下,10 – 20 分钟达致经济肯定性(Economic Finality)。

  • 经过 EWASM 实现更快的虚拟机执行。

  • 在理想状态下,达成 1000 倍的可扩展性。

后 Serenity 的创新

强化隐私保护。咱们已经作了大量的工做。好比,在拜占庭阶段,咱们激活了椭圆曲线运算、椭圆曲线匹配的预编译。Barry White 作了很是棒的工做,用 Layer-2 来保护代币转移、投票、声誉系统中的隐私。这些工做均可以借用过来。

  • 跨分片交易。

  • 半隐私链(Semi-private chain)。其中的观念是,若是你想开发一些应用并让数据在一部分用户间保持私密状态,你仍然能够将全部的数据都放到公链上,只不过你是用加密形式放上去的,或者上传哈希值、零知识证实,均可以本身决定。

  • 权益证实上的创新。这是咱们始终关切的一个事情。当 Casper CBC 在开销上足够经济时,也会加入到咱们的路线图。

  • 在实现 Serenity 以后,咱们准备将全部的东西都升级到 STARK。好比,将 STARK 用于签名聚合、验证纠删码(erasure code)来检查数据可用性,也许最终会用来检验状态执行的正确性。

  • 更强的跨分片交易形式。

  • 更快的单次确认。将确认时间从 8 秒降到更低。

中期的目标

  • 最终稳定化 Layer-1 的功能

  • 考虑使用 Issuance,以及费用……

  • 在人们但愿协议层提供的保证(guarantee)和属性上可以获得愈来愈多的共识

  • 考虑治理问题

即将到来的更新

在最终发行以前,咱们还会作哪些更新呢?

首先,将协议层的详述定型。一直在关注 GitHub 上的 ethereum 和 2.0 主要规范、信标链规范等内容的人应该直到,协议层发展得很是快,但咱们很快会将它们稳固下来。

继续作开发和测试。如今以太坊 2.0 协议有 8 个实现正在开发。

跨客户端测试网。一些人代表很是但愿看到跨客户端测试网能在明年 1 月份跑起来。我固然也很是乐于看到,今年 8 月的时候咱们已经看到了但愿。在这里简单回顾一下以太坊 1.0 的开发历程。从白皮书提出概念到正式发布,中间隔了 19 个月,用了这么长时间的部分缘由是在技术说明尚未定稿以前,咱们便试图打造跨客户端的兼容性,咱们是前后赞成作测试、发布测试网、等待协议变动,赞成发布新测试网,而后等待更多的协议变动,这样来来回回了 5 次。在这个事情中咱们已经学到了教训,咱们并不须要彻底专一于跨客户端的兼容性,能够等到真正接近技术说明定稿时再说。我认为咱们离发布技术说明的候选稿已经不远了,至少在不包括状态执行的部分中是如此。

最后是安全审计。在座哪些观众认为安全审计是重要的?(观众呼声)哪些观众认为安全审计不重要呢?(鸦雀无声)谁认为这个世界是被蜥蜴人(Lizardman)掌控的呢?(观众笑声)嗯,第三部分的人还笑了一秒钟呢,真棒(译者注:意思是相信世界被蜥蜴人掌控的,都比认为审计不重要的人多)。

最后就是发行啦。大家以为发行不重要吗?(无人回应)嗯,那么在座哪位最喜欢的政治候选人是一个蜥蜴人呢?(观众大笑)

嗯,因此,发行就是咱们期待已久并在过去四年中为之持续奋斗的里程碑。而且,我相信这一切不会太遥远。谢谢!

原文连接:www.youtube.com/watch?v=Km9…

做者:Vitalik

翻译: Elisa, 闵敏, 阿剑

稿源:碳链价值(https://mp.weixin.qq.com/s/3hbOd8VtjSJCbbVZ9P-d_A)