原文标题:《 Vitalik AMA,以太坊 Rollup 二层技术全解读 》
原文整理:行走
2 月 28 日晚间,币乎创始人咕噜和 Vitalik 就以太坊 Rollup 二层技术进行的 AMA。本文内容由「行走」整理。
咕噜:我先和大家分享下为什么今天会选择这个话题。我们自己也在做 Rollup 二层技术的调研。觉得 Rollup 二层的技术,我自己相信今后会成为以太坊主流的应用场景。今后可能大家使用的 Dapp 主要会在 Rollup 的二层上去使用,而不是在一层上。这是个非常重要的话题。
有传闻,三月份以太坊会上线一些 Rollup 的二层网络。正好趁币乎三周年的机会和大家分享一下。Vitalik 会通过面对面你问我答的形式,交流关于二层和 Rollup 的问题。
Vitalik 不在中国,他是北美时间,现在是早上和我们分享,实在是很敬业。Vitalik 会尝试全程用中文和大家沟通。
Vitalik 没来之前大家有什么问题,我也可以做些回答。(律动注:以下为社区提问,咕噜回答内容)
是以太坊的二层网络,和比特币关系不是很大。当然以太坊上也有 wBTC,但我自己觉得不是很直接的惯性系。
这个问题留给 Vitalik 吧。我自己看得比较多的是 Optimistic Rollup。它的好处是一层上的应用可以比较容易的迁移过来。在一层上 Defi 或其他应用在 Optimistic Rollup 上代码基本上可以复用的。一层上经过审计,大家用的比较成熟的代码和应用可以直接搬到二层,生态(建立的)会比较快。
我觉得以太坊二层发展起来的话,对所有公链都是有压力。因为现在以太坊的生态其实是最好的,而且和其他公链相比不是好一轻半点。
现在以太坊主要的问题是吞吐量。这是我上次和 Dovey 的直播中就提到过。当时很多人不觉得吞吐量是最大的问题。其实我和行业中很多人交流时,在两年前我就觉得以太坊上最大的问题就是吞吐量的问题。当然以太坊生态中很多人也是这样认为的。
以太坊的扩容走了好久了。最开始通过状态通道的方式扩容。衍生出了雷电网络。状态通道的问题是用户自己又要成为服务又要成为用户。状态通道需要自己观测状态,等到结束时需要自己把状态发到底层的公链去。在状态通道中的用户自己既是用户又是服务者,这一定是不对的。不太可能要求用户既自己提供服务,同时自己去用。
后来从状态通道之后,衍生出了 Plasma , 服务是有一些节点来提供的。用户只需要关心使用就好了。但 Plasma 有个问题,当数据没有给到你的时候,你如何信任 Plasma 的节点,怎么知道它们在作恶还是没有作恶。这是之前非常困难的问题。在二层的数据,当节点不给你的时候,你不知道它在做什么。
在 Plasma 的假设中,如果用户依然要检测网络的状态。用户没有拿到新的数据的时候,就要从 Plasma 网络中逃跑,因为用户就应该假设 Plasma 的这些节点在作恶。所以 Plasma 也是有多少小时或者几天的过渡期的,就是挑战期。这其实和现在的 Optimistic Rollup 是类似的。
最终 Plasma 没有被以太坊生态所接受,就是因为……
咕噜:不好意思,今天中国社区实在太热情了。我还是做个简短的开场白。
今天为什么选这个主题?是因为我们自己也在看 Rollup 的调研,我们自己也准备在以太坊二层的 Rollup 上选一个 Rollup,启动一个去中心化的交易协议。在调研过程中,我越来越觉得基于 Rollup 的二层会成为以太坊未来的主流。有可能未来的某个时间,大家在使用以太坊时,主要就是在使用以太坊的二层。这样的转变对以太坊本身,以及对于整个生态都是质的变化。我是认为基于 Rollup 的二层技术会对整个行业带来飞跃性的变化。
所以我自己是非常非常看好二层的技术。这也是为什么今天选这个话题的原因。
大家非常热情,我有时候都看不到评论区的问题了。今天的主题主要是通过你问我答的方式完成的。大家提问题,Vitalik 来回答。相信大家最近也看过很多关于 Rollup 的文章了。
闲话少说,我们进入正题。我先抛砖引玉。我的这个问题也是很多想在 Rollup 二层上做开发的开发团队很关心的问题。
二层的 Rollup 安全是基于一层的数据。像 Optimistic Rollup 是通过经济挑战来完成的,ZK Rollup 是通过零知识证明完成的。
Vitalik:这个问题是特别重要的。一个 Rollup 的安全性涉及到两方面的问题。一个是应用的安全性,二是资产的安全性。资产的安全是指你如果在 Rollup 中有币或资产,币或资产会不会丢会不会有人会攻击 Rollup 偷走你的币;系统的安全是指,如果你有一个应用在二层上,如果 Rollup 被攻击或者出现问题,哪怕币还在,但应用不能在做什么了。
资产的安全性基本已经没什么问题了。在 ZK Rollup 中完全没有什么安全的问题。每一个 Rollup 的区块有一个零知识证明,就不会出现将一个未经验证的区块放进来的可能。在 Optimistic Rollup 就有可能会有问题,但是个区间的问题。如果存在一个有问题的区块,而有人能在新区块产生前发现就没什么问题了。所以我觉得资产安全不是大的问题。
系统本身的安全有可能是更大的问题。现在的 Rollup 都比较简单。现在的 Rollup 是使用一个服务器打包区块,如果服务器崩了,有一段时间 Rollup 是不能用的。
未来有很多方法可以解决这个问题。很多方法在做去中心化的服务器,如果一个 节点没有发区块,第二个或者第三个可以去发区块。有很多方法。但现在的 Rollup 还不支持这些方法。我们先去解决资产安全性的问题,Rollup 的第二个阶段会解决系统性的问题。
Vitalik:我觉得现在可以开始把一些应用放在二层。有很多区块链应用不需要 24 小时的跑,即使有安全问题,不会有太大损失。比如很多非金融的应用可以这样做。比如用区块链做一些记录,或者 NFT 就已经可以放在 Rollup 中。
更危险的是特别高价值的 Defi 的东西。如果你放 100、1000、10000 块在 Rollup 里面没有太大问题。但如果要开始做很多交易,可能每天一个亿的事情,有可能会遇到攻击服务器的事情。所以我的建议是很多东西可以在 Rollup 上做,但特别高价值的东西 应该等一段时间。
Vitalik:交易费更低是最重要的。
Vitalik:Rollup 之后,项目方还是会支付以太坊链上的交易费。有可能用户会有很多方法(用其他代币支付在二层)付他们的交易费,但选择在 Rollup 上的应用项目方,以太坊上的节点还是需要发以太坊的交易,还是需要付以太坊链上的交易费。
可以肯定的是,如果现在的交易需要付 100 块,可能 Rollup 之后,可能只需要付 1 块钱。当然不同的应用会有不同的效率。有时候 GAS 会降低 100 倍,有时候会降低 500 倍。
因为 Rollup 的效率更高,费用更低。所以会在 Rollup 上产生更多的交易。如果现在每天以太坊有 100 万笔交易,每个交易需要付 100 块的交易费。如果大家都搬到 Rollup 之后,有可能每天会有 1 亿的交易量,这样每个交易哪怕是 1 块的交易费,总的交易费有可能会更高。
所以 ETH 依然会有手续费的价值。ETH 也会有其他价值。总之,Rollup 对 ETH 的价值不是威胁,而是会有很大的帮助。
Vitalik:总是有可能的。但我觉得如果这么做,以太坊社区会不喜欢。社区会特别快的搬到其他项目。我们的社区现在是比较严格的。如果你在做一个 Rollup 的项目,他们会看你的代码,看细节就会知道是否是真的在做 Rollup。如果是真的他们会去,如果你说自己是 Rollup,但实际完全不是, 他们就会知道,就会用其他项目(用脚投票)。
所以如果一个 Rollup 项目,开始说自己是 Rollup,却搬到其他链(做自己的公链),对项目本身的威胁会很大。
第二个问题,我们在做分片之后,会有很多分片的数据。以太坊的链做 Rollup 交易费有可能更低。所以从一个 Rollup 变成完全独立的公有链,我觉得没有什么更大的价值。因为以太坊生态的连接价值更大,如果离开以太坊生态我觉得没什么好处。
Vitalik:对。一个 Rollup 有一个合约,一个机制。如果 Rollup 项目想做一条独立的公链,Rollup 本身的合约还在,Rollup 的用户发现没有产生新的 Rollup 区块,他们可以自己进去继续运行 Rollup。
Vitalik:特别看好。
Vitalik:预测很难。因为交易费有多少要看用户总量有多少,搬到二层网络的技术如何以及以太坊网络的 GAS 费会不会更高。现在的 GAS 一直是 1250 万,有可能伦敦分叉之后,因为包括 EIP -1559 ,抗安全攻击会更高,有可能会 GAS 费会再提高一点。但至于提高到多少,我不知道。在伦敦计划之后,交易费有可能会很高,有可能不会很高。如果交易费真的太高,我觉得随着 4 或 6 个月之后 Rollup 的进展,能够在 Rollup 上做很多东西,在 Rollup 里面的交易费肯定会很低的。
Vitalik:两个团队都是特别好的。我觉得它们最大技术的区别,Arbitrum 的机制是直接用 EVM 操纵。应用在 Arbitrum 上可以直接把代码运行。但 Optimistic 在自己的合约中做了自己的 EVM。所以不会把你的 EVM 代码直接运行,而是用内置的虚拟机,合约要分第一步、第二步、第三步运行。
Arbitrum 方法的优点是可以支持更多的 VM,现在可以支持 EVM,之后可以支持更多的程序语言。但缺点是,在 Optimistic 发送一个交易,有可能是有效或者无效的,你可以直接知道结果。但在 Arbitrum 上,协议是要求你先发一个交易,另外的用户再发一个交易。交易有可能要重复三次或者五次,之后内置的虚拟机要做异步,要基于最后一步判断是你说的对还是其他人做的对。所以这个机制是更复杂的,需要的代码更多,所以我担心用这个方法会有更多的地方有安全危险,会有问题。但这个方法是更普遍的,可以支持更多的程序语言。
Optimistic 是更简单的,代码安全性更好。Arbitrum 可以支持更多的 VM,支持更多的程序语言。
Vitalik:我不知道。我不知道有多大的可能。我们知道很多项目有自己的币 包括 Uniswap。但这两个 Rollup 项目现在还没有公布他们的经济激励方案。所有也有可能一直不会有什么币。这还需要等他们自己说会有什么机制。
Vitalik:ZK Rollup 有更长期的未来。因为它的机制和经济协议会更简单。但这个长期的未来我不知道会是多久,有可能是 5 年、10 年。现在零知识证明的技术是比较复杂和新颖的。做完全 ZK 的虚拟机需要很多时间,以确定其是安全的。
但一旦在很久以后实现吗,ZK Rollup 会有很多优点。我觉得很多的应用会搬到 ZK Rollup 上。
Vitalik:现在短期解决扩展的问题真的不需要 2.0,而是需要 Rollup。
现在以太坊根据交易的不同,有可能支持每秒 15 笔到 45 笔的交易。大家搬到 Rollup 之后,交易笔数会可能提高 100 倍。视具体的交易类型,TPS 可能会达到 每秒 1500—4000 笔。
所以即使没有分片和以太坊 2.0,Rollup 的技术可以解决所有现在的扩容的问题。但长期来看,TPS 达到 4000 的公链有很多。但如果未来有更多人使用区块链,区块链变得更加主流,我们肯定需要更多的 TPS。因为现在主流的中心化的服务 需要每秒 1 万或 10 万或更多的交易。所以长期来看,分片还是特别需要的。
2.0 完成最大的价值是 POW 完全搬到 POS,我们可以获得 POS 很多优势。我们之前的计划,第一步是把 2.0 的链开始,这一步我们已经做了,POS 链已经运行了三个月,几乎没有问题;第二步我们原来的计划是分片,第三步是把现在的以太坊的 1.0 的链和 2.0 的链合并。
但现在我们的计划是先做 1.0 和 2.0 的合并,在做分片。因为现在有很多社区(其他公链)要替代我们的生态。因此以太坊的两条链再次连成一条链,将由 POW 到 POS 的问题完全解决。分片的问题是可以缓一缓,多一点时间再做的。
Vitalik:现在有两个问题。第一个问题是以太坊的社区很多应用喜欢调用智能合约,比如 Defi 的项目。但目前的 ZK Rollup 不支持智能合约,只支持发币、交易币等简单的应用。这是第一个问题。当我们有支持完整 EVM 的 Rollup 的时候, 我觉得会有更多的用户搬到 Rollup;
Vitalik: 现在以太坊上会有很多用户体验方面的挑战(问题)。但我觉得 6 个月之后很多这些问题都会解决。
Vitalik:如果在 Rollup 上的空间不够,我们会有分片,会扩展 Rollup 的数据空间。但我觉得二层的扩展性不会有问题。我们需要更多扩展性的时候,第一步是建立分片,然后可以一直把分片升级,这不是我担心的。
我会担心的问题是,如果 Layer one 一层的 Gas 费会一直特别高,有很多东西你可以在一个 Rollup 中实现,但如果需要在不同的 Rollup 中进行交易,需要付特别高的 GAS 费,会有意外的情况要求你调用底层。这时的交易费会变得特别高。这是个真正的问题。但我们也在研究很多方法减少这种情况。
比如一个例子是,如果一个 Rollup 出了问题,很多用户可以同时发一个交易,就可以实现调用一次底层交易,把用户的账户从一个 Rollup 搬到另一个 Rollup 。这种方法可以减少意外情况中 Layer one 一层网络的成本。所以有很多技术的方法,但需要比较多的时间去开发。但我觉得我们可以做到。
Vitalik:我喜欢所有的。Optimistic 很好,Arbitrum 很好,ZKsync、Loopring 也很好。DeversiFi 现在没有很多人在谈,但我觉得这个项目也是很有意思的。大概现在我们有五个(Rollup 的项目)。但我知道有更多的团队在做 Rollup。
Vitalik: EIP -1559 对以太坊生态是很重要的。可以解决很多用户底层的问题。比如用户需要选择多高的交易费问题。如果想要很快的实现交易,需要支付很高的交易费,如果选择更低的交易费,会产生风险,交易需要等一分钟、三分钟、一个小时或者一天。 EIP -1559 可以解决诸如此类的问题。(让交易手续费更加可预测)
EIP -1559 也有很多其他好处。其中一个被大家经常提起的好处是,大部分的交易费会被销毁。这种情况下如果以太坊的交易费总量更多,ETH 的总量就会减少。以太坊经济模型会变得更加可持续。
现在有很多人批评以太坊认为,比特币有 2100 万枚的总量上限。但以太坊 ETH 没有上限,所以他们认为 ETH 会不稳定。但如果有 EIP -1559 之后,有了更多的交易,有可能 ETH 的总量会降低,或者总量只会涨一点点(从通胀到适度通缩——行走注)。这个经济模式的改变也是很多人特别期待的。
还有很多人在去年担心 EIP -1559 有很多风险,因为是一个新的经济机制。但我们最近一年做了很多研究,包括自己的研究,包括美国博弈论教授的研究报告,包括 Filecoin 的 EIP -1559 大家都可以看到结果。所以到了现在, EIP -1559 的风险减少了很多。
Vitalik:这个很难预测。我觉得以太坊和很多竞争链的区别是,竞争链的 TPS 会更高。他们自己宣传自己时会说,以太坊的链很慢,我们的链 TPS 更高,区块链是更快的。但它们的选择有一个缺点,就是它们的链会更中心化。
以太坊的链如果你有一个电脑,就可以运行自己的节点。但这些竞争链中,第一个问题是它们的节点更少,第二个问题是共识算法有时是 TPOS,有时是 POA,节点会特别少,有可能 10 个、20 个、100 个。有一些应有不需要特别的去中心化,可能短期会用其他链。但长期当以太坊有 Rollup 之后,以太坊可以在不牺牲去中心化的安全前提下,性能也会更高,会有更多的扩展性。我觉得当我们拥有这些 Rollup 时,Rollup 和其他链的竞争会很有意思。
Vitalik:我觉得短期没有必要,但是长期有必要。使用 Rollup 带来的扩展性是有限的。Rollup 方一中每一次交易还是会有一点交易会发生在以太坊的链上(一层)。有些应用性能会提升 100 倍、200 倍或 500 倍。短期这样的性能的提升是足够的。但长期当有更多用户开始使用区块链,比如有 5 亿以太坊的新增用户,Rollup 是不够的。这时我们需要将 Rollup 和分片两个技术用结合起来。
咕噜:感谢 Vitalik 回答了不少关于 Rollup 和二层的问题。非常感谢 Vitalik 起了个大早和中国社区做深入的分享。祝愿以太今年在 Rollup 的二层网络能够顺利的进行,给以太坊生态带来质的飞跃。也感谢 Vitalik 一直辛勤的努力。我自己在这次分享中有很多收获。
Vitalik:希望 Rollup 这些扩展的技术能够得到社区用户的互相支持。因为以太坊的生态会有很多挑战,有来自扩展性的挑战,有来自复杂的完全版的以太坊 2.0 和 POS 的过程,还有安全的挑战,隐私的挑战。但我们也有更多很好的技术,我们有很好的全球社区。因此希望大家互相支持和帮助,这样我们可以搭建更好的,让更多人可用的区块链生态。
咕噜:我们也希望整个以太坊中国社区能够一如既往的团结。一起推动激动人心的项目,让世界上更多的人能够使用。
原文链接
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia