首页 > 技术 > 一文总览过去五年中以太坊的可扩展性解决方案
路安  

一文总览过去五年中以太坊的可扩展性解决方案

摘要:"区块链无法扩展"你可能已经听过一百万次了。几年前,这感觉像是对该行业的真正威胁。如果我们甚至不能每秒处理 15 笔交易,我们如何为没有银行账户的人提供银行服务?但大问题推动了创新,区块链的可扩展性是

你可能听说过100万次区块链无法扩展。几年前,这感觉像是对这个行业的真正威胁。如果我们甚至不能每秒处理 15 交易,我们如何为没有银行账户的人提供银行服务?

然而,大问题促进了创新,区块链的可扩展性是一个大问题。它很快引起了工程师和科学家的注意。直到今天,我们对区块链的扩张越来越有信心。事实上,目前的大多数争论都关注哪种可扩展性解决方案将获胜。

这就是为什么在这篇文章中,我将分解一些在过去五年中探索过的以太坊可扩展性解决方案——并解释如何成为赢家的垫脚石:总结

面对 可扩展性三难

如果不提著名的 可扩展性三难 ,我们就不能谈可扩展性。这个术语的原因Vitalik(V神)创造用于解释区块链的三个属性:可扩展性、分散性和安全性。显然,到目前为止,我们可以实现其中两个属性。但是很难同时得到这三个。

在我们理解为什么之前,让我们把我们的条款弄清楚。

可扩展性只意味着区块链可以以每秒的数量处理大量事务 (TPS) 测量。分散化意味着区块链由世界各地的许多去信任节点运行,而不是由一小群集中的信任节点运行。安全意味着区块链可以抵抗攻击,即使网络中一定比例的节点是恶意的。理想情况下,它应该能够处理多达50% 的恶意节点。

Vitalik 创建了一个简单的三角形,每个边代表三个属性之一。三角形的每一边都代表着不同类型的区块链解决方案,即 3 属性中的 2 。

以太坊

分散化和安全

以太坊

三角形的底部是传统的区块链,如比特币和以太坊 1.0(一层)。

这类区块链是:

分散化:是的。因为世界上任何人都可以选择成为采矿节点。世界上成千上万的矿工参与保护比特币和以太坊网络的安全。没有必要授权自己成为矿工;这是完全不信任的。安全:是的。因为网络中的每个节点都保留了区块链副本,并验证了每笔交易。此外,工作量证明旨在处理高达50% 的恶意节点。可扩展性:不。凭借其安全性,网络中的每个节点都保留了区块链副本,并验证了每笔交易。虽然安全,但效率低下,导致延迟和吞吐量非常低。对于比特币,每秒大约有7 笔交易,对于以太坊,每秒大约有15 笔交易。

安全可扩展

典型的高度是典型的高度TPS比如币安智能链。它们使用一种叫做 的方法Proof-of-stake-authority 共识算法,其中 选举 21个节点生成新块。每 24 小时,2月15日更名BNBChiin,从21个节点扩展到41个节点。在 24 小时内,将选择一组新的 41 节点生成新块。

以太坊

安全:是的。每个 选举 节点都被授权,所以我们控制系统中的对手。可扩展:是的。由于少量的选举节点在任何时候都会产生新的块,我们可以获得更高的事务吞吐量和更低的延迟,这意味着交互成本低于每个节点必须验证的每个事务。分散有 41 选举的验证者比传统的区块链分散要少得多。此外,每个选举节点都被授权,所以我们向系统介绍信任,以减少分散。

可扩展和分散化

多链生态系统在三角形左侧,如 Cosmos、Polkadot和 Avalanche。这些系统有许多独立的区块链网络,它们都是通信更大区块链网络的一部分。

以太坊

可扩展性:是的。由于我们不再需要将所有状态存储在单个区块链中,我们可以将状态分为许多独立的区块链,以实现比传统区块链更高的可扩展性。分散化:这取决于情况。生态系统中的每个区块链都有一组验证区块链的节点。生态系统中的一些链将有许多验证者(例如,需要分散的稳定货币链),而其他链可能很少甚至只有一个(例如,不需要太多分散的企业链)。因此,分散化的程度取决于我们所指的生态系统中的哪个链。安全:不太安全。如果生态系统中的一条链受到攻击,它可能会对系统的其他部分产生连锁反应。例如,如果链 B 被攻击,而链 A、C 和 D 都依赖它,所以其他链也会受到影响。

如你所见,扩展区块链有很多不同的尝试,但它几乎总是以这三个属性之一为代价。Vitalik 和以太坊社区一直不愿意做出这样的妥协,他们的目标是获得三个。

在我们了解这如何可能之前,了解另一件事很重要:第 1 层扩展与第 2 层扩展。

了解第 1 层和第 2 层的扩展

在最高水平,第 1 层扩展是指扩展核心区块链本身。相比之下,第 2 层扩展是指将交易从主区块链层转移到可以与主链通信的单独层。

以太坊

以太坊希望同时使用第 1 层和第 2 层解决方案来解决可扩展性的三个困难。分片是以太坊的第 1 层解决方案,总结为以太坊的第 2 层解决方案。

以太坊

以太坊最早的二层解决方案

但总结和分割必须等待一会儿。首先,我们应该记录以太坊过去探索的第 2 层扩展解决方案,然后最终得出以太坊的 圣杯 的总结。毕竟,这是项目的工作方式——我们提出想法,测试它们并迭代它们,直到我们找到可行的解决方案。

状态通道

状态通道已经存在了很长一段时间,所以它们并不新鲜。以下是他们如何工作的快速描述。假设我们有两个人,爱丽丝和鲍勃,他们想互相交易。每次爱丽丝发推特,她都会向鲍勃支付 1 美元。但因为 Bob每天发很多推文,用以太坊交易太慢太贵。

相反,他们使用 状态通道 :

爱丽丝在以太坊的智能合同中投资了500美元。每当 爱丽丝 想给 鲍勃 1 美元时,她就会签署一条消息,表明她想给 鲍勃多少钱。直到 鲍勃准备好 现金 他的资金,她才签署这条消息。鲍勃 提交了一条新消息,表明他已经准备好关闭状态通道。以太坊的智能合同验证了爱丽丝和鲍勃的签名,向鲍勃支付了应付金额,并将其余款项返还给爱丽丝。

以太坊

请注意,只有第一步和最后一步需要我们在区块链上进行交易。在这些步骤之间,爱丽丝和 鲍勃可以发送无限数的签名信息来指示付款。

在这种情况下,以太坊区块链仅用作结算层来处理一次性付款的最终交易,这减轻了底层区块链的负担。

重点是:通过开辟区块链以外的交易渠道,我们在保持低成本的同时,大大提高了交易容量和速度。这是可能的,因为:

首先,大多数交易发生在链下,这意味着支付可以立即处理,因为双方之间的链下更新不需要额外的时间来处理和验证区块链网络。其次,支付成本较低,因为我们只需要在打开和关闭状态通道时进行链上交易。这意味着大多数交易都在链下进行,而且成本要低得多。

那为什么这不是最终的解决方案呢?好吧,状态通道能做的事情是有限的。

例如,我们不能使用状态通道与不属于状态通道的人进行交易,我们只限于状态通道中可能的状态更新类型Uniswap这种复杂的应用程序不能用于状态通道,因为当我们在 Uniswap 上交换两个代币时,智能合约会自动执行一系列中间步骤来进行交换,这些步骤没有授权用户在每个步骤上签字。

状态渠道的另一个缺点是,它们要求我们锁定流动性,锁定流动性,防止恶意交易对手可能永远不会真正支付承诺资金。这对于单个渠道来说可能没有问题,但当我们试图通过状态渠道网络支付时,锁定在中间渠道的流动性使其资本效率低下。

最后,状态渠道需要能够定期监控网络的人(或委托给他人)。这确保了您的资金安全,增加了复杂性和低效率。

综上所述,状态通道适用于双方需要在一段时间内快速廉价交易的用例(如商家和客户)。但鉴于用例有限,资本效率低,我们不认为状态通道是以太坊的最终扩展解决方案。

侧链

侧链已经存在了很长一段时间,而且很容易理解。简而言之,侧链是与主区块链联系的独立区块链。

