AD
首页 > 数字货币 > 正文

关于 Optimistic Rollup,你需要知道的一切_数字货币

[2021-01-31 21:31:44] 来源: 编辑:wangjia 点击量:
评论 点击收藏
导读: 在以太坊生态系统中,最大的挑战之一是在资源严重制约(如 CPU、带宽、内存、磁盘空间)的情况下,如何实现低延迟和高吞吐量。 L2最新款式一览,哪种以太坊L2方案是你的菜?去年,以太坊区块空间的使用需
在以太坊生态系统中,最大的挑战之一是在资源严重制约(如 CPU、带宽、内存、磁盘空间)的情况下,如何实现低延迟和高吞吐量。

L2最新款式一览,哪种以太坊L2方案是你的菜?

去年,以太坊区块空间的使用需求出现了激增。最近的关注导致以太坊网络的交易费用(即ETH gas价格)有时上升到令人痛苦的水平。

以太坊生态系统中,最大的挑战之一是在资源严重制约(如 CPU、带宽、内存、磁盘空间)的情形下,若何实现低延迟和高吞吐量。

系统的去中央化是由网络中最弱的节点验证系统规则的能力所决议的。可以在低资源硬件上运行的高性能协议,可以被称为「可伸缩」。

在这篇文章中,我们将深入探讨当前「2 层解决方案」的原理、它们对应的平安模子,以及它们若何解决以太坊的可伸缩性问题。

若是你有兴趣领会更多关于前沿的以太坊的可伸缩手艺,想要知道若何构建和架构此类系统,那么这篇文章或许对你有辅助。

在整个文章中,主要的关键词或观点会用粗体突出显示,这些都是你在学习加密钱币知识的历程中会遇到的单词 / 术语。这个话题很庞大。也许读的历程中会感受有点疑心,但只要坚持看完,信赖将有所收获。

区块链资源需求

有三个因素会影响去中央化网络(如比特币和以太坊)中运行节点的资源需求:

带宽:下载和广播任何与区块链相关的数据的成本。

盘算:在剧本或智能合约中运行盘算的成本。

存储:为体例索引而存储事务数据的成本,以及为继续处置新的事务块而存储「状态」的成本。值得注重的是,存储「状态」(帐户余额、合约字节码、nonce 值)比存储原始事务数据成本更高。

权衡性能的方式有 2 种:

吞吐量:系统每秒可以处置的事务数目。

延迟:事务处置所需的时间。

比特币和以太坊这类新兴加密网络的理想属性是去中央化,然则使网络去中央化的组成要素是什么呢?

低信托度:这个属性可以让任何小我私家验证比特币的数目不会跨越 2,100 万,或者说他们的比特币不会被伪造。自力运行节点软件的职员会盘算最新的状态,并验证在此历程中是否遵照了所有规则。

低成本:若是节点软件的操作成本很高,小我私家将依赖可信的第三方来验证状态。高成本意味着高信托需求,这是我们首先想要制止的。

另一个需要的属性是可伸缩性:将吞吐量和延迟以超线性的方式扩展到运行系统的成本的能力。这个界说很好,但没有包罗「信托」。因此,我们明确了「去中央化的可伸缩性」:在不显著增添系统信托假设的情形下实现可伸缩性。

放大来看,以太坊的运行时环境是以太坊虚拟机(EVM)。通过 EVM 运行的事务以差别的成本执行种种操作,例如,存储操作的成本高于添加操作的成本。事务中的盘算单元称为「gas」,系统的参数设置为每个区块最多处置 12.5m gas,平均每 12.5 秒发生一个事务区块。因此,以太坊的延迟为 12.5 秒,吞吐量为每秒 100 万 gas。

你可能会问:每秒 100 万 gas 能带来何种效益?

每秒 ~47 笔「简朴转账」事务。这些事务消耗 21,000 gas, 卖力将 ETH 从 A 转移到 B,是最简朴的事务类型。

每秒 ~16 笔 ERC20 代币转账。与 ETH 转账相比,这些方式涉及更多的存储操作,因此每次的成本为 ~60k gas。

每秒 ~10 笔 Uniswap 资产买卖。代币对代币买卖的平均成本约为 102k gas。

