二层网络上的以太坊智能合约: Optimistic Rollup

2020-07-29 19:18 栏目:经验之谈 来源:网络整理 查看()

本文概述了优化汇总:一种使用OVM[4]在两层网络上启用智能合同的结构。这种结构借鉴了等离子体和zkRollup的设计,并基于Vitalik描述的阴影链[5]。这种结构类似于等离子体[6],但它放弃了一些可扩展性,因此它可以在第2层网络中运行完全通用的智能契约(如Solidity),并享有与第1层网络相同的安全性。优化汇总的可扩展性与第一层网络数据的可用带宽成正比。第一层网络可以包括Eth1、Eth2,甚至比特币现金或Etherium Classic[7]。优化汇总可以在第二层网络上提供类似EVM的链。

注:以下简称L2将用于第2层网络,相应的以太网主网(或其他网络)将称为L1

二层网络上的以太坊智能合约: Optimistic Rollup

快速概览

让我们从一些直觉开始,知道如何在以太网的主网络上进行优化汇总,然后深入研究它。

以下是最佳累计智能合同(命名为弗雷德)的生命周期:

1.开发商写了一份名为弗雷德的可靠合同。

2.开发人员将事务发送到链下的绑定聚合器(L2块生产者),聚合器负责部署合同。-任何支付押金的人都可以被称为聚合者。-在同一个链中有多个聚合器。—您可以支付费用,但是聚合器需要它(帐户抽象/元交易[8])。—开发人员可以立即确认交易,否则聚合器将失去利润。

3.聚合器在本地处理事务,并计算新的状态根。

4.聚合器提交以太网事务(支付燃气费),它包括事务和状态根(一个最佳的汇总块)。

5.如果任何人下载该块并发现它无效,可以使用verify _ state _ transition(prev _ state,块,见证)来证明它是无效的。

—删除恶意聚合的块和基于无效块构建的任何聚合块。—用聚合器的部分利润奖励认证者。

6.弗雷德知道,他的部署事务现在是每个未来有效的最佳汇总状态的一部分,因此他具有安全性。你可以把弗雷德的主要网络ERC20发送到L2!太棒了。

就这样!用户和智能合同的行为应该与我们今天在以太网的主网络上看到的非常相似,只是有所扩展!现在,让我们探索整个过程的可能性。

深入研究最佳汇总

首先,让我们定义一下创建一个像以太网这样的未经许可的智能契约平台的含义。为了构建这些可爱的状态机,我们必须满足三个属性:

可用的总体状态—任何相关方都可以下载当前的总体状态。

有效的整体状态—整体状态有效(例如,没有无效的状态转换)。

实时整体状态—任何相关方都可以提交交易来转换整体状态。

译者注:原文对应的整体状态是元首,直译可能是元首,但中文似乎没有这样的说法。

你会注意到L1以太博物馆满足这三个属性,因为我们相信:

矿工不会在不可用的区块采矿;

矿工不会在无效区块中挖掘*[9];

不是所有的矿工都审查交易。

然而,以太网目前无法扩展。另一方面,在一些相似的安全假设下,最优汇总可以在大规模扩张下提供这三个保证。为了理解构造和安全性的假设,我们将分别检查我们想要确保的每个属性。

#1:整体状态可用

最佳汇总使用经典汇总技术(在此总结[10])来确保当前状态数据的可用性。该技术非常简单——块生产者(称为聚合器)通过调用数据(调用以太网功能的输入参数)在以太网主网络上传输所有块的事务和状态根。呼叫数据转换默克尔数据并存储一个32字节的状态根。提示:calldata是每32字节2000个气体,存储成本是20000个气体。此外,在伊斯坦布尔硬分叉[11],呼叫数据的燃气成本降低了近5倍。