当我们将一个区块链联系到另一个区块链时,这意味着我们可以在两个区块链之间移动资产。单向联系是我们将资产从主区块链移动到侧链的地方,而不是其他方式。这是通过将主区块链上的代币发送到不可用的地址来燃烧代币,然后在侧链上铸造 等价代币来实现的。

以太坊

然后, 双向挂钩是我们可以将资产转移到主区块链和侧链中的时候。这需要在主链上锁定 我们的代币,然后在侧链上铸造 等量的代币。当我们想要转换回原始代币时,我们会烧掉侧链上的代币,然后解锁主链上的代币。

以太坊

因此,侧链是当我们创建一个与主区块链双向相关的新区块链时。当我们想要更快的交易时,我们可以将我们的资金从主链转移到侧链并在那里交易。完成后,我们将资金转移回主链。

以太坊

比特币侧链的一个例子是Liquid Network。Liquid Network 与比特币挂钩,允许比特币支付更快更便宜。另一个流行的例子是Polygon,与以太坊挂钩的侧链。

当用户想要更快的交易时,他们可以锁定一些 ETH 并在 Polygon 侧链上创建等量的Matic代币。在 Polygon 在侧链上,他们可以享受更快更便宜的交易。当他们完成交易时,他们可以使用 Matic 代币转换回 ETH。

以太坊

注:从技术上讲,Matic 不是侧链,因为它会定期向以太坊提交侧链的状态。因此,他们喜欢称自己为提交链。

以太坊

一般来说,侧链是可扩展的,因为它们通常使用不同的共识算法来分散和/或安全。

侧链是以太坊网络上大量拥堵的好办法,但以太坊不认为这是最终的可扩展解决方案。随着你继续阅读,原因会变得清楚:)

Plasma

Plasma 是另一个 第二 层解决方案,可以让我们将交易转移到基础层。进入 Plasma 以前,随着时间的推移,要注意,Plasma 已经迭代了很多次,每次都有自己的权衡选择。你可以看看Plasma人们解决了世界地图Plasma有许多不同类型的设计试图创造挑战!

以太坊

当然,为了这篇文章的目的,我必须总结 Plasma 的概念,而不是过分关注个别实现。要深入挖掘,请务必查看世界地图。

所以,什么是Plasma?Plasma 本质上是一系列在主区块链之外运行的智能合同(或 Plasma链”)。

以太坊

Plasma 链就像一棵树的树枝,以太坊是主干,每个 Plasma 链是一个分支,每个分支都被认为是有自己区块链历史和计算的区块链。

根区块链(即以太坊区块链)用被称为 欺诈证明的东西强制 Plasma 链中状态的有效性。欺诈证明是我们提供某些数据的机制,任何人都可以使用数学证明来确定数据是否无效。

以太坊

每个 Plasma 区块链不需要向根链发布交易数据。相反,每个 Plasma 链有一个 操作员 。这可能是一个集中的参与者,一个代表多个人的多重签名,甚至一个参与成为运营商的委员会。Plasma 链运营商提交 Plasma 发生在链条上的转移 Merkle 根。

注:假如你不知道 Merkle(默克尔树)树的工作原理,那么我强烈建议您在继续之前阅读此解释器。在高层次上,Merkle 树允许我们获得一个大数据集(例如,一个块中的交易),并生成一个代表整个数据集的单个根哈希。

以太坊

稍后,我们可以很容易地证明来自大数据集的数据(即来自一个事务块的单个事务)存在于数据集中,只需提供通往数据的分支。

以太坊

如果有人试图证明欺诈交易的存在,哈希值将不匹配,我们将立即知道。

好的,回到 Plasma。

每个 Plasma 所有发生在其上的转移都在提交Merkle 根。当用户稍后试图将其资产从 Plasma 当链条移回根链时,用户可以提交将资产发送给他们的最新交易 Merkle 分支(最近的交易足以让我们知道当前的余额在等待Plasma上)。这是一个挑战期,任何人都可以试图证明用户 Merkle 分支是欺诈性的。如果 Merkle 如果分支有欺诈,可以提交欺诈证明。

因为根区块链只跟踪 Merkle 根,所以它必须处理的数据比发生在主链上的交易要少得多。这显著减少了存储在根区块链上的数据量,并使我们能够扩展根链。

另外,如果是特定的 Plasma 链遭到恶意攻击,人们可以大规模退出腐败的子链。

以太坊

以太坊

等Plasma 比状态通道更有利,因为你可以向任何人发送资产,使用状态通道,你只能与状态通道中的人交易。此外,等待Plasma与侧链相比,等离子链受以太坊保护。

两者(Plasma 与侧链的根本区别在于侧链有自己的安全模型。他们有自己的共识机制和一组单独的节点来验证状态。即使侧链受到攻击,主链也不会发生任何事情,反之亦然。如果侧链受到攻击,主链无法保护用户。

另一方面,等等Plasma每个 都有依赖的安全模型Plasma 链可以使用自己的机制来验证交易,但它仍然使用以太坊区块链作为最终的真实仲裁员。当拜占庭攻击时,等离子链用户可以退出以太坊。

但是 Plasma 有几个缺点,使它成为一个普通的可扩展解决方案。

首先,当用户想从 们的资产从 Plasma 当合同转移到以太坊主区块链时,他们需要等待 7天。这足以证明提款交易不是欺诈性的。如果是,他们可以使用 Plasma 链上的 Merkle 树木建造欺诈证明。

第二,每个 Plasma 所有的链条都需要运营商 Merkle 根承诺发布到主链。这就要求我们依靠第三方准确地将 Merkle 根承诺在链上发布。不幸的是,运营商可以实施所谓的数据可用性攻击,出于恶意原因拒绝向主链发布一些交易。

以太坊

在这种情况下,运营商可以说服网络接受无效块,而无法证明无效块。这可以防止其他用户知道区块链的准确状态。这也阻止了人们创建区块或交易,因为他们缺乏构建证明的信息。与欺诈不同,数据可用性攻击并不是唯一可归因的。我们无法知道攻击正在发生。

运营商也可以通过提交欺诈性交易等更明确的方式进行恶意操作。在这种情况下,人们可以大规模退出 如上所述。但事实证明,这些在实践中要困难得多。如果许多用户想大规模退出,可能会导致主链拥堵,用户可能无法及时退出,导致资本损失。

第三,Plasma 要求交易资产的所有者在场。这保证了 Plasma 链的安全性,因为它有效地使未经所有者同意无法进行交易(如 ERC 20 代币发送到批准地址)。Plasma 最适合简单的转账,但随着交易变得越来越复杂,设计空间变得不规则。

出于上述原因,Polygon 和 OMG 网络最初追求 Plasma 结构扩展,但后来放弃了。

在这种情况下,在提出各种解决方案后,我们得到了总结。

汇总

就像状态通道、侧链等Plasma同样,总结是第 2 层解决方案。事实上,rollup 与 Plasma 非常相似,因为我们批量处理链下的交易,并将其更新并发布到主区块链。然而,关键的区别在于,通过总结,我们将每批交易的交易数据发布到链上。使用 Plasma,我们只发布 Merkle 根。

换句话说,通过汇总,我们在链下进行交易,但我们在链上发布交易数据。我们在链上发布的数据量是当地验证汇总交易所需的最小数量。任何人都可以检测欺诈数据来检测欺诈、提款或开始生成交易批次。因此,汇总比 好Plasma 链或侧链为我们提供了更高的安全保障。

rollups 和 Plasma 之间的另一个关键区别是,我们不必担心数据的可用性。毕竟,我们在主链上发布了交易数据。这是一场巨大的胜利。

使用汇总,我们在汇总层中有效运行 EVM 的版本。这意味着以太坊上任何可能的交易都可以在汇总中执行。

这就导致了一个问题:如果我们仍然在链上发布交易数据,我们将如何扩展 1 层?扩展不是仅限于主链的数据带宽吗?

是的。这里的关键是我们通过总结获得 5 到 100 倍的可扩展性,但不是无限的可扩展性。Rollups 还使用了许多花哨的压缩技巧来最小化我们在链上发布的交易数据,因此链上的数据存储比其他方法少得多。

以太坊

同时,我们总结了链下交易执行的所有繁重工作。回想起来,在交易执行期间,以太坊虚拟机 必须进行交易(EVM) 处理并与状态交互(如存储、账户余额等)。).这很贵。