…随便挑一个你喜欢的事务的 gas 成本,并将其除以 1m (12.5m / 12.5 /gas)

注重,随着事务的执行庞大度增添,系统的吞吐量会降低到很低的数值。另有改善的空间!

解决方案 1:使用一种中介

我们可以使用一个可信的第三方来促成所有的事务。这样一来,我们就能获得异常高的吞吐量,而且延迟可能只会是亚秒级的。太好了 ! 这不会改变任何系统范围内的参数,但我们将会选择加入第三方片面设定的信托模式。他们可能会选择对我们举行审查,甚至没收我们的资产。这是不可取的。

解决方案 2:让区块更大,更频仍

我们可以通过削减两个区块之间的时间来削减延迟,也可以通过增添区块 gas 限制来增添吞吐量。这一改变将使运营节点的成本更高,使得小我私家难以运行节点(这一点已经在 EOS、Solana、Ripple 等平台泛起了)。

在解决方案 1 中,对信托的需求增添了。在方案 2 中,成本增添。这就消除了它们作为可伸缩性选项的可能性。

从第一原则出发,重新发现 Optimistic Rollup

在下一节中,我们假设读者对哈希和默克尔树已经有所领会。

凭据我们到现在为止学到的知识,让我们模拟一个苏格拉底对话,目的是发现一种既能增添以太坊有用吞吐量,同时又不增添用户和节点操作者肩负的协议。

问:我们想在不显著改变信托和成本假设的情形下扩展以太坊。该怎么做呢?

答:我们想要降低现有操作对系统成本的要求(见上面的三种资源类型)。为了明白为什么要做到这一点并不容易,我们需要先看看以太坊的架构:

以太坊的每个节点现在都存储并执行用户提交给它的每笔事务。在执行历程中,事务通过 EVM 运行,并与 EVM 的状态(例如存储、余额等)交互——这种操作异常昂贵。常见的智能合约优化手艺以最小化与状态的交互次数为焦点,但它们只能提供较小的常量改善。

问:你是说有一种方式可以在不涉及状态的情形下举行买卖,从而保持较低的资源成本?

答:在极限情形下,我们是否可以把所有的执行都移出链外,同时保留一些数据在链上?我们可以通过引入一个被称为「排序者」 (sequencer) 的第三方来实现这一点。他们卖力内陆存储和执行用户提交的事务。为了保持系统的活跃度,排序器需要定期提交他们接收到的事务的默克尔根以及以太坊上发生的状态根。这是朝着准确方向迈出的一步,由于我们只在以太坊的状态中存储 O (1) 数据,用于 O (N) 链下买卖。

问:以是我们通过让排序者盘算链下的一切,只宣布默克尔根来实现伸缩?

答:是的。

问:好的,以是一旦你加入,排序器能保证你的转账用度很廉价。那么存款和提现会若何操作?

答:用户将通过在以太坊上存钱的方式进入系统,然后排序者将响应的金额记入用户的账户。用户可以在以太坊上提出这样的买卖内容,比方说,「我想提现 3 个 ETH,我的账户现在有 3 ETH,这是证实」。纵然第 1 层没有现实的用户状态,用户也能拿出排序器宣布的状态根显示相关的默克尔证实,注释他们在当前状态下有足够的资金。

问:现在我们知道了,用户需要默克尔证实来提取他们的资金。用户若何获得构建默克尔证实的数据?

答:他们可以要求排序者给他们提供数据!

问:万一排序者暂时或永远不可用,那该怎么办?

答:排序者可能是恶意的,也可能只是由于手艺问题而离线,这将导致性能下降(或者更糟,偷走你的资产!)。因此,我们还必须要求排序者在链上提交完整的事务数据来举行存储,但不能执行。在这个问题上,目的是获得数据可用性。假设所有数据都永远存储在以太坊上,纵然排序者消逝了,新的排序者也可以从以太坊中检索所有第 2 层相关的数据,重修最新的第 2 层状态,并从他们的前任脱离的地方继续。

问:若是排序者在线,但拒绝向我提供默克尔证实数据,我可以从以太坊下载吗?

答:没错,你可以自己同步一个以太坊节点,或者连接到众多托管节点服务中的一个。

问:有一点我照样不明白,你怎么能在以太坊存储器械而不执行它呢?不是每个事务都要通过 EVM 吗?