值得注意的是,我们还可以使用除邰方主网络(如L1)之外的其他网络来提供数据可用性,包括比特币现金[12]和[Eth2](https://学习Blockchain.cn/Tags/Ethereum 2.0[13])。在Eth2阶段1中,所有存储片都可以像L1一样提供数据可用性,而TPS可以通过存储片的数量进行线性扩展。在遇到其他可伸缩性瓶颈(如状态计算)之前,这样的吞吐量是足够的。

安全假设

这里,我们假设大部分以太网的主要网络是诚实的。此外,如果我们使用Eth2、ETC或比特币现金,我们也会做出类似的假设。

在这些假设下,使用受信任的L1发布所有事务,我们可以确保任何人都可以计算当前的整体状态,从而满足属性1。

#2:有效的整体状态

我们需要确保的第二个属性是有效的整体状态。在zkRollup中,零知识证明用于确保有效性。从长远来看,这是一个很好的解决方案,但是目前还不可能为任何状态转换创建有效的zkCertificates。但是,仍然有希望使用通用EVM状态机!我们可以使用加密经济学,如等离子/truebit[14]来玩有效性的游戏。

密码经济学的有效性博弈

从更高的层次来看,阻止提交和有效性游戏的规则如下:

只有当聚合器提交存款时,才能启动生产块。

每个块包含[访问列表、事务、后状态根]。

有利润的聚合器将根据“先来先服务”(或根据需要使用轮换)的原则,将所有块提交给ROLLUP_CHAIN合同。

任何人都可以证明该块是无效的,并赢得聚合器的部分利润。

要证明一个块是无效的,您必须证明以下三个属性之一:

无效块:提交的块无效。这是通过is _ valid _ transition (prev _ state,block,witness)=boolean计算的。

已跳过有效块:提交的块“忽略”了一个有效块。

无效_ parent:提交块的父块无效。

这三种状态转换的有效性条件如下所示:

二层网络上的以太坊智能合约: Optimistic Rollup

这个状态有效的游戏有一些有趣的特性:

可插拔有效性检查器:我们可以为is_valid_transition(…)定义不同的有效性检查器,这允许我们使用不同的虚拟机(包括EVM和WASM)来运行智能合同。

只有一个有效链:被提交给以太网的块,它可以确定事务和块的总顺序。这使我们能够确定性地确定“头”块,从而要求聚合器在提交新块之前删除无效块。

部分验证:这个有效性游戏可以在一个UTXO的基础上玩。该方案使用部分无效而不是全部无效的所有区块-这类似于等离子现金。请注意,没有必要证明一个块的所有无效转换。某些块的无效验证意味着我们只能验证我们关心的状态以确保安全性。要了解UTXO如何实现并行,请查看视频密码经济学。学习[15]!

关于了望塔

译者注:瞭望塔是一个帮助用户监控交易欺诈的实体,因为普通用户很难实时在线,而瞭望塔可以充当用户的代理。

采用L2的挑战之一是了望塔的复杂性。与用户签约的了望塔是另一个加入管理已经复杂的系统的实体。幸运的是,优化汇总加密的经济效益游戏自然启发了了望塔!所有数据都是可用的,因此任何人都可以运行整个节点来验证无效事务,以获得构建无效链的“所有”聚合器的保证。这种风险激励会使聚合器成为了望塔,从而验证它们所建立的链,从而减轻验证器的困难。

关于等离子体

许多等离子体结构也依赖于密码经济学的有效性博弈。然而,在没有zkPaides或渔人游戏的数据劫持攻击[17](数据可用性问题)的情况下,不可能在等离子体中执行合同自治。幸运的是,汇总通过发布计算链中状态转换所需的最少信息解决了数据可用性问题。然而,如果我们想扩大到每秒数十万(甚至更多)的交易,等离子体仍然是非常重要的,但这是一个长期的需要,但对于许多智能合同来说,它在中期是没有必要的。

安全假设

1.密码经济学的有效性博弈基于诚实甚至理性的验证者的假设。我们可以说他是“理性”的验证者,而不是“诚实”的验证者,因为挑战游戏可能会在经济上激励他们。

2.此外,我们假设主网络是活动的,这意味着它不会检查所有试图证明无效的事务(译者注:检查意味着干预,这意味着证明无效的事务不会有选择地干预,如丢弃事务)。请注意,从某种意义上说,聚合器的保证金提取期限是主网络上的一个活跃假设(例如,如果我们需要一个月的保证金提取期限,我们需要在该月内证明并提交一份无效证书,然后才能没收保证金)。

在这些假设下,所有无效的块或状态转换都将被丢弃,因此我们可以获得有效的整体状态并满足属性#2。

#3:活动整体状态

我们必须满足的最终属性是活动,这通常被称为反审查能力。确保这一点的关键是:

任何超出最小债券规模的人都可能成为同一累计链的聚合者。

由于诚实的聚合器可以删除无效块,即使生成无效块,链也不会停止。

有了这两个属性,我们可以保持活跃!诚实的聚合器可能总是避免提交无效的块,所以即使只有一个非审查的聚合器,您的事务最终也会被确认,这类似于主网络。

关于主动和立即确认

我们真正想要的属性之一是即时确认。通过这种方式,可以为用户提供亚秒的反馈,指示他们的事务将被处理。我们可以通过指定聚合器在短时间内独占块来实现这个目标。缺点是它降低了抵制审查的能力,因为现在参与者已经接受审查一段时间了。我想听听关于这种权衡的任何研究!

安全假设

保持活跃基于两个安全假设:

有一个未经审查的聚合器。

以太网主网络不受审查

在这些假设下,最优汇总链将能够基于任何有效的用户事务发展和改变整体状态(满足属性#3)。

现在,所有三个属性都已满足,我们在L2的以太网提供了一个未经许可的智能合同平台!

可伸缩性指数

以下估计* *完全基于数据可用性* *。事实上,可能还有其他瓶颈,其中之一就是状态计算。然而,这确实提供了一个可用的上限。

ERC20传输,具有ETH1数据可用性

计算基于一个简单的调用数据计算python脚本[18]。

请注意,这些ERC20传输针对呼叫数据进行了优化。此外,请注意,优化汇总的优势在于我们不仅限于ERC20变速器!

ECDSA签名~100 TPS:当未采用EIP 2028时~450 TPS:采用EIP 2028后(2019年10月已经到达主网)

BLS签名/SNARK-ed签名~400 TPS:未采用EIP 2028时~2000 TPS:采用EIP 2028后(已于2019年10月到达主网)

在其他数据可用的情况下(如ETH2、比特币现金)

与L1能够处理的吞吐量成线性关系。

超过2000 TPS!

最佳上卷和等离子体

优化汇总和等离子体有很多共同之处。他们都使用聚合器通过加密经济效益游戏来确保安全,从而在主网络上提交数据块。唯一的区别是是否有一个可用性收据,以确保该块是可用的。

二层网络上的以太坊智能合约: Optimistic Rollup

两种解决方案之间的相似之处使得两者之间可以共享许多基础架构和代码。在成熟的L2生态系统中,我们很可能会看到等离子体上卷和状态通道[19]在同一个客户端(智能钱包(中一起工作。哦,我是否提到过OVM[20]?

乐观向上

乐观汇总会在L2中占据一席之地。它在通用智能合约平台,简单性,安全性和扩展性之间做了一些权衡。再加上其能够安全的运行智能合约,意味着它甚至可以用于裁定其他第二层解决方案,例如血浆和状态通道!

就把它称为二代L2中的腰神经2吧。

无论如何,研究已经够了,是时候实施强大,全面且用户友好的以太坊第2层了!

特别感谢Vitalik Buterin与我一起解决这些想法并提出了很多建议。

此外,还要感谢本琼斯所做的大部分工作以及王京兰,何凯文和杰西瓦尔登的编辑。

更新约翰阿德勒在他的《合并共识》 中的文章与乐观向上进行了对比分析,参考此处[21],另外,此提案[22]可以提高ETH1的数据可用性-更多的TPS!

等离子组博客[23]

本翻译由细胞网络[24]赞助支持。

参考资料

[1]登链翻译计划: https://github.com/lbc-team/Pioneer

[2]很小熊: https://learnblockchain.cn/people/15

[3]卡尔弗洛尔施: https://medium.com/@karl_dot_tech?source=post_page-2c 1 cef 2 EC 537-

[4]OVM : https://中等。com/plasma-group/introduction-the-the-OVM-db 253287 af 50

[5]影子链接: https://博客。以太博物馆。org/2014/09/17/scalability-part-1-building-top/

[6]等离子体: https://learnblockchain.cn/tags/Plasma

[7]比特币现金或以太坊经典: https://etheresar。ch/t/bitcoin-cash-a-short-data-availability-layer-for-ether-eum/5735

[8]元交易: https://learnblockchain.cn/article/584

[9]* : https://eprint.iacr.org/2015/702.pdf

[10]此处概述: https://etheresar。ch/t/on-chain-scaling-to-pot-500-tx-sec-through-mass-tx-validation/3477

[11]伊斯坦布尔硬分叉: https://learnblockchain.cn/2019/11/21/istanbul-update

[12]比特币现金: https://以太网。ch/t/比特币-现金-短期数据-可用性-以太层/5735

[13]Eth 2: https://learnblockchain.cn/tags/以太坊2.0

[14]真位: https://learnblockchain.cn/tags/TrueBit

[15]密码经济学研究视频: https://www.youtube.com/watch?v=-xocoj9 AQ

[16]瞭望塔: https://blockonomi.com/watchtowers-bitcoin-lightning-network/

[17]渔夫博弈数据可用性和擦除编码#什么是数据可用性问题

[18]一个简单的呼叫数据计算大蟒脚本: https://要点。github。com/karlfloersch/1 bf6 ab 7871 f 41 E3 a5 a 921 c 0 a 007 ad 5c 6

[19]状态通道: https://learnblockchain.cn/tags/状态通道

[20]OVM : https://中等。com/plasma-group/introduction-the-the-OVM-db 253287 af 50

[21]此处: https://ethresear.ch/t/minimal-viable-merged-consensus/5617

[22]此提案: https://乙醚。ch/t/多线程-数据可用性-on-eth-1/5899

[23]等离子体组博客: https://medium.com/plasma-group

[24]蜂窝网络: https://www.cellnetwork.io/?utm_souce=learnblockchain

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发