咕噜对话 Vitalik Buterin:解读以太坊二层扩容技术 Rollup
2 月 28 日晚,币乎创始人咕噜与以太坊联合创始人 Vitalik Buterin 就以太坊 Rollup 二层扩容技术进行了一场 AMA。本文是根据此次对话内容整理的文中翻译。
以下,Enjoy:
咕噜: 我先和大家分享下为什么今天会选择这个话题。我们自己也在做 Rollup 二层技术的调研。觉得 Rollup 二层的技术,我自己相信今后会成为以太坊主流的应用场景。今后可能大家使用的 Dapp 主要会在 Rollup 的二层上去使用,而不是在一层上。这是个非常重要的话题。
有传闻,三月份以太坊会上线一些 Rollup 的二层网络。正好趁币乎三周年的机会和大家分享一下。Vitalik 会通过面对面你问我答的形式,交流关于二层和 Rollup 的问题。
Vitalik 不在中国,他是北美时间,现在是早上和我们分享,实在是很敬业。Vitalik 会尝试全程用中文和大家沟通。
Vitalik 没来之前大家有什么问题,我也可以做些回答。
咕噜的互动问答时间
1、二层网络会提高比特币的价值吗?
是以太坊的二层网络,和比特币关系不是很大。当然以太坊上也有 wBTC,但我自己觉得不是很直接的关系。
2、咕噜看好哪个 Rollup 方案?
这个问题留给 Vitalik 吧。我自己看得比较多的是 Optimistic Rollup。它的好处是一层上的应用可以比较容易的迁移过来。在一层上 DeFi 或其他应用在 Optimistic Rollup 上代码基本上可以复用的。一层上经过审计,大家用的比较成熟的代码和应用可以直接搬到二层,生态(建立的)会比较快。
3、以太坊扩容对波卡会有冲击吗?
我觉得以太坊二层发展起来的话,对所有公链都是有压力。因为现在以太坊的生态其实是最好的,而且和其他公链相比不是好一轻半点。
现在以太坊主要的问题是吞吐量。这是我上次和 Dovey 的直播中就提到过。当时很多人不觉得吞吐量是最大的问题。其实我和行业中很多人交流时,在两年前我就觉得以太坊上最大的问题就是吞吐量的问题。当然以太坊生态中很多人也是这样认为的。
以太坊的扩容走了好久了。最开始通过状态通道的方式扩容。衍生出了雷电网络。 状态通道的问题是用户自己又要成为服务又要成为用户。状态通道需要自己观测状态,等到结束时需要自己把状态发到底层的公链去。在状态通道中的用户自己既是用户又是服务者,这一定是不对的。不太可能要求用户既自己提供服务,同时自己去用。
后来从状态通道之后,衍生出了 Plasma , 服务是有一些节点来提供的。用户只需要关心使用就好了。但 Plasma 有个问题,当数据没有给到你的时候,你如何信任 Plasma 的节点,怎么知道它们在作恶还是没有作恶。这是之前非常困难的问题。在二层的数据,当节点不给你的时候,你不知道它在做什么。
在 Plasma 的假设中,如果用户依然要检测网络的状态。用户没有拿到新的数据的时候,就要从 Plasma 网络中逃跑,因为用户就应该假设 Plasma 的这些节点在作恶。所以 Plasma 也是有多少小时或者几天的过渡期的,就是挑战期。这其实和现在的 Optimistic Rollup 是类似的。
最终 Plasma 没有被以太坊生态所接受,就是因为……
Vitalik 上线
咕噜: 不好意思,今天中国社区实在太热情了。我还是做个简短的开场白。
今天为什么选这个主题?是因为我们自己也在看 Rollup 的调研,我们自己也准备在以太坊二层的 Rollup 上选一个 Rollup,启动一个去中心化的交易协议。 在调研过程中,我越来越觉得基于 Rollup 的二层会成为以太坊未来的主流。有可能未来的某个时间,大家在使用以太坊时,主要就是在使用以太坊的二层。这样的转变对以太坊本身,以及对于整个生态都是质的变化。我是认为基于 Rollup 的二层技术会对整个行业带来飞跃性的变化。
所以我自己是非常非常看好二层的技术。这也是为什么今天选这个话题的原因。
大家非常热情,我有时候都看不到评论区的问题了。今天的主题主要是通过你问我答的方式完成的。大家提问题,Vitalik 来回答。相信大家最近也看过很多关于 Rollup 的文章了。
闲话少说,我们进入正题。我先抛砖引玉。我的这个问题也是很多想在 Rollup 二层上做开发的开发团队很关心的问题。
二层的 Rollup 安全是基于一层的数据。像 Optimistic Rollup 是通过经济挑战来完成的,ZK Rollup 是通过零知识证明完成的。
我的问题是:在 Rollup 上的安全性和一层相比是怎样的?比如我们做了 MYKEY 的智能钱包,用户能否把智能钱包的账户不在一层上部署了,直接部署在二层上?比如 Optimistic Rollup 的安全性会不会足够?更进一步,未来如果发 token 的合约也直接在二层上而不再在一层上部署?
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: 交易费更低是最重要的。
咕噜:第二个问题:以 ETH 作为手续费来捕获价值,当大量交易转移至 Rollup 以后,ETH 的价值还能长期与生态价值挂钩吗?我觉得这个问题问得非常好。
现在有的二层其实 GAS 的支付,除了 ETH,是有其他代币可以支付的。我想可能问个是这个问题。
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 变成完全独立的公有链,我觉得没有什么更大的价值。因为以太坊生态的连接价值更大,如果离开以太坊生态我觉得没什么好处。
咕噜:如果从 Rollup 变成自己独立的一条公链的话,其实社区是可以做分叉的。Rollup 的二层是公开的数据,谁都可以来继续运行这个 Rollup。
Vitalik: 对。一个 Rollup 有一个合约,一个机制。如果 Rollup 项目想做一条独立的公链,Rollup 本身的合约还在,Rollup 的用户发现没有产生新的 Rollup 区块,他们可以自己进去继续运行 Rollup。
咕噜:以太坊扩容的方案 Layer 2 呼之欲出,代表项目路印已经上线,Vitalik 是否看好?
Vitalik: 特别看好。
咕噜:7 月份伦敦计划实施以后,每笔交易到底会降到多少钱?
Vitalik: 预测很难。因为交易费有多少要看用户总量有多少,搬到二层网络的技术如何以及以太坊网络的 GAS 费会不会更高。现在的 GAS 一直是 1250 万,有可能伦敦分叉之后,因为包括 EIP-2929,抗安全攻击会更高,有可能会 GAS 费会再提高一点。但至于提高到多少,我不知道。在伦敦计划之后,交易费有可能会很高,有可能不会很高。如果交易费真的太高,我觉得随着 4 或 6 个月之后 Rollup 的进展,能够在 Rollup 上做很多东西,在 Rollup 里面的交易费肯定会很低的。
咕噜:下一个问题:怎么比较 Optimistic Rollup 和 Arbitrum Rollup 的区别。
Vitalik: 两个团队都是特别好的。我觉得它们最大技术的区别,Arbitrum 的机制是直接用 EVM 操纵。应用在 Arbitrum 上可以直接把代码运行。但 Optimistic 在自己的合约中做了自己的 EVM。所以不会把你的 EVM 代码直接运行,而是用内置的虚拟机,合约要分第一步、第二步、第三步运行。
Arbitrum 方法的优点是可以支持更多的 VM,现在可以支持 EVM,之后可以支持更多的程序语言。但缺点是,在 Optimistic 发送一个交易,有可能是有效或者无效的,你可以直接知道结果。但在 Arbitrum 上,协议是要求你先发一个交易,另外的用户再发一个交易。交易有可能要重复三次或者五次,之后内置的虚拟机要做异步,要基于最后一步判断是你说的对还是其他人做的对。所以这个机制是更复杂的,需要的代码更多,所以我担心用这个方法会有更多的地方有安全危险,会有问题。但这个方法是更普遍的,可以支持更多的程序语言。
Optimistic 是更简单的,代码安全性更好。Arbitrum 可以支持更多的 VM,支持更多的程序语言。
咕噜:在经济激励层面上,Optimistic Rollup 和 Arbitrum Rollup 都会有自己的原生代币吗?
Vitalik: 我不知道。我不知道有多大的可能。我们知道很多项目有自己的币,包括 Uniswap。但这两个 Rollup 项目现在还没有公布他们的经济激励方案。所有也有可能一直不会有什么币。这还需要等他们自己说会有什么机制。
咕噜:下一个问题,目前使用 Optimistic Rollup 方案只是暂时性的,以后最终会过度到 ZK Rollup 方案对吗?
Vitalik: ZK Rollup 有更长期的未来。因为它的机制和经济协议会更简单。但这个长期的未来我不知道会是多久,有可能是 5 年、10 年。现在零知识证明的技术是比较复杂和新颖的。做完全 ZK 的虚拟机需要很多时间,以确定其是安全的。
但一旦在很久以后实现吗,ZK Rollup 会有很多优点。我觉得很多的应用会搬到 ZK Rollup 上。
咕噜:以太坊 2.0 推出太慢的话,容易被其他公链在这段时间超越。请问为什么不能更快一点推出?
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 的问题完全解决。分片的问题是可以缓一缓,多一点时间再做的。
咕噜:目前已经有几个 Rollup 网络上线了。但用户迁移的资金并不多。有什么方法可以引导用户迁移过去?
Vitalik: 现在有两个问题。第一个问题是以太坊的社区很多应用喜欢调用智能合约,比如 DeFi 的项目。但目前的 ZK Rollup 不支持智能合约,只支持发币、交易币等简单的应用。这是第一个问题。当我们有支持完整 EVM 的 Rollup 的时候, 我觉得会有更多的用户搬到 Rollup;
第二个问题,现在 Rollup 相关的基础设施生态还不多。比如我们还没有解决不同的 Rollup 之间交易的问题。如果我有一些币在 ZKsync 怎么把币搬到路印?首先需要把币从 ZKsync 的二层提取到以太坊底层,然后再转移到 Loopring 的二层账户。如果这样做了,交易费会不会特别高?
另外一个问题是,有很多服务还不支持 Rollup。比如现在还没有交易所直接支持 ZKsync 或 Loopring 做 DPoS。但这点上会有变化,我已经知道有很多交易所在研究 Rollup。
现在以太坊上会有很多用户体验方面的挑战(问题)。但我觉得 6 个月之后很多这些问题都会解决。
咕噜:下面这个问题是来自用户的质疑。随着 Rollup 二层的应用越来越多,二层的项目也越来越多,也会一样拥挤。到最后还是解决不了手续费高的问题。
Vitalik: 如果在 Rollup 上的空间不够,我们会有分片,会扩展 Rollup 的数据空间。但我觉得二层的扩展性不会有问题。我们需要更多扩展性的时候,第一步是建立分片,然后可以一直把分片升级,这不是我担心的。
我会担心的问题是,如果 Layer one 一层的 Gas 费会一直特别高,有很多东西你可以在一个 Rollup 中实现,但如果需要在不同的 Rollup 中进行交易,需要付特别高的 GAS 费,会有意外的情况要求你调用底层。这时的交易费会变得特别高。 这是个真正的问题。但我们也在研究很多方法减少这种情况。
比如一个例子是,如果一个 Rollup 出了问题,很多用户可以同时发一个交易, 就可以实现调用一次底层交易,把用户的账户从一个 Rollup 搬到另一个 Rollup 。这种方法可以减少意外情况中 Layer one 一层网络的成本。所以有很多技术的方法,但需要比较多的时间去开发。但我觉得我们可以做到。
咕噜:下面一个问题,你看好哪些 Rollup 项目?
Vitalik: 我喜欢所有的。Optimistic 很好,Arbitrum 很好,ZKsync、Loopring 也很好。DeversiFi 现在没有很多人在谈,但我觉得这个项目也是很有意思的。 大概现在我们有五个(Rollup 的项目)。但我知道有更多的团队在做 Rollup。
咕噜:我看到大家问了很多和 EIP-1559 有关的问题。我觉得我们可以花一点时间谈一谈你对 EIP-1559 的想法。现在有很多人强烈的反对或强烈的同意,社区中是有争议的。请 Vitalik 谈一下你的想法。
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 的过程,还有安全的挑战,隐私的挑战。但我们也有更多很好的技术 ,我们有很好的全球社区。因此希望大家互相支持和帮助,这样我们可以搭建更好的,让更多人可用的区块链生态。
咕噜:我们也希望整个以太坊中国社区能够一如既往的团结。一起推动激动人心的项目,让世界上更多的人能够使用。
以上是笔记的全部内容。
利益声明:行走持有 ETH 现货,并参与了以太坊显卡挖矿。