答:假设你提交了 10 个事务,将 ETH 从 A 转移到 B。执行每笔事务都将执行以下操作:增添 A 的 nonce,削减 A 的余额,增添 B 的余额。这得从以太坊的天下状态里举行相当多的写入和读取。相反,你可以将所有事务的编码发送到智能合约的 publish (bytes _transactions) public { } 函数中。注重,该函数的主体是空的!这意味着宣布的买卖数据不会被注释、执行,也不会在任何地方举行状态接见,它只是存储在区块链的历史日志中(写入的成本很低)。

问:我们能信托排序者吗?万一他们宣布了一个无效的状态转换怎么办?

答:任何时候排序者在宣布一批状态转换时,都市有一个「争议期」,在这时代任何一方可以宣布「敲诈证实」以注释其中某个状态转换无效。这可以通过在链上重放导致状态转换的事务,并将发生的状态根与排序者宣布的状态根举行对照来证实。若是状态根不匹配,则敲诈证实乐成,并作废状态转换。若是在无效的状态转换之后另有更多的状态转换,它们也会被作废。但若是事务已经过了争议期,就没法再对其质疑了,它们会被视为最终买卖。

问:等一下!你之前说过,若是 a)增添成本,或 b)引入新的信托假设,那么它就不属于可伸缩性。在你形貌的方案中,我们不是又另外假设总是会有人举报敲诈吗?

答:是的。我们假设存在一个被称为「验证器」的实体,他们卖力监视敲诈行为,若是第 1 层和第 2 层状态不匹配,他们就会宣布敲诈证据。我们还假设验证器能够在争议限期内可靠地获得以太坊中包罗的敲诈证据。我们以为验证器的存在是一个「弱」假设。想象一下,若是有一个应用程序有成千上万的用户,你只需要一小我私家来运行一个验证器。这听起来不算太离谱!另一方面,改变以太坊的信托模式,或增添以太坊节点的运营成本是我们不想做的「强」假设改变。这就是我们在界说去中央化的可伸缩性时所说的「显著改变底层系统的假设」。

问:我赞成有人会运行一个验证器,由于各方都能从这个新解决方案的乐成中获益。但固然这也取决于现实操作的成本。那么运行一个验证器和一个排序器的资源需求是什么?

答:排序者和验证者必须运行一个以太坊完整节点(不是存档节点),一个完整的第 2 层节点,才气天生第 2 层状态。验证者运行的软件卖力建立敲诈证实,排序者运行的软件卖力捆绑用户事务并予以宣布。

问:就是这样吗?

答:是的!恭喜你!您已经重新发现了 Optimistic Rollup (Optimistic Rollup 是「Optimistic 合约」和「链上数据可用性」(又名「数据汇总」)的组合),这是 2019-2021 年最令人期待的伸缩解决方案。缘故原由很好明白,由于它是以太坊社区多年研究历程的最终产物,你应该已经在上面这个简短的对话中体会到了这一点。

Optimistic 的激励

第 2 层的扩展基于这样一个事实:我们试图最小化执行的链上事务的数目。我们使用敲诈证实来作废任何可能发生的无效状态转换。由于敲诈证实是链上买卖,我们还希望将以太坊上宣布的敲诈证实的数目最小化。在理想的情形下,敲诈从未发生过,因此,敲诈的证实也从未被发出。

我们通过引入忠诚债券(fidelity bond)来抑制敲诈行为。为了让用户成为排序者,他们必须首先在以太坊上宣布一个债券,若是被证实存在敲诈,他们将损失该债券。为了激励小我私家发现敲诈行为,排序者的债券在被削减后会分发给验证者。

忠诚债券和争议期

在设计敲诈证据的激励机制时,有两个参数需要调整:

忠诚债券规模:排序者必须宣布分发给验证者的数目。规模越大,成为验证者的念头就越大,而作为排序者举行敲诈的念头就越小。

争议期限期:可以宣布敲诈证实的时间窗口,在此时间窗口之后,第 2 层买卖在第 1 层上被以为是平安的。争议期较长,可以为防止审查攻击提供更好的平安保障。争议期较短,则能为从第 2 层撤回到第 1 层的用户缔造优越的用户体验,由于他们不需要守候很长时间就可以在第 1 层上重新使用他们的资金。