然而,对于汇总,我们在汇总中操作 EVM 的一个版本将此执行转移到汇总层——因此我们仍在执行相同的执行,但是 的汇总层gas 成本比以太坊便宜得多。

仔细检查汇总

现在,让我们来看看总结是如何在幕后工作的。

主链上有一个汇总合同,用于维护汇总层的当前状态。这包括交易用户的账户余额和存在合同的智能合同代码。简而言之,汇总合同跟踪汇总层交易的状态根。

以太坊

“状态根”由键值映射由地址和帐户组成。每个帐户最多有 4个属性:余额、随机数、代码(仅适用于智能合同)和存储(仅适用于智能合同)。

以太坊

当事务发生在总结层时,状态会发生变化。当然,这意味着状态根也需要更新。但不是为了更新每笔交易的状态根,而是为了将交易批量发送到主链。该批次将包括该批次事务的压缩形式和更新状态根,表示该批次事务处理后的数据。

主链上的汇总合同检查批次中的前一个状态根是否与状态根匹配——如果匹配,则将状态根切换到新的状态根。

以太坊

因为发布的交易数据实际上并没有 EVM 解释说,我们没有访问或写入状态——这太贵了。相反,我们将压缩的交易数据视为calldata在汇总合同中发布参数。

这就是为什么它很整洁,在 Solidity 中,calldata(是一种数据结构存储方式)是最便宜的存储方式。实际上,作为 calldata 参数传递的参数根本不会存储在以太坊的状态中,这意味着我们避免了很多 gas 成本。同时,以太坊节点在创建区块时仍然可以存储交易数据(在历史日志中)。

精明的读者可能想知道 Plasma 和汇总有什么区别?这是关键区别:通过汇总,我们将交易数据与状态根一起发布到链上。使用 Plasma,我们只需要发布交易的状态根。

与 Plasma 不同,我们有一个会 Merkle 根发布到根链的操作员,rollups 允许任何人在链上发布新一批交易rollup 合同,稍后我们将进一步讨论。

再一次,这导致了一个问题:既然我们只向主链发布交易数据而不是执行链上的交易,我们怎么知道主链上发布的交易数据和状态根本不是欺诈性的?

输入:乐观总结和零知识总结,每个都有自己的处理和验证批次正确性的方法。

乐观汇总

你可以根据名字猜出什么是乐观的总结。当一批新交易 总结 到达主链时,每批状态根和哈希都会发布,但我们实际上没有验证交易是否正确执行,至少在发布时没有。

这样,我们 乐观 在主链上发布了新的状态根和交易数据的汇总合同。当有人将新的状态根发布到主链时,汇总智能合约将简单地接受它们。

如果人发现向汇总智能合同发布无效状态转换,则可生成 欺诈证明 。

欺诈证明包括:

预先状态的证明,或 后状态 在应用交易前的外观,或在应用交易后的状态应如何处理在状态转换期间应用的交易证明

工作流程非常简单:该欺诈证书已发布在主链上的汇总合同中。然后汇总合同验证证书,并将交易逻辑应用于预状态。然后,它将结果与后状态进行比较。如果存在不匹配,则证明发布批次的人没有正确应用交易。然后,智能合同将恢复该批次的交易和以后的所有批次。

为此,任何将批次发布到主链的人都必须存入保证金,因此如果他们表现出恶意并被抓到,他们可能会被 “ 罚没 ”。

ZK 汇总

若乐观总结使用在被证明有罪之前是无辜的心态,那么 ZK 总结使用不信任、验证的心态。

使用 ZK 汇总,每批都包含一个称为 ZK-SNARK 的加密证明证明状态是执行这批事务的正确结果。ZK-SNARK 证明是哈希值,表示在 zk-rollup 层中执行交易后区块链状态的变化。该有效性证明被发布到汇总合约中,因此任何人都可以使用它来验证汇总层上特定批次中的交易。

这里的魔力在于 ZK-SNARK 的工作方式。它们允许我们在不泄露数据的情况下生成底层数据的证据。即使他们无权访问数据本身,任何人都可以在未来验证数据是否存在。

