对话Vitalik Buterin:分片和Rollups的结合将带来1万倍的扩容提升
原文标题:《对话 Vitapk Buterin:分片和 Rollups 的结合将带来 10,000 倍的扩容提升》
原文来源:Lex Fridman Podcast
原文编辑:南风
最近,以太坊联合创始人 Vitapk Buterin 参加了博客主持人 Lex Fridman 的采访,在采访中谈及了加密货币、监管、MEV (矿工可提取价值)、以太坊 2.0、PoS 安全性、Layer 2 (Rollups)、大合并、Polygon 等等内容。采访时长约 3 小时,本文采编自本次采访的一些内容,完整内容请参考本次采访视频。以下采编自本次采访的部分内容:
Lex Fridman :Shiba Inu 于 2020 年创建,模仿了 Dogecoin,你被赠予总供应量的 50% 的 Shiba,然后你「销毁」了被赠的 90%,价值 67 亿美元,并你将 10% (当时价值 12 亿美元) 赠送给了印度 COVID-19 救援基金 (Indian COVID-19 Repef Fund),表示自己不愿意享有这么大的权力。
Vitapk :我先来说说这类币的背景以及给我赠送这些币的故事。Dogecoin 最初在 2014 年左右的时候以一种「joke」的形式被创建,一开始人们并没有把它当回事儿。我在 2016 年的时候投资了价值 25000 美元的 Doge,当时我还想着要如何跟我妈解释我把钱投资到了这些狗狗币,这个币唯一有趣的就是它带有狗的 logo,最后证明这是我最好的投资之一。然后在 2020 年底,Elon Musk 开始讨论 Degecoin,然后当时其市值暴涨到了 500 亿美元,它上暴涨好多次,比如第一次从 0.8 美分上涨到了大约 7 美分,这是在 1 天之内发生的。我记得当时我还在新加坡,看到了其价格暴涨了超过 100%,然后当时我就想我持有的 Dege 值好多钱了,然后我卖出了持有的一半的 Doge,获得了 430 万美元然后直接捐出去了。几小时之后,其价格就从大约 7 美分跌到了 4 美分。因此我在高点卖出了 Doge,当时觉得自己是个很厉害的 trader。后来 Doge 又从 4 美分涨到了 7 美分然后 50 美分。Doge 成了影响力很大的东西,很多没有听过以太坊的人都听说过 Doge。这是我未预料到的。
然后有些人就会想,既然 Doge 的市值都能达到 500 亿美元,那么模仿它的其他币应该你也能达到几十亿美元,我觉得这就是创造 Shiba 这些人的想法。但他们直接给了我 50% 的 Shiba 供应量,但他们不是首个赠给我币的项目。大约在 2020 年底,有个预言机项目 Tellor,我想这个项目应该是 Chainpnk 的竞争对手,我记得他们直接将价值 50,000 美元的币打给了我,然后他们四处宣传说「看!Vitapk 持有了我们的 Token,他是我们的一个支持者。」意识到这一点之后,我就公开地通过 Uniswap 卖出了他们的 Token,将这个谣言终止了。
然后 Shiba 这些人也更聪明一些,他们不是将币打到我的那个地址中,而是将币打到了我的冷钱包里面。然后我注意到很多人在讨论这种币,我被捐赠的币也价值数十亿美元,然后我在拿到我的冷钱包密钥之后,就开始卖出一些币并将一些直接捐给了几个慈善机构。我实际上抛售了 80% 的 Shiba 并将获得的 ETH 捐给了一些组织,然后直接捐出了 20% 的 Shiba,包括印度 COVID 救援基金和其他机构。
Lex Fridman :你如何看待区块链的监管?最好的情况和最坏的情况是什么?
Vitapk :最好的情况是,区块链继续繁荣,然后我们找到了扩展区块链的方法,这样人们就可以在区块链上进行各种事情,也就是人们一直在谈论的所有不可思议的事情,然后还有很多很好的应用在区块链上运行,比如让人们能够以更好的方式进行交互的 DAOs、让艺术家们能够更好地获益等等,然后获得足够的大众支持,让人们意识到加密货币可以做很多好的事情,还有其他有待理解的创新潜力。
最坏的情况就是,人们突然认为这项技术在被一些 bad people 使用,但我不认为政府能够阻止区块链的存在,但是他们有能力使其边缘化,比如禁止所有的交易所和禁止所有主流雇主接受和使用加密货币付款,使其产生的影响更小。显然我是希望好的情况发生。
Lex Fridman :我们来谈谈以太坊 2.0。Eth2 将如何使以太坊更加可扩展、更加安全和更加可持续?
Vitapk :实际上最近我们不再强调 Eth2 这个称谓,背后的原因是最初我们设想了一个很大很红伟的愿景,想着所有好的事情将会同时发生:一条全新的区块链和一个全新的协议。后来我们慢慢地将路线图调整为更加逐步的形式,PoS 和分片 (sharding) 都是随着时间的推移而发生的,所有的功能和特征都也是如此,尽管普通的以太坊用户感受到的是无缝的体验,可能比之前的硬分叉升级要更加复杂一些,但从用户的角度来说并不是那么复杂。
曾经被认为是以太坊 2.0 的两个旗舰功能,而现在只是被认为是下一个以太坊演变的旗舰功能,就是 PoS 和分片 (sharding)。PoS 是一种共识算法或者说共识机制,共识机制就是网络节点对于哪个区块或则哪笔交易以什么顺序上链的方式,确保一旦某个区块上链就无法再被逆转。
当前存在的比特币和以太坊等区块链使用 PoW,基本上就是这个网络中有很多计算机 (节点) 对于要接受哪个区块达成共识,而有时候两个区块会被同时发布,因此需要对区块的顺序达成共识,因此需要一种「voting game」(投票游戏)。但谁的投票权重更大是不能通过「一人一票」的方式的,因为某个 bad guy 可能会在其计算机上有 1 00 亿台虚拟计算机,因此他就有 100 亿个虚拟节点,然后可能就拥有 99% 的网络节点并控制网络的一切。
为了阻止这种事情的发生,PoW 和 PoS 都是根据你为网络贡献了多少 economic resources (经济资源) 来按比例决定你的投票权重的。那么在 PoW 中,你要证明你拥有多少经济资源 ,也就是你拥有多少台计算机并 24*7 运行它们,这种方式确实起作用,因为如果想要攻击网络,你需要投入更多的计算机和更多的资金和电力,成本是非常高的。
而在 PoS 中,不像 PoW 中那样通过 24*7 贡献算力,你只需要将一定的币质押进系统中作为经济资源。我喜欢 PoS 很多年,因为它需要消耗更少的资源,它不像 PoW 那样需要从制造商那里购买挖矿设备并消耗大量的能源,而 PoS 只需要通过常用的电脑即可运行,你可以在你现在使用的普通电脑上运行 PoS 验证者节点。因此这种方式要更加不那么资源密集,不给环境带来负担。还有一个原因是,基于 PoS,区块链不需要像 PoW 那样支付那么多给维护网络的人 (矿工),目前比特币和以太坊大约每年都提供大约相当于总供应的 4% 给矿工,以太坊大约每年新发行 470 万 ETH,当前总供应为 1.15 亿 ETH。但通过 PoS,我们预计每年的新增大约为 50 万到 100 万 ETH,这意味着总供应量不会增加地太快。
Lex Fridman :你觉得 PoS 的安全性如何?
Vitapk :我认为 PoS 是非常安全的,因为如果你想要成功攻击以太坊网络,那么基本上你需要拥有相当于整个网络中质押的 ETH 数量,比如现在我们有 500 万 ETH 被质押 (在信标链中),然后你 (攻击者) 需要拥有 500 万 ETH 并加入网络中,这些 ETH 价值大约 150 亿美元,我认为这比攻击比特币网络的成本都更高;其次,PoS 从攻击中恢复要比 PoW 更容易,在 PoS 中我们有很多针对攻击的措施,比如我们有自动的 slashing (罚没) 机制会销毁作恶者质押的币,而且社区还可以通过协调软分叉的方式来应对 (成功的) 攻击,攻击者在新链中将损失很多的币。
Lex Fridman :一些人认为 MEV (矿工可提取价值) 是以太坊面临的 一个威胁,什么是 MEV 以及如何应对?
Vitapk :PoW 和 PoS 中都会存在 MEV (Miner Extractable Value) 问题,也可以称之为 Block Proposer Extractable Value (PBEV,即区块提议者可提取价值)。其基本意思是如果你有能力对于哪笔交易以怎样的顺序被打包进区块,那么你可以利用这种优势来获取经济收益,不仅仅是通过交易费来获利,比如通过抢跑或则尾随他人的交易来获利,能够让区块提议者获得一定比例的收益。
这种现象之所以是一种挑战,因为首先它有时候会降低用户体验,使用户的交易不处于有利地位,而且更大的风险是 MEV 为矿工或验证者带来的规模经济,可能导致 PoW 挖矿或者 PoS 验证更加中心化。因此生态系统已经对 MEV 予以重视,诸如 Flashbots 等项目已经在进行中。这确实是一个风险,但我们现在已经在做一些事情来应对。
Lex Fridman :我们来谈谈扩容的概念,具体来说就是 Layer 1、Layer 2 以及二者的交互,以及分片的理念。
Vitapk :扩展区块链有两种范式,也就是 Layer 1 扩展和 Layer 2 扩展。L1 扩展就是通过一些机制使区块链本身能够处理更多的交易,尽管区块链本身存在一些性能方面的限制;L2 扩展就是不对 L1 进行改变,而是在链上创建协议来继承 L1 的安全性,同时很多事情在链下进行,因此可以获得更多的扩容性。在以太坊中,最受欢迎的 L2 范式是 Rollups,最受欢迎的 L1 扩容范式是分片 (sharding)。
Lex Fridman :其中一种扩展区块链的方式是增加区块大小,在讲述 Sharding 之前,能否谈谈有关区块大小之争。
Vitapk :这是一个更好地写入区块链 (即在区块链上进行交易) 和更好地读取区块链 (即让节点验证链上的交易是否正确) 之间的权衡。就去中心化而言,二者都是同样非常重要的。如果某条区块链的读取成本很高,这就意味着人们就需要相信少数的节点,而这些节点可以在没有其他人同意的情况下改变区块链的规则;而如果某条区块链的写入 (交易) 非常昂贵,那么每个人都会转移至非常中心化的二级系统。
因此我认为这需要在两者之间取得平衡,偏向其中一方则会导致区块链往不健康的方向发展。我认为目前比特币的区块大小 1 M 主要有两个原因,其一是他们认为能够读取区块链是真的非常重要;其二是很多人都在维护着不对其进行硬分叉的原则。更大的区块大小意味着区块链将更加中心化,因为将有更少的人能够运行节点,而且还可能带来硬分叉。
Lex Fridman :那么什么是分片?分片有什么特性?
Vitapk :分片并不是像增加区块大小那样增加参数,而是要 改变区块链的架构 ,使网络中的单个节点仅需储存整个网络的一部分数据和处理其中一部分交易。采用这种模式的挑战并将至应用于区块链上是,区块链不仅仅是将数据分散到网络中,而是对分散到网络中的数据达成共识并确保达成共识的数据是正确的。因此会存在这样一个悖论,比如假设你需要一条能够每秒处理 10,000 笔交易的区块链,但区块链中的每台计算机节点每秒只能处理 100 笔交易,那么单个计算机如何在不验证所有交易的情况下信任其他计算机呢?
有好些方法可以实现这一点,比如其中方式就是通过随机洗牌 (打乱) 验证者,比如在一条 PoS 链中有 10,000 名验证者 (质押者),为了简单起见,我们假设每个验证者质押相同数量的币,然后对验证者进行随机打乱,将其中 100 名验证者 (形成一个委员会) 分配至验证某个区块,另外 100 名验证者被分配至验证另一个区块,以此类推。那么有效信息广播的方式是,某 100 名验证者在验证某个区块时会对其进行签名,以表示自己认同该区块的有效性,然后该区块的所有签名会聚合成 1 个签名并将至广播给网络中的其他验证者,那么其他验证者就只需验证该签名,而无需直接去验证该区块中的交易。其他验证者看到这个签名时,并不是直接相信这个区块是有效的,而是 相信该区块中的大多数验证者都认同该区块是有效的 。因此如果我相信该区块的大多数验证者都是诚实的 (因为这些验证者都是随机被分配的,攻击者无法将自己控制的验证者节点全都塞入同一个委员会中,也即是说攻击者控制的节点也会被随机打乱),那么非法区块就不会被纳入区块链中。这是一种简单的分片形式。
还有其他一些更加明智的形式,比如 zk-SNARKs 的概念,也即一种零知识证明,这是一种生成加密证明的理念,表示通过对某条数据运行一些复杂的运算生成一个证明。如果生成了这种证明,比如你看到某个 zk-SNARKs 证明表示某个区块是有效的,那么你可以相信该区块是有效的。还有一种叫作数据可用性抽样 (data availabipty samppng),让你确信区块中的数据已经被发布。基本上来说,如果将这些方法堆叠起来,那么你可以创建这样一个区块链系统,让个体参与者能够相信这条链上发生的一切都是正确的,而无需自己亲自去验证。这就是 Sharding。
Lex Fridman :据我所知,以太坊被提议的是实现 64 条分片,这是如何实现扩容的?这个数量是不是固定的?这是实现其扩容性与信用卡或则 Visa 相竞争?
Vitapk :随着时间的推移,这个 64 条分片的数量可以通过硬分叉的方式来来增加,且理论上可以实现 1024 条分片链。更多的分片链会带来挑战,比如需要有一个检查和管理所有这些分片的逻辑,如果有太多的分片则会带来更高的成本,但尽管如此你还是可以稍加改善的。而且我们正在做的另一件事情,就是 将 Sharding 与 Rollups 结合起来 。
Lex Fridman :哦,Rollups。那我们现在来讨论 L2 的理念,
Vitapk :Rollup 的基本理念就是,用户将交易发给某个中央聚合器 (aggregator),理论上来说任何人都可以成为某个 Rollup 中的一个 aggregator,也就是一种无须许可的模式。Aggregator 所做的事情就是,他们将剔除与更新状态无关的所有交易数据,然后保留更新状态所需的数据并进行压缩,因此只需在链上发布这些很小的被压缩的数据,而无需发布所有的交易数据。在链上发布的数据量可能就会减少十倍。
还有就是不会在链上进行计算,而是在链下进行计算。有两种方式可以做到这一点,其中一种是 zk-Rollup,也就是提供一个 zk-SNARK 证明用于表示「我进行了计算,这是我的计算哈希的证明」,然后将该证明提交至链上,然后每个人都去验证这个证明,而无需验证所有这些交易;另一种方法是 Optimistic Rollup,基本上就是首先某人声称自己认为的交易结果是正确的,然后另一个人可以表示反对并声称交易结果是不一样的,如果存在这样的分歧,那么就需要在链上发布整个区块的数据并进行验证,错误的一方将损失很多钱。
因此, 通过 Rollup 可以将 90% 的数据和 99% 的计算放在链下,然后将 10% 的数据和 1% 的计算放在链上,因此扩容性能够增加大约 100 倍 。现在这些系统针对一些应用已经上线了,比如 Loopring 这个基于 zk-Rollup 的支付平台,你将资金存入 Loopring 系统便可以非常低廉的交易费进行交易,比如 5 美分 (而不是 5 美元)。尽管现在以太坊上的 Rollups 仅支持几个应用,但预计几个月之后就会有完全兼容以太坊的 Rollups。因此将 Rollups 和 sharding 结合翘起来就达到了 10,000 倍的扩容性提升,带来成千上万的 tps。
Lex Fridman :因此这种扩容性能够更快地处理大量的交易,并且成本更加低廉。