以太坊 2.0 路线图改变了吗?听听资深研究者怎么说
阿剑(主持人):各位在 B 站收看本场直播的朋友们,各位晚上好!这里是由万向区块链实验室和新链空间举办的蜂巢学院线上公开课,本期是第四十二期,主题是「关于以太坊 2.0 路线图,搞研究的大脑在想什么?」我是今天的主持人阿剑。
非常荣幸受邀担任本场圆桌的主持,作为关心以太坊的人,更令我激动的是今天晚上可以听到三位非常资深的研究员对以太坊路线图解读和判断。
现在先请三位嘉宾自我介绍一下。
潘致雄:大家好!我是来自链闻的潘致雄。
目前自己比较多的精力在以太坊本身和以太坊周边的应用上,更多是以媒体角度观察生态,和研究机构应用垂直社区的关注点和深度还不太一样,今天主要是和大家讨论和学习的。
姚翔:大家好!我是姚翔,来自 MYKEY。
我主要关注以太坊底层研究,例如 EIP 内容,也在做考古的工作,观察这个成功的系统是怎样一步步成长起来的,是很有价值的事情。我是密码学相关专业,对密码安全类的技术方案个人更感兴趣一些。谢谢!
郑嘉梁:大家好!我是郑嘉梁,来自 HashKey Capital,HashKey Capital 是一间投资机构,我做研究是从投资的角度来看。
刚才跟几位老师聊,发现几位老师考古能力非常强,但做投资更多的角度是着眼于未来。会从不同的角度跟大家学习一下以太坊 2.0,以太坊 2.0 是非常重要的话题,几位老师在做研究方面都是行业标杆式的人物,非常荣幸跟大家一起讨论相对来说挺复杂的问题。谢谢!
阿剑(主持人):感谢三位嘉宾的自我介绍,今天圆桌就要正式开始了。今天的主题是 ETH2.0,ETH2.0 是 2020 年大家谈得特别多的话题,现在收看的直播的观众应该不止在一个场合听到过 ETH2.0 的讨论了。
是什么原因让我们在 2021 年开头重新回到 ETH2.0 话题?关注 ETH2.0 路线图进展的朋友可能会知道,在 2020 年 10 月以前,有一种常见的对以太坊 2.0 的解释是,它将分成三个阶段来部署, Phase0 实现权益证明的共识机制;Phase1 通过分片链来测试整个系统的数据吞吐量;Phase2 为分片链添加执行功能,把数据吞吐量转变为事务处理的吞吐量。
在这种解释中,有三个特点:
强调三个阶段的按顺序推进。
较为重视 Phase 0 和 Phase 2 的里程碑意义;一个是开启权益证明,另一个让分片真正具有执行功能,让系统变得可用。
尽管有可能将 PoW 以太坊区块链的迁移时间放在 Phase 1 实现之后,但更有可能放在 Phase 2 实现之后(也就是整个系统可用之后)。
这是在 10 月以前看到的解释。但在 10 月,Vitalik 在以太坊魔术师论坛上发表了《以 Rollup 为中心的路线图》。结合其他研究员在公开的 AMA 活动透露的信息来看,以太坊 2.0 的路线图似乎有所改变。
它强调 Phase 1 有了独立的实现目标,即为 Rollup 方案提供发布数据的空间;
弱化了 Phase 2 在使系统可用上的意义,不再需要等到 Phase 2 系统才可用;
Phase 1 与合并的研究和实现都将并行推进。
有鉴于这些公开的信息,我们今天紧扣关键词 「以太坊 2.0 路线图」,来听听三位资深的研究员的解读和观点。
第一个问题,在三位研究者看来,以太坊 2.0 的路线图是否已经改变?还是说,改变的只是推进策略,而不是长期的目标?
潘致雄:谢谢阿剑!我觉得很明显,以太坊路线图已经很明确地改变了,而且是在非常短的时间内发生了非常大的变化,变化是非常剧烈的。
发生这件事情的根本原因,一方面是 Vitalik、基金会、开发者发现了 Rollup 这套神奇的机制;另一方面之前这套路线图里的跨分片、分片执行等一系列难度。这两方面的考虑之下,以及 Rollup 这套机制已经将原本链上计算+储存范式发生了彻底的转变,变为链上无损压缩、在链下进行大规模运算,在链上进行轻量级验证,这种范式变化可以使以太坊区块发生非常大的扩容。
所以,我觉得从长期来看,Rollup 很可能会成为以太坊核心协议的一部分,就像现在我们所认识的以太坊域名协议(ENS)一样,虽然路径是不一样的,ENS 是官方培养后来放养,ENS 可以自己赚钱。但 Rollup 存在很多方案,官方初期是以市场化、资助的形式资助部分 Rollup 的方案,但最终还是需要市场化 PK。
最终 Rollup 可能不会成为官方协议的一部分,但可能是大家都离不开的东西。
阿剑(主持人):非常漂亮的回答。姚老师怎么看?
姚翔:这个题目我特别喜欢,路线图是不是真的改变?
首先,应该定义什么是「路线图」,今天我特意看了 Github 页面修改记录,2.0 是有规范文档的页面,2.0 的 spec 倒数第二次修改是去年的 12 月 18 日,修订是 Vitalik 做的,删掉了 Phase1 和 Phase2 两个表达,修改成了在 AMA 里面提到的三个东西:轻客户端、合并、分片,合并和分片都还在 R&D 的过程。
(关于合并和分片的)讨论很有趣,会先把你带到聊天室里,聊天室里告诉你这个已经不用了,再导到 Discord 去。关于合并和分片这两件事情的讨论都挪到 Discord 上去,轻客户端有比较实际的成果。
我们一直在做考古工作,有一个事情我还没有考出答案。「2.0」的词源在哪里,原先只是以太坊升级的阶段 Serenity。为什么要叫 2.0?从品牌的角度、宣传的角度一定是有特殊含义的,肯定意味着一次非常大的升级。
我目前能考据出最早的点是 2018 年 3 月份台北分片的工作坊(Taipei Sharding Meetup),没有找到视频,相关资料提到 Vitalik 在那次会议上说以太坊 1.0 是一群人充满斗志地尝试建设世界计算机,而他认为 2.0 是真正的世界计算机。在他看来 1.0 是不那么完备的系统。
再看 2018 年中期的资料,2.0 一开始包含内容非常多,Casper 等,大家可以自己找,非常多的内容。但最核心的一点就是 Sharding,为什么这么讲?6 月份台北以太坊工作坊上,Hsiao Wei 的演讲标题是「What you can do for Ethereum 2.0 a.k.a. Sharding。
a.k.a Sharding 什么意思?以太坊 2.0 就是围绕分片展开的,分片又是为了什么?分片是一种技术,有它的目标,目标是为了提高系统的可扩展性。现在来说,以太坊是单线程的计算机,单位时间里能处理的计算、可传输的数据量都是有限的,分片是把单线程系统变成多线程系统。
如果我们认可的可扩展性目标,那我认为路线图是没有变化的,甚至表现出了理性和务实。在 Rollup 方案出现后,思考计算和验证的方式发生了变化,调整推进路线,向更符合现状的方向发展是非常合理的。
如果以太坊 2.0 推进的策略就是分片,那路线图毫无疑问就是发生了变化,尽管所有关于分片的讨论都在积极地进行,但直到今天也没有特别的能拿得出给公众看的研究成果,甚至行业对分片的问题有非常多的误解,直到今天还有很多人停留在过去两年对路线图和进展的认识上,甚至是过时的二手信息,造成了很多不准确的传播。
以上是我的看法。
阿剑(主持人):如果我一开始的问题是以太坊 2.0 的路线图改变了吗?姚老师的回答就是你说的以太坊 2.0 是什么意思?好的,听听郑老师的看法。
郑嘉梁:前面两位老师说得挺好,我突然想到一点,姚老师刚刚说的关于扩容的问题。
Vitalik 在 2020 年初的时候一篇 Twitter 解释过以太坊 2.0 是什么,ETH2.0 is all by scaling,所有的东西都是围绕着扩容进行的。
在我的理解范围内,Sharding 是一种扩容,Rollup 也是一种扩容。既然都是扩容,几个方案之间会有比较,就目前以太坊状态来讲,Rollup 是 better solution,Sharding 拿不出短期内可行的方案,但以太坊扩容又变成了迫在眉睫的事情。
区块链除了以太坊以外,还有所谓的「以太坊杀手」等生态,不扩容的话,其他链也已经开始扩容了,或者一上线 scaling 就比以太坊强。
但以太坊有强大的生态,要把生态继续往前滚,需要自己的生态不断往前发展,而且不是光跟自己比较,要跟别人比较,是很多维度的竞争。
从 scaling 的角度,2.0 的目标没有变,步骤是加速的,有一点同行压力。大家对以太坊的期望是如果以太坊能变得更好,就不需要别的链,也不用迁移,大家还是希望以太坊可以把「世界计算机」、「金融轻结算」这样的角色扮演好。
以太坊本身不光是技术方案,还是大的生态,生态要兼顾大家的发展,大家都需要生态做起来。我认为加速是正常的,从工程化的角度来讲,一直围绕着理论上可不可行有点慢,我个人认为把能提起来的速度更加快一点是比较好的。
对我来讲,2.0 目标没有变,路线加快了。这是我的理解,谢谢!
阿剑(主持人):感谢三位嘉宾对第一个问题的回答。虽然三位嘉宾都不约而同地提到了在过程中大家对分片的认识、推进,以及对 Rollup 技术加深理解影响了大家对以太坊 2.0 该怎么推进的思路。但我们还可以意识到这个问题是非常复杂的,很难仅凭某几个方面就说以太坊 2.0 的路线图已经彻底改变了,毫无疑问的是在某些层面上已经发生了变化。
接下来的问题想请三位嘉宾各自讲解,对于自己所构想的改变后以太坊 2.0 路线图中,哪个步骤是最难以实现的?这个问题是否有可能导致以太坊 2.0 整体进度停滞?
潘致雄:刚刚姚翔说了很多关于 2.0 已经变成什么样子了,而且某些还是在 RND 阶段。关于这些讨论大家都没有特别充分,而且大家能讨论的素材也没有这么多。
我会认为其中有一块的难度是非常大的,怎么将 1.0 合并到 2.0 的具体方案?我认为这件事情已经超越了纯技术的范畴,牵扯到生态中应用、钱包、矿工、节点如何配合,大家如何看待这套方案。
合并的事情在线下聊过很多次了,差不多的方案有点类似于 1.0 在某一个区块高度的时候把状态导到 2.0 的网络中,但中间除了技术细节,更多看生态应用会怎么样,以及 1.0 这条链是如何宣告落幕的。
我们在想,这套方案目前来看是不是太硬了,是不是有可能官方 RND 一些更适合大家的 migration 方案,比如说类似于 Uniswap 从 V1 切到 V2 的很好案例,让用户自己双向决定,因为 V2 有很好的功能,大家愿意去 V2,而不是大家被迫去 V2。现在的方案有点像在某个时间点,没地方选,只能去 2.0 了,但 Uniswap 不是这样子的。
我认为目前合并这件事情需要更多讨论,如果不充分讨论可能会导致之后的一些问题。
姚翔:我非常同意潘老师的想法,他说了我要说的一部分。
这里面每一项都很难实现,所以要把先后依赖关系打破。从我的视角来看因为都很难,如果一个等一个也不能确定进度,大家并行来做,哪边先跑出东西再调整方向,这也是比较合理的工程推进方案。
潘老师刚才提到了,这里面「合并」包含的社会学共识更多,甚至认为这里面的技术问题并不是那么重要。随着以太坊应用的持续增长,在合并发生前,每多一天,合并的困难和阻力都会变得越来越大,这是比较难实现的东西。
如果说跳出路线图内容,最难的反倒是路线图的决策,为什么会在两年多的持续研究,2018 年 3 月份就在台北讨论分片的内容,今天我回顾了会上的很多东西,非常有价值,再去做一些梳理和考古,所有的客户端团队都在那里,最顶尖的研究员都发表自己的看法。
为什么两年多以后路线进行这么大的修正,而且修正是在短短几分钟内完成的。大家会看到我以前在微信整理的 Note,描述了以太坊 2.0 实现会议的第 52 期,路线图切换只用了 4 分钟,其中还有一些沉默。这件事情让人不得不去想背后的原因是什么?我个人认为现在在以太坊的路线决策上已经出现了一些问题。
昨天我还发了一个朋友圈,有一个 Layer 2 项目 CTO 康斯坦丁在抨击以太坊缺少 Formal governance 正式治理,是 super centralized system。很多决策会影响到开发者的实际在工作的应用代码。
问题的出现不是问题,但问题必须摆在台面上来,如果不摆在台面上来进行展开讨论,这个进度我是谨慎不乐观的。
在过去研究的这几年时间里,研究团队、开发团队都是非常聪明的人,他们是可以交付东西的,只是有一些关于决策的东西要放在台面上讨论。
这是我的观点。
郑嘉梁:我稍微补充一下。我印象中 2.0 路线图是最后 Sharding 实现以后把 1.0 (1.X)作为分片链接到 2.0 里,不会影响原来 1.0 的任何东西,1.0 和 2.0 是并行发展的。但是前提是 Sharding 一定要做好,Sharding 这边已经做好了,1.0 生态继续繁荣下去,现在的所有东西都不用改,以太坊还是保持现在道路继续往前发展,Sharding 完成以后直接并入 2.0,皆大欢喜。但是前提是 Sharding 一定要实现。
Sharding 在技术没有能保证在未来一定可以实现的情况下,会导致现有生态的合并方案到时候完不成,如果 Sharding 完不成不如现在的状态先做一次合并。我自己猜测,可能算是比较可行的选择。
如果不是按 123 的顺序,如果是并行顺序的话,Sharding 就变成可选项而非必选项。不仅取决于区块链的技术,还取决于分布式系统的技术在未来 2、3 年对 Sharding 是不是能实现一些突破,这样 2、3 年之后区块链把分布式系统的技术改进借过来,也有可能就实现 Sharding 了。
这变成类似万无一失的方案,Sharding 在最后无论实现还是不实现,2.0 合并都要先行,高难度的东西会退后,实在不行的话保持状态也是可以的,是大家可以接受的 2.0 状态。
所以说,我会觉得 Sharding 在技术上没有办法很确保在 2 到 3 年以后一定会实现,由此对以太坊生态会造成很大影响,还是从生态的角度考虑这个问题。
阿剑(主持人):谢谢三位嘉宾,到了第二个问题,三位给出的信息量非常多非常大,虽然我是当主持人,但实在是忍不住想多加一句。
姚老师最近在朋友圈发的问题是这样的,各位知道以太坊的状态数据会不断增加,为了抑制状态数据的增加,以太坊当前治理程序选择的办法是隔一段时间在需要硬分叉升级的时候提高某一些操作码的 gas 消耗量,由于很多合约预设了自己的 gas 消耗量是多少合约能正常工作,操作码 gas 消耗量的改变会对他们造成非常大的困扰,甚至会直接破坏合约,这个事情在君士坦丁堡分叉实行 EIP1884 的时候已经发生过一次了。
这个问题确实像姚老师说的那样是个问题,而且问题本身不那么重大,但要有合理的方法公开讨论,大家不能认为这种事情是完全无所谓的,我们就是这样做事情的,这是一种非常不负责任的态度。
像刚刚三位老师已经提到了对路线图的理解会影响到对问题的回答,实际上这是非常复杂的问题。刚刚三位已经提到了不仅有技术上的难题,分片怎么实现,怎么保证现在系统的可用性,也包括了一个很大的问题,在社会共识上怎么让大家愿意迁移到系统。
这两方面还有一定的关联,如果分片实现的特别好的话,大家对过程会更有信心。但如果分片技术或者对 2.0 下的具体执行没有非常清楚能够得到大家公认的答案的话,这个过程会变得更加艰难。
这引向了一个问题,也是在讨论路线图时经常提到的问题。在你们看来,你会认为完整以太坊 2.0 路线图的实现需要多长的时间?或者说,可用 2.0 需要多长时间实现?
潘致雄:比如说看到信标链,从预期上线到最终上线有一年的时间差距,延期了一年。
再看另外一些最新的演进,包括 Vitalik 最近发布了关于数据分片的细节,包括此次以太坊 2.0 变化之后的数据分片纯技术层面的东西。
历史上发出一篇论文到最终执行,一般至少隔 2 到 3 年的时间,Rollup 也是,从 2018 年中期早期 Rollup 才出现,2021 年 Rollup 才是刚刚可用的阶段,我对 2.0 完整版可用不是特别有信心,像刚刚郑老师说的,真得要 2、3 年之后才有可能的情况。
但是反过来说,现在社区也理解到一件事情,更实际和更现实的扩容路线不依赖于 2.0 的 Sharding,而是依赖于 Rollup,因为 Sharding 只是 64 个数据分片,但是 Rollup 已经帮你提升了 100 倍的性能(两个数量级),额外还有一些 Backup,还会有一些可以提升的空间,比如 TurboGeth 和大区块。
一百倍甚至几百倍的提升对网络几年的发展已经是「量变」到「质变」的不同了,社区大家已经不依赖于 Sharding 了,只要大家把 Rollup 玩好,2 到 3 年间应该没有很大的问题。
我对 ZK Rollup 和 Optimistic Rollups 的看法比较乐观,Rollup 是一套既可以兼顾现有矿工利益也能兼顾 2.0 创新方向的一条路径,也不能说一定兼顾矿工利益,但是矿工无法改变这件事情,因为 Rollup 不需要改变现有共识,他们必须被迫接受 Rollup 方案。
姚翔:在我没有那么像今天一样考古、深度参与社区讨论之前,我对很多问题的认知比较片面。2018 年去布拉格开会前,当时心想是不是 2.0 快了,现场感觉好像没有能交付出来的东西,虽然进了一步,但心里还是很慌,不知道当中有多大的预期给人时间上的确信。
挺大的问题在于现在的系统框架越来越复杂,能看懂的人越来越少,能参与讨论的人越来越少,可能给不出更多的建议。最近我在做账户抽象(的研究),原来账户抽象也是 2.0 很重要的框架部分,我在做这件事情考古的时候,关于账户抽象的安全性问题有一个研究员写了一篇「安全性分析」的文章,修改了 geth 的客户端,做了 DoS 攻击演练,但是没人给他回复,没人在帖子下回复这里面是不是有点问题或怎么样。但是这篇文章得到了 Vitalik、Danny Ryan 的指导,所有的文献里都会引用这篇文章说大家看这是安全性分析。但我认为没有多少人能看懂,要真的理解的话要花很长时间,另外他是自己写的客户端,怎么验证这个客户端的数据是不是那么准确?可能要做更多的工作。
在这样的基础上,系统要想安全实现,必须要更多大规模的人参与,在比较对等的位置上进行讨论,我对这件事情不是特别乐观的。
潘老师刚刚提到的关于整个系统往更好的方向去走,这件事情也还是很有希望的,不仅是 Rollup 的方案,现在网络的带宽在不断增加,计算机验证速度在不断提升,帮助网络更加稳健。在这五年时间里,以太坊吞吐量有显著提升。当然这是硬件、条件比较底层的优化,Rollup 更多是在密码学层面的优化,这些都是可以期待的。
从历史经验上来说,比较完美的系统目标一般都不太能实现,无非是怎么取舍,在中间选择我们想要的东西取舍的程度。最简单的可用方案是直接把现在的这套智能合约系统在信标链上实现,让信标链变成可执行的环境,但这显然不是大家想要的结果,所以可用不是非常紧迫的目标,现在的系统也是可用。
郑嘉梁:刚刚两位老师说的让我想起一些事情,补充一下。
以太坊最早的扩容方案是 Layer 1 和 Layer 2 并行的,最早有 Sharding plasma,当时设想无论在 Layer 1 还是 Layer 2 都要做起来,但现在明显转向以 Layer 1.5 为核心的扩容,中间肯定是碰到一些问题。
记得 2019 年的时候除了 Layer 1、Layer 2 还有 Layer 0,很多项目在 2019 年提出 Layer 0 扩容,把区块传播速度优化,最近声音会比较小,因为 Rollup 声音实在太大,把 Layer 0 通信协议的层面扩容声音都盖过去了。
这些东西以后还是会被翻出来,就像 0、1、2 之间大家选一个最容易执行的方案先去做,如果做不出来再找其他可行的方案再做。现在把 Sharding 的扩容方案放在后面,先把 Layer 2 做出来,如果 Layer 2 有难度的话可以去做 Layer 1,如果 Layer 1 有难度的话就做 Layer 0。
刚刚姚老师、潘老师讲了可用现在确实是可用,但不叫「更好的以太坊」,叫「可用的以太坊」,不是以太坊基金会、社区的目标。扩容比较复杂,尤其是 Sharding 部分,为什么 Rollup 方案大家转向这么快?觉得容易实现,理论上也站得住脚,记得 2019 年 Vitalik 发了文章,就是用 zkSNARK 实现 500tps 的目标,是 ZK Rollup 的雏形。
2019 年的时候他就已经很喜欢扩容的方案了,在 Sharding 以外会找更可靠的方案,不能把所有的扩容方案都压在某一层、某一个方案上,对系统和方案来说太过危险了,这是一种比较现实的选择。
但是真正实现特别更好的以太坊,时间上不要抱太大的希望,慢一点会比较好一些。
阿剑(主持人):虽然三位老师没有给特别明确的时间,也说希望路线图能随着时间的推移变得更加清晰,但都指出系统改善需要有很多方向,无论改进哪个方面,比较重要的是用安全的方式实现改进,保证最大限度地满足对可靠系统的追求。
非常感谢三位嘉宾告诉我们往常的媒体讨论、圆桌讨论中没有被触及到的比较深的问题,不管是社区治理、技术方案细节、生态平衡各方需求实现社会共识上的合力,这些问题在之前都是很少触及到的。那么,请问各位认为一个完成形态的 Eth2.0 比当前的以太坊区块链更 「好」?或者说,它在哪些方面更优?
潘致雄:好不好相对而言可以衡量一些,最重要的指标是性能,以太坊 2.0 本身就是为了扩容而实现的,如果这件事情做不到性能有数量级上的提升肯定没法说好,但如果能做到提升,同时能兼顾到安全性、去中心化的特点,也可以认为是好的系统。
现在以太坊也有一个比较尴尬的问题,如果市值太高,会导致生态更偏向于更高数额的交易规模导向,很多高频、低价值的生态根本没法运作,离愿景会更远。如果市值更低,无论是 PoW 还是 PoS,网络的安全性都会有很大的权衡。
好在哪?有哪些方面更优?可能会有两个方向。
1、PoS,信标链是为了实现 PoS 部分的,把工作量证明变成权益证明。这部分我的观点比较中性,以太坊本身就是实验的大沙盒,挑战新基础设施没有逻辑上的问题。
当然肯定会有各种各样的权衡,之前讨论也很多。问题还会牵扯到 PoS 是不是足够好、是不是更优。从现在来看,历史上有些项目已经实现过 PoS 了,但至少没有看到明确的证明 PoS 一定比 PoW 非常好的特点。
2、数据分片(Sharding)。原来的 Sharding 方案是在 Sharding 上做执行,但现在放在信标链上做执行,数据分片具体是怎么运作的,这方面的细节不知道是不是要经过更多的讨论、验证才能具体了解可执行程度以及是否能做到像开发者说得那样好。
姚翔:谢谢潘老师、谢谢阿剑。没有一个完美的系统,大部分的决定都是取舍,之前我在 Twitter 上看 Bitcoin core 开发者说不可能什么都不付出得到非常完美的东西,这是不可能的,最终取决于我们需要什么样的系统,为什么是以太坊而不是其他的公链获得市场的认可。
当然,每个人有自己的观点,有很多种方式来解释,像社区、先发优势种种。站在我的视角上,不妨回顾一下 2.0 的设计目标,design go 写在 spec 里的设计目标。
第一条,要尽量减少复杂度,甚至以损失一些效率为代价。
第二条,当主要的网络分区(中国、美国)以及很多节点脱机掉线时,以太坊网络仍然能保持活性。
第三条,关于密码学的,希望所有的组件都是能抵抗量子计算机、是量子安全的,至少可以很容易地换成量子安全的对应物,可能算法现在不是量子安全,但万一量子计算机出来了,可以比较轻松地保证系统在运行的情况下做更换。
第四条,可以利用密码学技术,用相关工程设计满足在一个单位时间内有大量的验证者参与,就是所谓去中心化的目标,要大规模的验证者,不能是很少的。
第五条,从个人和系统的关系上,允许消费级的笔记本电脑,用常数时间的复杂度处理和验证 Sharding 的分片,包括系统级的验证、信标链。
听下来,一切的根本都在安全性,要保证有足够多的人维护系统的安全,验证系统里发生的每一件事情,甚至个人也可以参与在网络中。有很多公链不可能用个人电脑来运行节点,验证历史上所有的事情。
回顾 2.0 的设计目标,除了抗量子性以外,1.0 做的都还是 OK 的,唯一的问题是确实不那么可用。回到性能问题,确保条件都能满足的情况下解决可扩展性问题,解决吞吐量问题。现阶段,我的观点是 Rollup 给了我们新的选择,不如先去尝试。一百倍的空间是不是能满足系统的要求?可以看看,至少比还没有那么明确设计方案的 2.0 是现阶段更紧迫的事情。
从我的直觉层面,我不太能相信一个东西什么都好,这不太可能存在。既然有设计目标,设计目标是以太坊核心开发者的共识、社区的共识,就以设计目标为基础。
郑嘉梁:扩容是没有什么异议的,速度快是没有什么问题的。剩下的问题就是 1.0 和 2.0 的问题,解决状态爆炸问题也是一个方向,肯定要去解决。想来想去其实就是 PoS 是否比 PoW 好的问题,这可能是最最核心的问题,前两个问题是没有什么异议的。无论是在实际上还是在数学上,PoW 已经证明了安全性,以太坊跑在这样的共识上,这么多年没有出现什么问题也证明了一些东西。
PoS 大家都很喜欢,新出来的新一代区块链全都会选用 PoS,还用 PoW 的话会显得更像「老古董」,有点过时,赶不上潮流。
转向 PoS 是没有办法的,这是大的趋势,新一代的公链都是往这个方向转的,或者一上来就是这么设计的。PoS 好不好社区里讨论的都比较多了,无非是矿工、持币者、生态者之间比较重要的利益相关者在不同的共识下有什么样的表现,PoS 的安全性还需要再验证。
说白了,不同的链选用 PoS 是不一样的,如果很小的区块链用 PoS 确实很容易被攻击,套在以太坊上有可能不会发生什么问题,但并不代表 PoS 本身没有问题,只能代表以太坊生态的强大。有些事情会掩盖另外工程上、科学上的特性,没发生问题不代表不会发生问题。
讨论来讨论去就是 PoS 还是 PoW 更稳定,但这是很长时间没有定论的东西。既然阿剑老师问出来了,我就抛出来,大家可以再讨论讨论。
阿剑(主持人):我看到三位老师「一脸不情愿「地回答了这个问题,虽然回答的信息量还是非常大的。在刚刚的四个问题中,三位嘉宾在每个小问题回答中都覆盖了讨论以太坊 2.0 时会讨论的各种东西,包括多重设计目标、重要技术概念(PoS、分片),也包括对社区来说最为关心的问题,什么时候以太坊 2.0 能真正变得可用,以及什么时候以太坊 1.0 生态能搬迁合并到 2.0 系统中,以及什么时候真正完成最终的发展目标。
每一个问题都值得相当大的篇幅去讨论,每个人都可以写篇文章形成非常复杂的观点。但是时间是有限的,下面进入到今天最后一个问题,是刚刚潘老师和姚老师都提到的问题延伸:在非常复杂的社会共识协作过程中,变量非常多,你们认为在转向 Eth2.0 的过程中,以太坊的生态有无可能发生社会共识的分裂?
潘致雄:今天是个非常好的日子可以聊这件事情,比特币区块链 Schnorr Signature 和 Taproot 功能已经发布到代码里去了。
为什么聊这个事情呢?可以看一下比特币区块链是怎么做到社会共识升级的。Schnorr 和 Taproot 是三年多前开始提出的功能,开始了漫长的布道和介绍优势、功能、必要性。2020 年一整年的开发过程中,核心开发者和最大的矿池进行深度沟通。
为什么呢?因为比特币区块链的最终激活还是依赖于算力,核心开发者开发完之后需要矿工来制衡是不是要支持功能,矿工可以不支持功能。比特币网络的形式已经有可以制衡的点,开发者和矿工之间可以寻找到共同利益。
从另外一个极端来说,有些新型区块链项目、区块链网络都开始进行链上治理,把需要的社会化提案通过代币的形式进行民调大范围投票,让所有系统参与者认为这件事情对系统的未来到底有没有好处,这是链上治理的特点。
回到以太坊,目前以太坊没有这样一套机制的,以太坊的核心开发者是有集权的,是中心化来管理这些事情的,没有和社区进行更广泛的交流沟通,也没有一套像比特币区块链、链上治理的机制寻找各个参与方、代币方的共同利益。在以太坊 1.0 迁移到 2.0 的过程中还是很可能发生断层和分叉的,因为以太坊分叉也是相当容易的一件事情,只要修改 Geth 客户端,总有人很方便、很容易地将以太坊分叉。
之后会带来各种各样的冠名权、资产所有权的问题,之前有人提出观点,以太坊发展到这个阶段已经不可分叉,因为资产和生态实在太庞大,算是非常混沌的一套系统。我会觉得至少目前以太坊生态在 1.0 到 2.0 过程中从历史角度来看是最危险的阶段。
姚翔:如果说用更温和的方式去做迁移,把旧的链上状态、资产迁移到新的链上,可能没有太多问题,大家是「用脚来投票」。
如果是一种「大家必须要过去」的方式的话必然会出现问题,原因在于 PoW 这样一套体系下,仍然可以继续运行,如果说矿工愿意,可以一直在这边挖下去,除了极端情况生态搬走,矿工依然可以在这里挖下去。
在这个时间点面临的是不得不做的选择,到那天发生的时候大家必须做选择,这很好玩,这是一件很危险也挺迷人很不错的事件,考验了很多东西。
最近我在听非常多 Bitcoin core developer 的观点,谈他们为什么会做这件事情。现在是没有比特币基金会的,过去是有的,可以认为这些开发者是在义务工作,而且有人捐献,捐献并不能改变意愿,真正愿意捐赠的公司也不是那么多,这是很好玩挺大的社会实验。
回到以太坊这件事情,把问题抛开讲,共识切换是社会共识撕裂很重要的点。关于这件事情的讨论足够多了,今天很难展开特别深入,同时两边的观点都很明确,谁也说服不了谁。在那个时间点,如果危险的事情发生,真的会发生用脚投票的事情,甚至是更极端的事情。
我不想做过多的推演,很显然新系统的安全性和可靠性需要时间验证,大家对新系统的信任不足以在很短的时间内建立,需要考虑怎么有过渡性的阶段。我不想去推演发生什么,在线下讨论的时候我谈到过这件事情。
传统的共同体要议事讨论事情,逃离的成本是很高的,不到万不得已不会分裂。比如说班级决定去哪里吃饭,你不能说我不去了,最后大家肯定选出一个地方聚餐,或者上升到国家层面议会,大家投票,选出来一个结果,大家认,在认可的程序下通过意识规则表决程序,表达自己的意愿,决定了就决定了。以太坊不做链上治理有自己的原因,这是合理的,没什么问题。
但在数字世界里逃离系统的成本是很低的,不像在现实的世界里想逃离这个地方受到很多约束,在数字世界里也有约束,但成本低很多。比如说 THE DAO 事件是很典型的案例,现在的以太坊与那时候相比逃离的成本高得多了,仍然比传统世界、物理世界里的成本低。
虽然我们说社区暂时很难分叉,但因为氛围是这样的,逃离成本很低的话不太愿意对话和交流,反对的声音容易出现,很难聚集起来。主流的声音没有人在反对,共识如果不是在大家的抗辩中产生的,没有退让、没有妥协的话很难取得更广泛的尊重和认同,可能大家吵一架吵出来是什么就认了,这件事情还会好一点。如果不说话,走了,对两边都不是特别好的结果,缺少争论不代表没有共识分裂,反而分裂已经结束了。
转向 2.0 很具体的事情里我最近也有一些观察,现在 1.0 有一个 Core Dev Meeting 有一个汇总页面在 Github 上,现在这个页面没有精心维护了,原来每期能看到,第一期几月几号 note 是什么,video 是什么。停在了第 99 期,已经有 3、4 期没有维护了,没有 note,没有 video link,这个事情没人管了。
最新的会议笔记 Tim 一直在记,会放在 Twitter 上,但是没有人会汇总到 Github 上,这件事情让我觉得有点不可接受。会议原先一直是 Hudson 在协调,从第一次会议到最近他说他要退休交给 Tim。他自己说去寻求新的挑战,我觉得背后也有些别的原因,这是个人的猜测,毕竟做了这么久,选择在这个时间点退出。
同时 Vitalik 也不参加 1.0 的会议了,这件事情在什么时候发生的呢?他最后一次参加在 10 月 16 日,在上海那次 Meetup (远程)之后他就不参加 1.0 的会议,专心做 2.0 的事情。
某种程度上 1.0 和 2.0 已经完全分开了,大家彼此没有那么了解对方在做什么,1.0 开发者在做 1.0sunset 的事情,2.0 在做 sunrise 的事情,大家彼此并没有那么了解在做些什么事情。
这是我最近的观察,谈不上很有 Insight,最近我会整理一些细节,因为细节里能发现人性的东西。
郑嘉梁:前面两位老师讲的很好,说几点自己的想法。
第一,分裂。
区块链很多链很怕分裂的,因为很早就有其他链提出不分叉,永远不分叉,如 Tezos。对区块链来讲,虽然历史上比特币和以太坊链发生过分裂,但毕竟他们是强共识的链,如果很多链共识非常弱的话,分裂一次意味着以后这个链就没有什么前途了。
即便是以太坊、比特币这种大的链,也没有办法经受大的分裂太多次,凝结一次共识需要很长时间、很多人、很多资金、很多资源的投入,分裂是大家都不太希望看到的事情。
第二,分化。
分化是时时刻刻发生的,潘老师以前写过一篇文章是 Layer 2 站队的问题,Rollup 上大家已经战队了,分成 Optimistic rollups 和 ZK Rollup,不同技术方案已经做出了选择。大家觉得以太坊虚拟机比较重要,在开发环境不怎么变的情况下,有几个知名的 DeFi 项目选择了 Optimistic rollups。有人觉得安全、可追溯性比较重要的话会选择 ZK Rollup。
现在以太坊基金会对两大类 Rollup 方案比较端水的态度情况下,大家自己按照自己的选择做未来路线的 betting,因为你不知道哪种 Rollup 最终会成为目标,还是说两种 Rollup 会融合,不融合也没关系,只要可交互性到最后完成以后不影响 DeFi 的「乐高特性」。
大家时时刻刻都在做选择,选择的影响还是蛮深的,不是分裂,每个团队、每个人对区块链的设想有不同诉求,诉求体现在对不同技术路线的选择。
有些项目比较现实,觉得迁移一个东西要付出太大成本的话,尽量选择最简单的方案,所以选择了 Optimistic rollups。大家有不同的选择,这是没有办法改变的。
但大家有个底线,还是不要分裂,可以选择不同的技术路线,但不要分裂社区。对以太坊绑定比较深的项目来说,大家都有最后的底线在心里,分裂这个事情不用想得太多,但分化是无可避免的。
这是我的观点,谢谢!
阿剑(主持人):感谢三位在圆桌上的回答,我在一开始接受担任这场圆桌主持的时候,我跟大家交流过,希望在这场圆桌中讨论在其他圆桌上很少讨论、不敢于讨论甚至会被忽略的问题,呈现以太坊发展和生态本身的复杂性。
不管选择哪种技术路线,不管做什么事情,生态的复杂性必须是首先要尊重的,也是我们要理解的,理解了才能发现生态真正有活力,真正被大家选择的原因。
今天谈到的很多问题都指向一点,人类做的事情只要涉及到群体协作,不可能离得开人们如何在制度、语境下参与协作,不可避免地需要向人类的历史、前人的经验学习完成社会协作,尽可能减少摩擦和冲突,塑造出更强的社会共识,乃至得到更广泛的普及。
不管在技术上还要走多少路,在学会相互协作和社会治理上还有更长的路要走。这也是我们可以期待以太坊的地方,确确实实以太坊在这么多年发展中证明了值得我们的期待。
Scan QR code with WeChat