ZK-SNARKS 的数学基础非常复杂,超出了我们的范围,但如果你好奇,我鼓励你去 Google 或 YouTube 花点时间了解他们的工作原理。

哪个更好?

下一个明显的问题是……哪个更好?很难说。各有优缺点。接下来我们来看看。

成本

成本 在抽象中意义不大,但当我们分解它时,乐观和 ZK 汇总性能开始不同。

在链条上发布新批次Gas 成本:乐观的总结成本较低。我们乐观地发布新的状态根和数据,因此这是一笔简单的交易。ZK 汇总成本更高。当我们在链上发布新批次时,我们必须验证 ZK-SNARK 有效性证明。这在计算上更贵。 发布在链上的每笔交易Gas 成本:乐观的汇总成本更高。为了以后验证欺诈证明,我们必须在链上发布足够的数据。ZK 汇总成本较低。我们可以省略大部分交易数据,因为有效性证明任何人都可以验证批次的正确性。链下计算成本:乐观汇总成本较低。我们只发布新的状态根,而不是执行/验证交易。换句话说,我们仍然需要一些人观察新批次的创建和新交易的实施,以确保批次的正确性。ZK 汇总成本较高。ZK-SNARK 的计算成本很高(成本高于 20 到 1000 倍,尽管随着创新变得更便宜)。

尽管 ZK-rollups 链下计算成本较高,但考虑到 链下gas 价格要低得多也很重要。

速度

乐观的总结非常缓慢。通常,用户必须等待大约一周才能提取他们的资产。如果用户试图提取他们在总结层实际上没有的代币,这可能会给某人足够的机会发布欺诈证书。

ZK 汇总很快。用户通常等不到 10分钟才提取资产。我们只需要等到下一批来处理提款,因为所有的汇总状态都得到了验证。

注:有一些方法可以通过使用快速提款来绕过本周的等待期。这是由流动性提供商完成的,他们在主链上保持 cookie jar 资金。当用户快速提取资金时,他们会向流动性提供商提供汇总资金的借据,然后他们会立即从主链上获得流动性提供商的支付(费用)。

后来,当一个周期结束,用户从汇总层收回资产时,用户可以将欠款发送给流动性提供商。流动性提供商甚至可以选择运行验证节点来验证用户在汇总上的交易,然后在主链上分配资金,从而进一步降低风险。

然而,这种 快速提现 方案是 NFT 是不可能的,因为任何 NFT 只有一个存在,流动性提供商无法在链上创建相同的 NFT。

复杂

乐观汇总更简单,欺诈证明的概念由来已久,因此解决方案相对简单。

ZK 汇总更复杂,ZK-SNARK 是新的,数学复杂。

广泛性

乐观的总结更容易广泛化,工程师们建立了一个和 EVM 兼容的虚拟机叫 OVM(乐观虚拟机)允许乐观总结可以在以太坊处理的任何事务。

ZK 汇总更难总结。使用 ZK-SNARK 证明通用 EVM 执行比证明简单计算(如价值转移)要困难得多。也就是说,这个领域有很多创新。事实上,StarkNet alpha引入了一种叫 的Cairo 新编程语言,是以太坊图灵完整 ZK 验证器允许我们验证通用计算智能合同。

可扩展性

乐观总结的可扩展性较差。当我们在链上发布数据时,它通常包括一些状态(如交易细节)和见证人(如交易员同意的数字签名)。使用乐观总结,我们必须见证每笔交易,以便人们能够证明未来的欺诈行为。见证人占用了大量的存储空间,是交易数据 3-10 倍。

ZK 汇总更具可扩展性:我们不需要计算每笔交易,包括见证人ZK-SNARK 所有的数字签名都得到了验证。相反,我们每批只需要一个见证人,这大大减少了链上存储的数据。

安全

乐观的总结是不安全的,它依赖于加密经济学来确保链的安全。换句话说,他们必须鼓励人们观看链上发布的批次,并测试欺诈行为。

ZK 总结更安全,ZK 总结依赖于数学,它们不需要激励。它们使用密码学而不是密码经济学。

那么,既然我们已经分解了这些,哪个更好呢?仍然很难说,但这证明了这些程序背后的工程师所做的伟大工作。我们就像 Optimism 和 Arbitrum 这样的团队正在努力为以太坊开发人员开发乐观的总结。我们有StarkWare和Zksync这类公司将是通用 ZK-rollups 引入以太坊。

