我在两年半前的《终局》帖子中提出的一个观点是,至少从技术上看,区块链的不同未来发展路径看起来令人惊讶地相似。在两种情况下,你都有大量的交易在链上,处理它们需要(i)大量的计算和(ii)大量的数据带宽。像我正在用来撰写本文的笔记本电脑上运行的2 TB reth归档节点等常规以太坊节点并不足够强大,无法直接验证如此庞大的数据和计算量,即使通过英勇的软件工程工作和Verkle树也无法实现。相反,在“L1分片”和以Rollup为中心的世界中,都使用ZK-SNARKs来验证计算,并使用DAS来验证数据可用性。在两种情况下,DAS是相同的。在两种情况下,ZK-SNARKs都是相同的技术,只是在一种情况下它们是智能合约代码,而在另一种情况下它们是协议的固有特性。从技术上来说,以太坊正在进行分片,而Rollup是分片。
这引出了一个自然的问题:这两个世界之间有什么区别?一个答案是代码错误的后果不同:在Rollup世界中,硬币会丢失,在分片链世界中,你会遇到共识失败。但我预计随着协议的巩固和形式化验证技术的改进,错误的重要性会减少。那么我们可以预期在长期内会保持的这两种愿景之间的区别是什么?
在2019年,我们在以太坊中曾经探讨过的一个想法是执行环境。基本上,以太坊将拥有不同的“区域”,这些区域可以对帐户工作方式(包括完全不同的方法,比如UTXO),虚拟机工作方式以及其他功能有不同的规则。这将使得在堆栈的部分区域中实现多样化的方法变得可能,而如果以太坊试图独自完成所有事情,这将会很困难。
最终,我们放弃了一些更为雄心勃勃的计划,简单地保留了EVM。然而,以太坊的L2(包括Rollups、Valdiums和Plasmas)最终可以说起到了执行环境的作用。如今,我们通常关注与EVM等效的L2,但这忽视了许多其他替代方法的多样性:
基于UTXO的架构。来源:Fuel文档。
我们可以尝试将EVM打造成一个涵盖所有可能范式的超级虚拟机,但这样做会导致对每个概念的实现效果大大降低,而不如允许像这样的平台专门化。
以太坊L1提供了非常强大的安全保障。如果某个数据片段位于L1上已经最终化的区块中,整个共识(在极端情况下甚至包括社会共识)将会确保数据不会被以违反放置该数据的应用程序规则的方式编辑,任何由数据触发的执行都不会被撤销,并且数据将保持可访问性。为了实现这些保证,以太坊L1愿意承担高昂的成本。在撰写本文时,交易费用相对较低:第二层每笔交易的收费少于一分钱,即使在L1上,基本的ETH转账也不到1美元。如果技术进步迅速到足以使可用的区块空间增长以满足需求的速度,这些成本未来可能仍然较低 - 但也可能不会。即使每笔交易只有0.01美元,对于许多非金融应用来说也太高,例如社交媒体或游戏。
但是社交媒体和游戏并不需要与L1相同的安全模型。如果某人可以支付一百万美元来撤销他们输掉国际象棋比赛的记录,或者让你的推特帖子看起来是在实际发布三天后才发布的,那也没关系。因此,这些应用程序不应该为相同的安全成本付费。以L2为中心的方法通过支持从rollups 到 plasma再到validiums的一系列数据可用性方法实现了这一点。
不同的L2类型用于不同的用例。这里阅读更多
另一个安全权衡出现在从L2到L2传递资产的问题上。在极限情况下(未来5-10年),我预计所有的Rollups都将是ZK Rollups,并且超高效的证明系统如Binius和Circle STARKs与lookups,以及证明聚合层将使得L2能够在每个槽中提供最终化的状态根。然而,目前我们有一个复杂的乐观Rollups和ZK Rollups的混合,具有各种不同的证明时间窗口。如果我们在2021年实现了执行分片,那么保持分片诚实的安全模型将是乐观Rollups,而不是ZK - 因此L1将不得不在链上管理系统性复杂的欺诈证明逻辑,并且需要一个长达一周的提款期来将资产从分片移动到分片。但就像代码错误一样,我认为这个问题最终是暂时的。
第三个,并且再次更持久的安全权衡维度是交易速度。以太坊每12秒产生一个区块,不愿意加快速度,因为那样会使网络过于集中。然而,许多L2正在探索几百毫秒的区块时间。12秒已经不算太糟糕了:平均而言,提交交易的用户需要等待约6-7秒才能包含在一个区块中(不只是6秒,因为下一个区块可能不会包括他们)。这与我在信用卡上进行支付时需要等待的时间相当。但许多应用程序要求更高的速度,而L2则提供了这种速度。
为了提供这种更高的速度,L2依赖于预确认机制:L2的验证者会数字签署承诺在特定时间包含交易,如果交易没有被包含,他们可以受到惩罚。一种称为StakeSure的机制进一步概括了这一点。
L2预确认。
现在,我们可以尝试在第1层完成所有这些工作。第1层可以整合“快速预确认”和“缓慢最终确认”系统。它可以整合具有不同安全级别的不同分片。然而,这将给协议增加很多复杂性。此外,在第1层完成所有这些工作将有可能过载共识,因为许多更高规模或更快吞吐量的方法存在更高的中心化风险,或需要更强的“治理”形式,如果在L1完成,这些更强要求的影响将波及到协议的其他部分。通过通过第2层提供这些权衡,以太坊可以基本上避免这些风险。
设想一个国家被一分为二,其中一半变成了资本主义国家,另一半变成了高度政府主导的国家(与现实中的情况不同,假设在这个思想实验中这不是任何种类的创伤性战争的结果;相反,一天,一道边界魔法般地升起,就是这样)。在资本主义部分,所有餐馆都由各种组合的去中心化所有权、连锁店和特许经营店经营。在政府主导的部分,它们都是政府的分支机构,就像警察局一样。第一天,不会有太大变化。人们大体上遵循他们现有的习惯,什么有效什么无效取决于劳动技能和基础设施等技术现实。然而,一年后,你会预期看到很大的变化,因为激励和控制结构的差异会导致行为发生很大的变化,影响到谁来、谁留下、谁离开,建造什么,维护什么,以及什么被任由腐烂。
产业组织理论涵盖了许多这些区别:它不仅讨论了政府主导经济和资本主义经济之间的区别,还讨论了由大型特许经营店主导的经济和由独立企业家经营的每家超市的经济之间的区别。我认为,以太坊生态系统以第1层为中心和以第2层为中心之间的区别沿着类似的路线展开。
一个“核心开发者主导一切”的架构出现了严重问题。
我将以太坊作为一个以第2层为中心的生态系统的关键优势表述如下:
由于以太坊是一个以第2层为中心的生态系统,你可以自由地独立构建一个属于你的子生态系统,具有你独特的特性,同时又是以太坊整体的一部分。
如果你只是在构建一个以太坊客户端,那么你是以太坊整体的一部分,虽然你有一些创造空间,但远不及L2s所提供的。如果你构建一个完全独立的链,你就有了最大的创造空间,但你会失去共享安全和共享网络效应等好处。而第2层形成了一个理想的折中。
第2层不仅仅创造了一个技术上的机会,可以尝试新的执行环境和安全权衡,以实现规模、灵活性和速度:它们还激励着开发人员去构建和维护它,并且激励着社区形成和支持它。
每个L2都是独立的事实也意味着部署新方法是无需许可的:无需说服所有核心开发者你的新方法对于链的其余部分是“安全”的。如果你的L2失败了,那就是你的问题。任何人都可以着手研究完全奇怪的想法(例如,Intmax对Plasma的方法),即使它们被以太坊核心开发者完全忽视,他们也可以继续构建并最终部署。L1的功能和预编译不是这样的,即使在以太坊中,L1开发中的成功与失败往往更多地取决于政治因素,而不是我们希望的那样。不管从理论上讲可以建造什么,一个以L1为中心的生态系统和一个以L2为中心的生态系统所创造的不同激励最终会在实践中严重影响到实际上会建造什么,以及以什么样的质量和顺序建造。
一个以第1层和第2层为中心的架构出现了严重问题。来源。
这种以第2层为中心的方法面临着一个关键挑战,而这个问题在以第1层为中心的生态系统中几乎不需要面对:协调。换句话说,尽管以太坊分叉,挑战在于保持它仍然感觉像“以太坊”,并且具有作为以太坊而不是N个单独链的网络效应。今天,情况在许多方面都不太理想:
有一些努力正在改善这三个问题。对于跨链代币交换,ERC-7683标准是一个新兴的选项,与现有的“中心化桥接”不同,它没有任何确定的中心化运营商、代币或治理。对于跨链账户,大多数钱包采取的方法是在短期内使用跨链可重放消息更新密钥,并在长期内使用密钥存储rollups。针对第2层的轻客户端开始出现,例如Starknet的Beerus。此外,通过下一代钱包的用户体验的最新改进已经解决了更基本的问题,比如消除了用户手动切换到正确网络以访问dapp的需求。
Rabby展示了跨多个链集成视图中的资产余额。在不那么久以前的黑暗时代,钱包并没有做到这一点!
但是,重要的是要认识到,当试图进行协调时,以第2层为中心的生态系统在某种程度上确实在逆流而行。单个第2层没有自然的经济激励来建立协调基础设施:小的第2层不会,因为他们只会获得他们贡献的一小部分收益,而大的第2层也不会,因为他们从加强自己的本地网络效应中获益不亚于或更多。如果每个第2层都单独优化其个别部分,而没有人考虑每个部分如何适应更广泛的整体,我们就会得到像前面几段中所描绘的城市主义的末日一样的失败。
我并不声称对这个问题有神奇的完美解决方案。我能说的最好的是,生态系统需要更充分地认识到跨L2基础设施是一种以太坊基础设施,与L1客户端、开发工具和编程语言并列,并且应该作为这样的价值和资金来源。我们有协议公会;也许我们需要基础设施公会。
“第2层”和“分片”经常被描述为区块链如何扩展的两种相反策略。但是当你看看底层技术时,会发现一个谜题:实际的扩展方法完全相同。你有某种数据分片。你有欺诈证明者或ZK-SNARK证明者。你有用于跨{Rollup,分片}通信的解决方案。主要区别在于:谁负责构建和更新这些部分,以及他们有多少自主权?
以第2层为中心的生态系统在技术上是真正的分片,但它是一种你可以创建自己的分片并制定自己的规则的分片。这是强大的,可以促进很多创造力和独立创新。但它也有关键挑战,特别是在协调方面。对于像以太坊这样以第2层为中心的生态系统来说,要成功,它需要了解这些挑战,并直面解决这些挑战,以尽可能获得以第1层为中心的生态系统的好处,并尽可能接近于同时具备最佳的两个世界。
本文转载自[vitalik],转发原标题‘Layer 2和执行分片在技术上有何真正区别?’,若对此转载有异议,请联系 Gate Learn 团队,他们会及时处理。
免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。
我在两年半前的《终局》帖子中提出的一个观点是,至少从技术上看,区块链的不同未来发展路径看起来令人惊讶地相似。在两种情况下,你都有大量的交易在链上,处理它们需要(i)大量的计算和(ii)大量的数据带宽。像我正在用来撰写本文的笔记本电脑上运行的2 TB reth归档节点等常规以太坊节点并不足够强大,无法直接验证如此庞大的数据和计算量,即使通过英勇的软件工程工作和Verkle树也无法实现。相反,在“L1分片”和以Rollup为中心的世界中,都使用ZK-SNARKs来验证计算,并使用DAS来验证数据可用性。在两种情况下,DAS是相同的。在两种情况下,ZK-SNARKs都是相同的技术,只是在一种情况下它们是智能合约代码,而在另一种情况下它们是协议的固有特性。从技术上来说,以太坊正在进行分片,而Rollup是分片。
这引出了一个自然的问题:这两个世界之间有什么区别?一个答案是代码错误的后果不同:在Rollup世界中,硬币会丢失,在分片链世界中,你会遇到共识失败。但我预计随着协议的巩固和形式化验证技术的改进,错误的重要性会减少。那么我们可以预期在长期内会保持的这两种愿景之间的区别是什么?
在2019年,我们在以太坊中曾经探讨过的一个想法是执行环境。基本上,以太坊将拥有不同的“区域”,这些区域可以对帐户工作方式(包括完全不同的方法,比如UTXO),虚拟机工作方式以及其他功能有不同的规则。这将使得在堆栈的部分区域中实现多样化的方法变得可能,而如果以太坊试图独自完成所有事情,这将会很困难。
最终,我们放弃了一些更为雄心勃勃的计划,简单地保留了EVM。然而,以太坊的L2(包括Rollups、Valdiums和Plasmas)最终可以说起到了执行环境的作用。如今,我们通常关注与EVM等效的L2,但这忽视了许多其他替代方法的多样性:
基于UTXO的架构。来源:Fuel文档。
我们可以尝试将EVM打造成一个涵盖所有可能范式的超级虚拟机,但这样做会导致对每个概念的实现效果大大降低,而不如允许像这样的平台专门化。
以太坊L1提供了非常强大的安全保障。如果某个数据片段位于L1上已经最终化的区块中,整个共识(在极端情况下甚至包括社会共识)将会确保数据不会被以违反放置该数据的应用程序规则的方式编辑,任何由数据触发的执行都不会被撤销,并且数据将保持可访问性。为了实现这些保证,以太坊L1愿意承担高昂的成本。在撰写本文时,交易费用相对较低:第二层每笔交易的收费少于一分钱,即使在L1上,基本的ETH转账也不到1美元。如果技术进步迅速到足以使可用的区块空间增长以满足需求的速度,这些成本未来可能仍然较低 - 但也可能不会。即使每笔交易只有0.01美元,对于许多非金融应用来说也太高,例如社交媒体或游戏。
但是社交媒体和游戏并不需要与L1相同的安全模型。如果某人可以支付一百万美元来撤销他们输掉国际象棋比赛的记录,或者让你的推特帖子看起来是在实际发布三天后才发布的,那也没关系。因此,这些应用程序不应该为相同的安全成本付费。以L2为中心的方法通过支持从rollups 到 plasma再到validiums的一系列数据可用性方法实现了这一点。
不同的L2类型用于不同的用例。这里阅读更多
另一个安全权衡出现在从L2到L2传递资产的问题上。在极限情况下(未来5-10年),我预计所有的Rollups都将是ZK Rollups,并且超高效的证明系统如Binius和Circle STARKs与lookups,以及证明聚合层将使得L2能够在每个槽中提供最终化的状态根。然而,目前我们有一个复杂的乐观Rollups和ZK Rollups的混合,具有各种不同的证明时间窗口。如果我们在2021年实现了执行分片,那么保持分片诚实的安全模型将是乐观Rollups,而不是ZK - 因此L1将不得不在链上管理系统性复杂的欺诈证明逻辑,并且需要一个长达一周的提款期来将资产从分片移动到分片。但就像代码错误一样,我认为这个问题最终是暂时的。
第三个,并且再次更持久的安全权衡维度是交易速度。以太坊每12秒产生一个区块,不愿意加快速度,因为那样会使网络过于集中。然而,许多L2正在探索几百毫秒的区块时间。12秒已经不算太糟糕了:平均而言,提交交易的用户需要等待约6-7秒才能包含在一个区块中(不只是6秒,因为下一个区块可能不会包括他们)。这与我在信用卡上进行支付时需要等待的时间相当。但许多应用程序要求更高的速度,而L2则提供了这种速度。
为了提供这种更高的速度,L2依赖于预确认机制:L2的验证者会数字签署承诺在特定时间包含交易,如果交易没有被包含,他们可以受到惩罚。一种称为StakeSure的机制进一步概括了这一点。
L2预确认。
现在,我们可以尝试在第1层完成所有这些工作。第1层可以整合“快速预确认”和“缓慢最终确认”系统。它可以整合具有不同安全级别的不同分片。然而,这将给协议增加很多复杂性。此外,在第1层完成所有这些工作将有可能过载共识,因为许多更高规模或更快吞吐量的方法存在更高的中心化风险,或需要更强的“治理”形式,如果在L1完成,这些更强要求的影响将波及到协议的其他部分。通过通过第2层提供这些权衡,以太坊可以基本上避免这些风险。
设想一个国家被一分为二,其中一半变成了资本主义国家,另一半变成了高度政府主导的国家(与现实中的情况不同,假设在这个思想实验中这不是任何种类的创伤性战争的结果;相反,一天,一道边界魔法般地升起,就是这样)。在资本主义部分,所有餐馆都由各种组合的去中心化所有权、连锁店和特许经营店经营。在政府主导的部分,它们都是政府的分支机构,就像警察局一样。第一天,不会有太大变化。人们大体上遵循他们现有的习惯,什么有效什么无效取决于劳动技能和基础设施等技术现实。然而,一年后,你会预期看到很大的变化,因为激励和控制结构的差异会导致行为发生很大的变化,影响到谁来、谁留下、谁离开,建造什么,维护什么,以及什么被任由腐烂。
产业组织理论涵盖了许多这些区别:它不仅讨论了政府主导经济和资本主义经济之间的区别,还讨论了由大型特许经营店主导的经济和由独立企业家经营的每家超市的经济之间的区别。我认为,以太坊生态系统以第1层为中心和以第2层为中心之间的区别沿着类似的路线展开。
一个“核心开发者主导一切”的架构出现了严重问题。
我将以太坊作为一个以第2层为中心的生态系统的关键优势表述如下:
由于以太坊是一个以第2层为中心的生态系统,你可以自由地独立构建一个属于你的子生态系统,具有你独特的特性,同时又是以太坊整体的一部分。
如果你只是在构建一个以太坊客户端,那么你是以太坊整体的一部分,虽然你有一些创造空间,但远不及L2s所提供的。如果你构建一个完全独立的链,你就有了最大的创造空间,但你会失去共享安全和共享网络效应等好处。而第2层形成了一个理想的折中。
第2层不仅仅创造了一个技术上的机会,可以尝试新的执行环境和安全权衡,以实现规模、灵活性和速度:它们还激励着开发人员去构建和维护它,并且激励着社区形成和支持它。
每个L2都是独立的事实也意味着部署新方法是无需许可的:无需说服所有核心开发者你的新方法对于链的其余部分是“安全”的。如果你的L2失败了,那就是你的问题。任何人都可以着手研究完全奇怪的想法(例如,Intmax对Plasma的方法),即使它们被以太坊核心开发者完全忽视,他们也可以继续构建并最终部署。L1的功能和预编译不是这样的,即使在以太坊中,L1开发中的成功与失败往往更多地取决于政治因素,而不是我们希望的那样。不管从理论上讲可以建造什么,一个以L1为中心的生态系统和一个以L2为中心的生态系统所创造的不同激励最终会在实践中严重影响到实际上会建造什么,以及以什么样的质量和顺序建造。
一个以第1层和第2层为中心的架构出现了严重问题。来源。
这种以第2层为中心的方法面临着一个关键挑战,而这个问题在以第1层为中心的生态系统中几乎不需要面对:协调。换句话说,尽管以太坊分叉,挑战在于保持它仍然感觉像“以太坊”,并且具有作为以太坊而不是N个单独链的网络效应。今天,情况在许多方面都不太理想:
有一些努力正在改善这三个问题。对于跨链代币交换,ERC-7683标准是一个新兴的选项,与现有的“中心化桥接”不同,它没有任何确定的中心化运营商、代币或治理。对于跨链账户,大多数钱包采取的方法是在短期内使用跨链可重放消息更新密钥,并在长期内使用密钥存储rollups。针对第2层的轻客户端开始出现,例如Starknet的Beerus。此外,通过下一代钱包的用户体验的最新改进已经解决了更基本的问题,比如消除了用户手动切换到正确网络以访问dapp的需求。
Rabby展示了跨多个链集成视图中的资产余额。在不那么久以前的黑暗时代,钱包并没有做到这一点!
但是,重要的是要认识到,当试图进行协调时,以第2层为中心的生态系统在某种程度上确实在逆流而行。单个第2层没有自然的经济激励来建立协调基础设施:小的第2层不会,因为他们只会获得他们贡献的一小部分收益,而大的第2层也不会,因为他们从加强自己的本地网络效应中获益不亚于或更多。如果每个第2层都单独优化其个别部分,而没有人考虑每个部分如何适应更广泛的整体,我们就会得到像前面几段中所描绘的城市主义的末日一样的失败。
我并不声称对这个问题有神奇的完美解决方案。我能说的最好的是,生态系统需要更充分地认识到跨L2基础设施是一种以太坊基础设施,与L1客户端、开发工具和编程语言并列,并且应该作为这样的价值和资金来源。我们有协议公会;也许我们需要基础设施公会。
“第2层”和“分片”经常被描述为区块链如何扩展的两种相反策略。但是当你看看底层技术时,会发现一个谜题:实际的扩展方法完全相同。你有某种数据分片。你有欺诈证明者或ZK-SNARK证明者。你有用于跨{Rollup,分片}通信的解决方案。主要区别在于:谁负责构建和更新这些部分,以及他们有多少自主权?
以第2层为中心的生态系统在技术上是真正的分片,但它是一种你可以创建自己的分片并制定自己的规则的分片。这是强大的,可以促进很多创造力和独立创新。但它也有关键挑战,特别是在协调方面。对于像以太坊这样以第2层为中心的生态系统来说,要成功,它需要了解这些挑战,并直面解决这些挑战,以尽可能获得以第1层为中心的生态系统的好处,并尽可能接近于同时具备最佳的两个世界。
本文转载自[vitalik],转发原标题‘Layer 2和执行分片在技术上有何真正区别?’,若对此转载有异议,请联系 Gate Learn 团队,他们会及时处理。
免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。