在我们看来,对于这两个参数都无法找到一个确切的静态值。也许 10 个 ETH 债券和 1 天的争议期足矣。但也许 1 个 ETH 和 7 天也够。真正的谜底是,这取决于成为验证者的念头(这取决于运行成本),以及宣布敲诈证实的难易水平(而这取决于第 1 层的拥塞水平)。这两者都应该是可调的,可以手动调,也可以自动调。

值得一提的是,EIP1559 向以太坊引入了一个新的 BASEFEE 操作码,该操作码可用于估量链上的拥塞,并因此以编程方式调整争议期的连续时间。

若何准确实行这一责罚机制至关主要,否则它将在实践中被人滥用。我来举个例子,说明什么是稚子而没有实操性的实现:

Alice 贴出了一个 1 ETH 债券,她因此得以在系统中担任排序者

Alice 宣布了一个敲诈状态更新

Bob 注重到了这一点,并揭晓了一项争议。若是乐成,这将能把 Alice 债券中的 1 个 ETH 授予 Bob,并作废敲诈状态更新

Alice 注重到了这个争议 ,也揭晓了一个争议 (挑战她自己!)

ALice 获得了她的 1 ETH,纵然她试图敲诈,现实上也没有受到任何责罚。

Alice 可以通过「抢跑」的方式来发动这种攻击,即广播与 Bob 相同的买卖,但 gas 价钱更高,从而导致 Alice 的买卖在 Bob 之前执行。这意味着 Alice 可以连续实验以最小的成本(仅含以太坊买卖用度)作弊。

解决这个问题很简朴:不是将所有债券授予争论者,而是将 X% 的债券销毁。在上面的例子中,若是我们烧掉 50%,那么 Alice 将只会获得 0.5 个 ETH,这就足以阻止其在步骤 2 中实验作弊。固然,销毁债券削减了运行验证器的念头(由于支付变得更少了),因此需要确保债券在烧掉部门后依然足以激励用户成为验证者。

对 Optimistic Rollup 常见的指斥和我们的回应

现在我们已经完成了 Optimistic Rollup 的构建模块,让我们探讨并解决对该机制的最盛行的指斥。

长时间的提款 / 争议期对于接纳和可组合性是致命的

我们在上面提到过,历久的争议期对平安有利益。这里似乎存在一种固有的取舍:争议期过长对用户来说欠好,由于用户若是想要提取资金的话需要守候很长时间。争议期较短,固然能带来流通的用户体验,但这样你就会冒敲诈发生的风险。

我们以为这不成其不问题。由于存在漫长的提现延迟可能性,我们预计做市商将迅速介入并提供更快的提现服务。这是可能的,由于验证第 2 层状态的人可以准确判断一个提现是否存在敲诈的可能,从而会以较小的折扣来「购置」 他们的服务。举个例子:

参与者:

Alice:在第 2 层有 5 个 ETH。

Bob:在「做市商」智能合约中,第 1 层上有 4.95 ETH,并且在第 2 层上运行一个验证器

步骤:

Alice 让 Bob 知道她想要「快速」取款,并向他支付 0.05 ETH 的用度

Alice 向 Bob 的「做市商」智能合约发出取现要求

此时可能会发生两种情形:

Bob 在他的第 2 层验证器上检查提款是否有用,并批准快速取款。这将立即将 4.95 ETH 转移到 Alice 的第 1 层地址。在提款期竣事后,鲍勃可以领取这 5 个 ETH,净赚一笔。

Bob 的验证者提醒他该买卖无效。Bob 对该买卖引起的状态转换提出异议,作废买卖,并因排序者允许恶意买卖发生而赚取其债券。

爱丽丝要么是老实的,立即把钱拿出来,要么是不老实的,会受到责罚。我们希望支付给做市商的用度会随着时间的推移而压缩,若是有对这项服务的需求的话,最终让用户完全看不到这个历程。

该特征最主要的寄义是,它可以实现与第 1 层合约的可组合性,而不必守候完整的争议期。

注重,这种手艺最早在「Simple Fast Withdrawals」(简朴快速提现)一文中形貌过。

矿工可以通过行贿来审查提现,损坏 Optimistic Rollup 的平安