这两种解决方案都处于起步阶段。但乐观的总结更接近被采用,因为它们并不复杂,可以用于今天的通用计算。另一方面,ZK rollups 赶上它需要一些时间,但许多工程师会认为 ZK rollups 是一项优秀的技术。毕竟,它们依赖于数学而不是加密经济学,它们比乐观的总结更具可扩展性。

换句话说,最好的技术并不总是赢。我们不能忽视的是,一旦一项技术根深蒂固,它就很难被取代。乐观的总结必须是领先的——所以只有时间才能证明哪个会从长远来看 赢 。

总结的智慧

在讨论总结的一些持久挑战之前,让我们来看看总结中使用的压缩技巧是如此有效。

以太坊

随机数:在典型的以太坊交易中,我们包含随机数,以防止双花攻击。Rollups 完全省略了它们,因为它们可以重新计算区块链的以前状态。这样,尽可能多地用计算来替换数据。Gas 价格:与其以 gwei 定价(包括 1 gwei 是 10^-9 ETH),不如将 Gas 价格限制在固定价格范围内,从而显著减少在交易数据中记录 Gas 价格所需的存储量真的加起来了!费用:同上。To: 20 字节长, 1 字节用于 RLP 编码。总结可以存储索引到地址的映射,而不是包括地址,只在 to 字段(如1234)包含索引。这就像把坐标留给目的地,而不是渲染整个位置本身。值: 字段为 9 字节,因为 ETH 和 ERC-20 代币最多有 9 位小数。总结可以将值限制为最多 3个小数位,为我们节省 6个字节。看起来很实用!签名:如上所述,数字签名 见证 占用了大量存储空间。Rollups 可使用 BLS签名(签名聚合和密钥聚合算法)允许我们将许多签名聚合在一起,节省了大量的存储空间!

让我们把这一切都付诸行动,用这些压缩技巧,我们可以做 ETH 传输字节减少了多少?典型的 ETH 传输需要 12 字节,但有了这些压缩技巧?只有 12 字节,几乎提高了 10 倍的效率!

ZK rollup 可以获得比乐观 rollup 更优化,因为它们在将交易数据发布到主链之前进行链下交易验证。它们不需要包含交易数据的验证部分;有效性证明就足够了。所有 ZK 汇总需要存储计算状态转换所需的数据。因此,汇总不仅是因为它们有效地将计算移出链,而且因为它们非常聪明的数据压缩技能。

Rollups 不完全是圣杯

但不要太兴奋。虽然总结很有希望,但还是有很多问题需要解决。以下是你应该注意的一些选择战。

可扩展的天花板

到目前为止,您已经了解了总结和其他第 2 层解决方案(如 Plasma 和侧链之间的主要区别。您将记住,汇总将计算移出链,但将数据存储在链上。这对解决数据可用性问题非常有帮助。但由于我们在链上存储交易数据(尽管它是非常压缩的),我们仍然受到以太坊存储容量的限制。

通过一些粗略的数学,我们可以看到理论上的 TPS 汇总。

以太坊区块gas限制:1250万gas链上存储每个字节的数据成本:16 gas每个块的最大字节数:~781,000 字节(1250万气体/每字节 16 气体)采用汇总 ETH 传输所需的数据字节:12 字节(见上一节中的数学):~65,000(字节/每片 781,000 ETH 传输 12 字节)以太坊平均出块时间:每秒13秒交易数:~5000 TPS(每块约65000 笔交易/每块 13 秒)

当然,这个数学假设一个区块中的所有交易都是 ETH 转账,除了批量汇总交易外,一个区块中没有其他东西,这是极不可能的。大多数区块将包括各种交易,包括一些 1 层交易,这将超过 16 气体成本。此外,如果这些是 ZK-rollup 批次不包括在链上验证 SNARK 证明的成本约为5万 gas。

尽管如此,这为您提供了使用汇总 TPS 起点,5000 远不如 Visa 显然有 65,000 TPS ,但它比今天更 TPS 以太坊要好得多。

流动性破碎

Rollup 技术是作为一个独立的项目创建的,而不是由以太坊协议本身创建的。因此,会有几种不同的汇总技术并行存在,即流动性断裂。

随着流动性从主链转移到汇总,它将 破坏 不同汇总网络的流动性。一些聪明的工程师已经在研究这些机制,尽管有跨汇总通信机制可以解决这个问题!

可组合性降低

构建以太坊的主要好处之一是可组合性。在以太坊建立的每一项新协议都像乐高积木,其他协议可以很容易地构建。例如,这就是让 DeFi 如此强大的原因。它为我们创造了金钱乐高积木。

当应用程序和流动性转移到汇总时,我们将失去一些组合。毕竟,在汇总层和主链之间传递信息和事务并不像在基础层的上下文中那么容易。

但解决这个问题可能只是时间问题。当然,我可以看到一个智能合约仍然可以在不同的总结中相互交流的世界。和往常一样,我们只有几个聪明的工程师来解决这些问题。

集权

我们忽略了讨论谁实际上负责向主链发布新批次,所以让我们回到这个话题。

大多数汇总依靠 定序器 来完成这项工作:定序器是一个批准交易并将结果发布到链上的节点汇总合同。对于 Arbitrum、Optimism 和 StarkNet,sequencer 是它们自己运行的单个节点。

以太坊

我知道。 去中心化 是区块链的核心。虽然效率很高,但显然很集中。如果定序器出现故障或审查交易怎么办?

嗯,事情没那么简单。这些项目之所以目前采用这条路线,是因为使用这种方法迭代起来更容易、更快。为了降低集中风险,随着时间的推移,大多数总结都希望分散排序器——其中许多确实有这样的计划。

分散的测序仪将如何工作?有几种方法。一方面,我们可以创建一个类似的 Proof-of-Stake 系统,在系统中,测序员必须质押代币才能有机会提出下一批。或者我们可以做 Delegated-Proof-of-Stake,其中一个排序器被选举出来,如果它做得不好,可以不被选举。

总之,如何分散测序仪还有待观察!

并排比较

呸。希望大家对汇总有更好的了解——以及以太坊为什么要赌(和片)!)可扩展性解决方案。Rollups 坐在它之前的巨人的肩膀上——如果没有侧链、状态通道和 Plasma,我们不会拥有它。

以太坊

使用分散、安全和可扩展的三难框架也有利于与其他第 2 层解决方案进行比较。除了我将添加一个额外的维度:通用性。多年来,我们已经意识到第 2 层解决方案的通用性非常重要,这样它就可以用来在主链上做任何事情。

以太坊

这清楚地表明,Rollups 为我们提供了适度的可扩展性,而不牺牲分散性、安全性和通用性。

然而,权衡是可扩展性的。由于我们仍然在链上存储数据,我们的可扩展性比在链下存储数据的第 2 层扩展解决方案有限。此外,在短期内,总结依赖于集中排序器,这降低了安全性。但随着时间的推移,这是一个短期的问题,rollup 很可能分散排序器,使其优于 Plasma、侧链和状态通道技术。

那汇总是圣杯吗?我会让你决定的。

PS..

为了简洁起见,我省略了很多关于如何总结工作的有趣细节。但我也错过了一个新的第 2 层扩展计划,叫 Validium ”。

Validium 与 Plasma 的相似之处在于我们将数据和计算转移到链下。关键区别在于 Validium 不依赖欺诈证书来验证交易。相反,运营商需要使用零知识证书来做出新的状态承诺,这使得运营商无法促进无效状态转换。

它还消除了对 大规模退出 计划或协议中长期退出延迟的需求。但我们还是得到了 Plasma 链的无限可扩展性,因为我们没有在链上存储交易数据。简而言之,我鼓励你阅读它!

结论

这篇文章比我预期的要长得多。如果你还在读,那你就是我喜欢的类型。

虽然篇幅很长,但这确实是你对汇总有基本了解的最低限度。毕竟,汇总只是以太坊可扩展性解决方案的一半。如果你正在构建 ,另一半是分片的Web 3.0 如果您对应用程序感兴趣,请注册我们的下一个DappCamp在那里,你将学习如何在以太坊建立和部署安全的智能合同。

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。