在「Optimistic Rollup 的近零成本攻击场景」的帖子中,有人以为,矿工的激励过大,这会导致排序者与以太坊矿工勾通,不愿去审查任何有争议的买卖。固然,考虑到系统平安对于解决争议的依赖,这对任何 Optimistic 系统都是致命的。

我们差别意这篇文章的论点。我们假设,老实的一方总是愿意行贿矿工,而且能提供比恶意方更多的资金。此外,每当矿工们由于辅助恶意方获胜而偏离「老实」行为时,都市发生分外的成本。这种行为会损坏以太坊的价值,而这反过来会增添矿工从事这种行为的分外成本。

事实上,这种情形已经在学术文献中获得了研究,证实了「这种还击的威胁会诱导出一种不发生攻击的子博弈完善平衡」。

我们要谢谢 Hasu 让我们注重到这篇论文的论证。

验证者的逆境对操作验证器、损坏 Optimistic Rollup 发生了抑制

针对验证者的逆境,Ed Felten 撰写了一个精彩的 剖析 和 解决方案,我们总结如下:

若是该系统的激励机制如预期那样发挥作用,就没有人会作弊

若是没有人作弊,那么运行一个验证程序就没有意义了,由于你从操作它中赚不到钱

由于没有人运行验证器,以是最终有机遇让排序者作弊

排序者作弊,系统不再按预期运行

这听起来很主要,而且近乎自相矛盾的。在假设奖励规模牢固的情形下,更多的验证者会削减单个验证者的预期待遇。此外,验证者多了,能分到的蛋糕似乎就会随之削减,发生的敲诈行为更少,这进一步加剧了这个问题。在后续剖析中,Felten 还提供了一种解决验证者逆境的方式。

我想在这里接纳相反的态度,我以为验证者的逆境并不像指斥者说的那么主要。在实践中,作为一个验证者是存在非款项激励的。比方说,你可能在一个汇总平台上构建大型应用程序,也可能持有代币,若是系统失败,那么你的应用程序将无法运行,或者你持有的代币将会贬值。除此之外,对快速提款的需求为做市商验证者缔造了存在的动力(正如我们在上一节所看到的那样),这并不受敲诈行为的影响。说得更详细一点,比特币没有提供任何激励措施来存储整个区块链历史或向偕行提供你的内陆数据,但人们照样无私地这样做。

纵然在真空环境中运行验证器并不相符激励机制,它也能保证系统的平安,这对于那些投资于系统乐成的实体来说是最主要的事情。因此,我们以为在 Optimistic 系统的第 2 层中,不需要设计机制来绕过验证者的逆境。

我们剖析了 2021 年对以太坊至关主要的手艺之一: Optimistic Rollup。

总结其利益:Optimistic Rollup 是以太坊的扩展,它承载了以太坊的平安性、可组合性和开发职员护城河,同时提高了性能,不会对以太坊用户的成本或信托需求造成实质性的影响。我们探索了使 Optimistic Rollup 发挥作用的激励结构,并对常见的指斥提出了回应。

我们想要强调的是,Optimistic Rollup 的性能上限是由第 1 层上宣布的数据所决议的。因此,它的优点在于:1) 尽可能地压缩你宣布的数据(例如通过 BLS 署名聚合),2) 拥有一个大而廉价的数据层(例如 ETH2)。

作为弥补阅读,我们推荐 Buterin 的关于 Rollup 和 信托模子 的 不完整指南。我们还建议去研究 Optimistic Rollup 的近亲 ZK Rollup。最后,另有其他方式可以获得去中央化的可伸缩性,即分片和状态通道,它们各有优缺点。

加入新手交流群:每天早盘分析、币种行情分析

添加助理微信,一对一专业指导:chengqing930520

上一篇:L2最新款式一览,哪种以太坊L2方案是你的菜?
下一篇: 比特币首创人中本聪是谁?

加入新手交流群:每天早盘分析、币种行情分析,添加助理微信

一对一专业指导:chengqing930520

最新资讯
提供比特币数字货币以太坊eth,莱特币ltc,EOS今日价格、走势、行情、资讯、OKEX、币安、火币网、中币、比特儿、比特币交易平台网站。

2021 数字货币 网站地图

查看更多:

为您推荐