AD
首页 > 数字货币 > 正文

一文领会以太坊扩容方案Rollup_数字货币

[2021-01-31 21:31:51] 来源: 编辑:wangjia 点击量:
评论 点击收藏
导读: Rollup 在当前的以太坊社区已经十分著名。在可预见的未来,Rollup 是以太坊实现扩容的关键解决方案 。但 Rollup 到底是什么?你能从这项技术身上得到什么,又该如何使用它?这篇文章将尝试
Rollup 在当前的以太坊社区已经十分著名。在可预见的未来,Rollup 是以太坊实现扩容的关键解决方案 。但 Rollup 到底是什么?你能从这项技术身上得到什么,又该如何使用它?这篇文章将尝试回答一些关键问题。

Findora:将零知识证明引入DeFi

当下,以太坊DeFi应用的热度已越来越高,但是关于隐私问题及可审计性,一直以来都没能得到很好的解决,以Aave借贷应用举例,当某个鲸鱼用户抵押了大量资产,并借用了另一种资产,他可选择去做多空交易

译者注:

原文中 Rollup 同时以单复数形式泛起多次,在译文中统一确定为首字母大写的 Rollup。

Rollup 在当前的以太坊社区已经十分著名。在可预见的未来,Rollup 是以太坊实现扩容的要害解决方案 。但 Rollup 到底是什么?你能从这项手艺身上获得什么,又该若何使用它?这篇文章将实验回覆一些要害问题。

靠山知识:什么是一层扩容,什么是二层扩容?

实现区块链生态系统扩容有两种方式。第一种扩容的方式是让区块链自己拥有更高的事务处置容量。好比让区块变得 “更大”,但 “大区块” 会让区块链的验证历程变得更为难题,而且可能会使节点加倍中央化。为了制止这样的风险,开发者可以提高客户端软件的效率。加倍具有可持续性的扩容方式是,使用分片等手艺,让构建和验证区块链的事情分摊到许多差别的节点上—— “ eth2 ” 就在实验使用这种方式升级以太坊

第二种扩容的方式是改变使用区块链的方式。用户不需要直接把所有的流动都直接放在区块链主链上,而是在主链外的 “二层” 协议中执行大部门流动,并天生一个证实,证实链外发生的这一切流动都遵照规则。主链上部署一个智能合约,它只有两个义务:处置存取款,以及对上述证实举行验证。有多种方式实现证实和验证,但它们都有一个配合的特征,那就是在链上验证证实比在链下做原始盘算的开销要小得多。

状态通道 vs plasma vs rollup

二层扩容主要有三种方案:状态通道,Plasma 和 rollup。三种方案代表了三种差别的范式,每种方案有自己的优瑕玷。所有的二层扩容大致都属于这三类(对于一些折衷的方案若何分类存在争议,例如 “ validium ”)(编者注:中文译本)。

状态通道若何事情?

另请参阅 https://www.jeffcoleman.ca/state-channels ,statechannels.org

想象一下,Alice 向 Bob 提供了网络连接服务。作为交流,Bob 为上网发生的流量支付 0.001 美元/MB 的用度给 Alice。Bob 不需要在一层主链支付每笔用度,双方使用如下二层方案。

首先,Bob 将 1 美元(稳固币,或是等值的 ETH)存入一个智能合约中。为了向 Alice 支付第一笔款子,Bob签署了一张 "票据"(一条链外新闻),“票据”上写着 “0.001 美元”,并将其发送给Alice。为了支付第二笔款子,Bob 签署另一张写着 “$0.002” 的票据,并将其发送给 Alice。以此类推,每次付款都重复这个历程(译者注:状态通道介入方只需保留一个最新的状态调换,因此新的票据签署后,前一张票据作废)。当 Alice 和 Bob 完成买卖后,Alice 可以将价值最高的票据包裹上自己的署名后,公布到主链上(关闭通道)。智能合约会验证 Alice 和 Bob 的署名,验证通事后,将 Bob 的票据上标注的金额支付给 Alice,剩下的金额(译者注:1 美元减去前者)返还给 Bob。若是 Alice (出于恶意或手艺故障)不愿意关闭通道,Bob可以提议一个提现挑战期(例如7天)——若是 Alice 在这段时间内无法提供 Bob 支付的票据,那么 Bob 就可以拿回之前存在智能合约里的所有钱。

状态通道手艺很壮大:广义的状态通道可以支持双向支付、实现智能合约(例如 Alice 和 Bob 在通道中签订金融合约),并具有可组合性(若是 Alice 和 Bob 之间有一个开放的通道,Bob 和 Charlie 之间也有一个开放的通道,那么 Alice 就可以和 Charlie 举行免信托的交互)。然则通道的作用是有限制的:不能向还没有加入通道的用户在链下发送资金;不能用于没有明确逻辑所有者的工具(好比 Uniswap 智能合约)。此外,若是使用通道处置的事务比小额支付场景更庞大,需要锁定大量的资金在通道中。

Plasma 若何事情

另请参阅 Plasma原始白皮书,Plasma Cash

要将资产从主链存入 Plasma 链,用户需要在主链将资产发送至治理 Plasma 链的智能合约。Plasma 链会给该资产分配一个新的唯一 ID(例如 537)。每条 Plasma 链都有一个操作者(这可能是一个中央化的角色,或者由多签控制,也可以是更庞大的器械,例如一条 PoS 链或 DPoS 链)。每隔一段时间(可以是 15 秒,也可以是一小时,或者介于两者之间的任何时长),操作者就会天生一个 “批处置”(batch),包罗这段时间内所收到的所有 Plasma 链的买卖。操作者天生一棵 Merkle 树,在索引为 X 的叶子节点处,若是资产 ID 为 X 的资产在这一批次中发生了买卖,则叶子节点上存有对应买卖,否则该叶子节点为零。操作者将这棵树的 Merkle 根公布到主链上。操作者还需要将每个索引 X 的 Merkle 分支发送给该资产的当前所有者。若是需要将资产从 Plasma 链提取至主链上,用户需要给主链的智能合约发送该资产最近一次买卖对应的 Merkle 分支。智能合约随即最先了一个挑战期(例如7天),在此期间,任何人都可以实验使用其他 Merkle 分支来证实:(i)用户在提取资产时并不拥有该资产,或者(ii)用户在某个时间点将资产发送给了其他人,从而使退出申请无效。若是在 7 天内没有人证实退出是敲诈性的,用户便可以乐成取回资产。

Plasma 提供了比状态通道更强的功效:你可以将资产发送给从未加入二层的用户,锁定的资金也低得多。但这是有价值的:状态通道在 “正常运行” 时不需要将任何数据存入主链,但 Plasma 要求每条链每隔一段时间在主链公布一次哈希值。此外,Plasma 链中的买卖没有即时性,即必须守候一批买卖(也可称为 Plasma 区块)的证据(即谁人 Merkle 根值)发到主链上。

此外,Plasma 和状态通道都有一个主要缺陷:其平安模子所对应的博弈论依赖于这样的想法:两个系统所控制的资产在逻辑层面都要有 "所有者"。只要资产所有者在乎自己的资产,那么当涉及该资产的状态调换 “无效” 时,资产所有者就会想办法出示调换 “无效” 的证实。这对一些应用来说无关紧要,但对不少其他应用来说这是个问题(例如 Uniswap)(译者注:对于 Uniswap 这样的 DEX 买卖应用来说,其智能合约不属于任何人,与上述平安假设依赖的想法矛盾)。纵然系统中一个工具的状态可以在未经系统所有者赞成的情形下被改变(例如在基于账户的系统中,可以在未经所有者赞成的情形下 增添 其余额),也不能很好地与 Plasma 兼容。这意味着,在现实中部署 plasma 或状态通道时,都需要推演 “特定应用” 的潜在逻辑设计定制化方案,不太可能做出一个能完整模拟以太坊运行环境(即 “EVM”)的 plasma 或状态通道系统。接下来让我们看看 rollup 是若何解决这个问题的。

Rollup

另请参阅:EthHub 关于 optimistic rollup 的先容,EthHub 关于 ZK rollup 的先容

Plasma 和状态通道方案都是 “完全的” layer 2 方案,由于它们将数据和盘算都转移到链下(即自己的二层系统中)。然而,数据可得性的基本博弈论原理意味着这样的系统不可能平安地实现所有应用。Plasma 和状态通道通过明确资产工具和所有者之间的关系来解决这个问题,但这使它们无法完全通用。Rollup 则与前两者差别,是一种具有 “夹杂性子” 的二层方案。Rollup 将盘算(和完整的状态存储)转移到链下,但在链上保留了每笔买卖的部门数据信息。为了提高效率,Rollup 使用了一系列花哨的压缩技巧,并尽可能地用盘算替换数据。其效果是,这个系统的可扩展性仍然受限于底层区块链的数据带宽,但在此基础上实现的扩容倍数异常可观:在以太坊主链执行一笔 ERC-20 代币的转账约莫消耗 45000 gas,但在 Rollup 中,每笔买卖仅需要在主链上存储 16 字节数据,消耗的 gas 小于 300。

数据存储在主链是 Rollup 的要害因素(请注重:这同将数据存储在 “IPFS” 上差别,由于 IPFS 不会对存储的数据举行共识,Rollup 的数据则 必须 存储在区块链上)。将数据存储在主链并举行共识,使得任何人可以在内陆处置 Rollup 中的所有操作,包罗敲诈检测,提议提款,天生批处置等。由于不存在数据可得性问题,以是运营者若是作恶或者离线所造成的损失相对更少(好比他们无法造成长达 1 周的退出延迟),也在谁有权公布批处置这个问题上提供了更多的可能性,同时也使 Rollup 更易于明白。更为主要的是,不存在数据可得性问题意味着,资产无需和所有者有明确的逻辑映射关系。相比其他二层扩容方案,这是以太坊社区对 Rollup 感应加倍激动的主要因素:Rollup 是具有通用性的,好比可以在 Rollup 中运行 EVM,从而使现有的以太坊应用可以在不写新代码的情形下迁徙至 Rollup。

Rollup 事实若何事情?

在主链上有一个智能合约,存有一个状态根 —— 表征 Rollup 状态的 Merkle 根。(状态内容包罗 Rollup 中的账户余额,合约代码等)

任何人都可以在主链上对该智能合约提议一个批处置事务(transaction),这个批处置是对一批 Rollup 内部事务的高度压缩,还包罗旧的状态根和新的状态根(在旧状态根基础上执行批处置买卖之后天生的新状态根)。主链合约会磨练旧的状态根与新的状态根是否匹配(译者注:即新的状态根是否可以由这一批买卖集触发状态转换天生)。若是磨练通过,主链上的旧状态根会更新为新状态根。

为了支持存款(译者注:将资产从主链的其他地方存入 Rollup 合约)和取款(译者注:排除 Rollup 合约对自己资产的控制,使之返回到链上其他地方),批处置中的事务的输入或输出可以是 Rollup “外部”(译者注:即主链其他地方)的状态。若是批处置中有买卖的输入来自 Rollup 之外,那么这个批处置操作会将主链其他地方的资产转移至 Rollup 合约中。若是批处置中有买卖的输出来自 Rollup 之外,那么这个批处置会触发智能合约中的取款操作,将资产从 Rollup 取回主链。

整个历程就这么简朴!不外另有一个细节。若何知道批处置执行完成之后的状态根是准确的? 若是有人可以提交一个伪造的状态根,而不发生任何效果,他们就可以把所有的资产转移给自己。这个问题很要害,由于这个问题有两种截然差别的解决办法,从而形成了两种类型的 Rollup。

Optimistic rollups vs ZK rollups

Rollup 的两种类型包罗:

Optimistic Rollup,使用 敲诈证实解决上述问题:主链的 Rollup 合约纪录了该 Rollup 内部状态根调换的完整纪录,以及每个(触发状态根调换的)批处置的哈希值。若是有人发现某个批处置对应的新状态根是错误的,他们可以在主链上公布一个证实,证实该批处置天生的新状态根是错误的。合约校验该证实,若是校验通过则对该批处置之后的所有批处置买卖所有回滚。

ZK Rollup, 使用有用性证实解决上述问题: 每个批处置中包罗一个称为 ZK-SNARK 的密码学证实(例如使用PLONK协议, 证实新状态可以由旧状态经此批处置操作后转换而来(译者注:在 ZK Rollup 中,提交的密码学证实只需要具有尺寸小,验证快的特征即可,无需具有零知识性,以是只需要 SNARK 即可实现 ZK Rollup,不是一定需要 ZK-SNARK。事实上,在 ZK Rollup 中,由于批处置买卖信息存储在主链上,而这些信息恰是密码学证实系统中所证实的内容,因此 ZK Rollup 自己并不具有零知识性,具有零知识性的 ZK Rollup 被称为 ZK ZK Rollup)。无论批处置的盘算量多大,都可以在主链上高效对证实举行验证。

这两种 Rollup 之间的设计权衡对照庞大

性子Optimistic RollupZK Rollup每个批处置在主链上的牢固 gas 开销约 40,000 (开销相对轻量,主要操作是改变状态根的值)约 500,000(对于 ZK-SNARK 的验证开销相对较大)提现周期约 1 周 (需要留出时间,看是否有人提出敲诈证实,从而作废无效提现申请)异常快 (在提交提现申请后的下个批处置即可完成)手艺庞大度低高 (ZK-SNARKs 手艺较新,在数学层面相对更庞大)实现通用性的难度相对更容易 (很快就可以将实现通用性 EVM 的 Rollup 部署在主网中)相对更难(使用 ZK-SNARK 证实具有通用性的 EVM 执行操作比证实简朴的盘算操作难得多,固然(例如 Cairo)等事情正在起劲简化该历程)Rollup 中每笔事务的成本相对更高相对更低 (若是事务数据中的某些部门只用来验证该事务的有用性,而不涉及状态调换,这部门数据就可以不存储在主链上,而在 Optimisitc Rollup 中需要存储所有数据,用于后续敲诈证实的天生和校验)链下盘算的开销相对更低(虽然需要更多的全节点举行重盘算)相对更高 (天生 ZK-SNARK 证实,特别是天生通用盘算的证实开销可能很大,比直接盘算要大好几千倍)

总的来说我自己的看法是,短期内 Optimisitc Rollup 很可能在实现具有通用性的 EVM 中胜出,ZK Rollup 很可能在简朴的支付、转账和其他特定应用中胜出。但从中历久来看,随着 ZK-SNARK 手艺的改善,ZK Rollup 将在所有应用场景中胜出。

剖析敲诈证实

Optimistic Rollup 的平安性取决于这样的想法:若是有人将一个无效的批处置公布到 Rollup 中,任何 同步了该链的人只要发现敲诈行为便可以向主链上的合约公布敲诈证实,证实该批处置是无效的,应该被回滚(译者注:不清晰作者这里的 “该链(the chain)” 到底是指主链,照样指 Rollup,虽然都是对的)。

一个断言某个批处置无效的敲诈证实需要包罗上图中以绿色标识的数据:该批处置自己(可与存储在链上的哈希值举行核对)以及证实该批处置读取或修改了特定账户的默克尔树路径。黄色的节点可以通过绿色的节点重修,以是无需包罗在证实中。这些数据足以执行批处置并盘算新的状态根(请注重,这与无状态客户端验证单个区块的方式完全相同)。若是盘算出的新状态根和批处置中提供的新状态根不一样,那么就证实了该批处置是敲诈的。

可以确保的是,若是一个批处置中存在错误,而在此之前的所有批处置都是准确的,那么就可以建立一个敲诈证实,证实该批处置的组织是错误的。注重若是在 Rollup 中有多个无效的批处置,那么最好只管证实最早的谁人批处置无效。固然可以确保的是,若是一个批处置是准确的,那么永远不可能建立一个敲诈证实,证实该批处置是无效的。

压缩是若何实现的?

一笔最简朴的以太坊转账(发送 ETH)约莫需要 110 字节,然则在 Rollup 中实现 ETH 转账只需要约莫 12 字节:

参数(单元:字节数)以太坊主链Rollup 合约Nonce (流水号)~30Gasprice~80-0.5Gas30-0.5To (目的地址)214Value (转移价值)~9~3Signature (署名)~68(2 + 33 + 33)~0.5From (提议地址)0(从署名中还原)4总计~112~12

这其中的部门缘故原由是 Rollup 可以接纳更简朴的高级编码技巧,而现在以太坊的 RLP 在每个值的长度上虚耗了1个字节。同时 Rollup 还运用了一些异常伶俐的压缩技巧。

Nonce:这个参数的目的是为了防止重放。若是一个账户状态当前的 nonce 是 5,那么该账户的下一笔买卖的 nonce 参数必须是5,然则一旦买卖被处置,账户状态中的 nonce 就会被递增为 6,这样 nonce 为 5 的买卖就不会再被打包。在 Rollup 中,我们可以完全省略 nonce,由于我们只需要从更新前状态中恢复 nonce;若是有人试图用较早的 nonce 重放买卖,署名将无法通过验证,由于署名校验将使用 nonce 更大的数据。

Gas Price:我们可以允许用户使用牢固局限的 Gas 价钱举行支付,例如局限是 0 - 2 的 16 次幂。另外,我们也可以只为每个批处置收取牢固的用度,甚至可以将 gas 支付完全移到 Rollup 之外,让买卖者通过特定渠道向批处置建立者支付用度。

Gas:我们同样可以只是将 Gas 总量局限选择为 2 的幂。另外,我们也可以只在批处置层面设置 Gas 限制。(译者注:这里的 Gas Price 和 Gas,都是为了对照通过 rollup 合约和以太坊网络来转账所发生的数据量。并不代表一个 rollup 协议一定要包罗这些观点。好比 Fuel 作为一种 Optimistic Rollup 协议,就是基于 UTXO 的,完全不包罗这些观点。)

To:我们可以用 索引 取代 20 字节的地址(例如,若是一个地址是添加到树上的第 4527 个地址,我们就用索引 4527 来示意。我们会在状态中添加一个子树来存储索引到地址的映射)。

Value:我们可以用科学计数法来存储 Value。在大多数情形下,转账只需要 1-3 个有用位。

Signature:我们可以使用 BLS 聚合署名,使许多署名聚合成一个约 32 - 96 字节(详细巨细取决于所使用的协议)的署名。然后,这个署名可以一次性对整个新闻集和发送者举行批处置的署名校验。表中的 ~0.5 示意在一个主链区块中可以验证的聚合署名数目是有限的,因此若是批处置中的买卖较多,需要约每 100 笔买卖天生一次聚合署名。(译者注:大意是,验证聚合署名的盘算量会随被聚合的原始署名的数目增添而增添,而以太坊主链区块可以使用的 Gas 数目是有上限的,因此聚合署名不能一次性聚合太多原始署名。)

ZK Rollup 有一个特殊的主要压缩技巧:若是买卖的一部门只用于验证,与盘算状态更新无关,那么这部门数据可以不存储在主链上。这在 Optimisitc Rollup 中是做不到的,由于该数据仍然需要存储在链上,以备后续敲诈证实校验的不时之需,而在ZK Rollup 中,证实某批处置数据准确性的 SNARK 证实,已经证实了相关方提供了所有验证所需的数据。一个主要的例子是实现具有隐私珍爱性子的 Rollup:在 Optimisitc Rollup 中实现隐私珍爱,每笔买卖中用于珍爱隐私的约 500 字节的 ZK-SNARK 需要上链,而在 ZK Rollup 中实现隐私珍爱,笼罩整个批处置的 ZK-SNARK 已经可以证实 "内部 "的 ZK-SNARK 是有用的。(译者注:由于 SNARK 可以嵌套,故在 ZK Rollup 中实现隐私珍爱,只需将最终天生的最外层的 SNARK 提交上链即可,在验证外层 SNARK 时,内层的 SNARK 的有用性同时可以获得验证。)

这些压缩技巧是 Rollup 实现扩容的要害,若是没有这些技巧,Rollup 或许只能在主链的扩容基础上实现约莫 10 倍的扩容(只管在一些特定的大盘算量的应用中,简朴的 Rollup 实现的扩容已经很壮大),但在使用了压缩技巧之后,险些所有应用的扩容系数都可以跨越 100 倍。

谁可以提交批处置?

对于哪些人可以在 Optimistic Rollup 或 ZK Rollup 中提交批处置这个问题,已经存在许多派别。一般来说,人人都以为提交批处置的用户必须质押一大笔押金,若是某用户曾经提交过一个具有敲诈性的批处置(例如提交一个无效的状态根),那么这笔押金的一部门将被燃烧销毁,另一部门奖励给提交敲诈证实的用户。但除此之外,还存在许多可能:

(译者注,可以将批处置公布到主链上的用户称为 sequencer(排序者),该术语得名缘故原由是该角色需要对批处置中的买卖举行排序)

完全无允许的排序者:任何人都可以在任何时候提交批处置。这个方式最简朴,但有一些严重的瑕玷,好比存在这样的问题:多个介入者同时天生并试图提交批处置,而其中仅有一个批处置可以乐成被收录。这将导致在天生证实的盘算开销或提交证实时的 Gas 开销有大量被虚耗。

中央化的排序者:通过排序者这样的角色提交批处置(提现操作除外:在提现操作中,首先由用户自己提交提现请求,若是排序者在下一个批处置中没有处置该笔提现买卖,那么用户可以亲自提交一个仅包罗一笔提现买卖的批处置申请)。这种方式“效率”最高,但需要依赖一个中央化的角色。

排序者拍卖:通过拍卖(好比天天)来决议谁有权力成为第二天的排序者。这种方案的优点是可以筹集资金,而这些资金可以通过 Rollup 的 DAO 来分配(参考MEV 拍卖)。

从 PoS 聚集中随机选择:任何人都可以将 ETH(或者 Rollup 协议设定的代币)存入 Rollup 合约中,每一个批处置的排序者都市在这些存款人中随机选取,被选中的概率与存款金额成正比。这种方案的主要瑕玷是需要锁定大量资产。

DPoS 投票:某些排序者通过拍卖选取后执行批处置,但若是他们显示不佳,那么代币持有者可以投票将其踢出,并举行新的拍卖来替换他们。

将批处置和状态根提交离开

现在正在开发的一些 Rollup 接纳的是 “支解-批处置”("split batch")模式,即提交一批二层买卖批处置的行为和提交一个状态根的行为是离开举行的。这其中有一些要害的优势。

你可以允许许多排序者并行公布批次,以提高抗审查能力,减轻对于某些批处置会由于其他一些批处置提前打包而无效的忧郁。

若是一个状态根存在敲诈,无需回滚整个批处置,可以只回滚状态根,并守候有人为统一批处置提供新的状态根。这样可以更好地确保买卖发送者的买卖不会被还回滚。

总的来说,这是一个相当庞大的手艺组合,还在涉及效率,简朴性,抗审查性和其他目的的庞大权衡中找到平衡。现在说这哪种组合最有用还为时过早,时间会证实一切。

Rollup 会带来多大的扩容?

在现有的以太坊主链上,每个区块的 Gas 上线是 1250 万,而买卖的每个字节存储在链上破费 16 Gas。这意味着,若是一个区块中只包罗一个批处置(这里假设使用 ZK Rollup,校验证实破费 50 万 Gas),那么这个批处置可以包罗 1200 万 / 16 = 75 万字节的数据。而如上文所述,Rollup 中的每一笔 ETH 转账只需要 12 字节的存储空间,这意味着每个批处置中可以包罗 62500 笔买卖。现在以太坊主链的区块距离是 13 秒,也就是说实现的 TPS 约为 4807(相比之下,以太坊主链上实现 ETH 转账的 TPS 约为 1250000 / 21000 / 13 = 45)。

下表中包罗了其他一些应用场景的扩容效率。

应用场景Rollup 内单笔对应操作需上链的字节数以太坊主链对应操作的 Gas 消耗最大扩容倍数ETH 转账1221,000105xERC20 转账16 (多出的 4 个字节用于示意 token)~50,000187xUniswap 买卖~14(发送者 4 个字节 + 接收者 4 个字节 + 买卖金额 3 个字节 + 最大价钱 1 个字节 + 1 个字节杂项)~100,000428x具有隐私珍爱性的提现操作(Optimisic Rollup)296(根索引 4 个字节 + nullifier 4 个字节 + 接收者 4 个字节 + ZK-SNARK 证实 256 个字节)~380,00077x具有隐私珍爱性的提现操作(ZK Rollup)40 (根索引 4 个字节+ nullifier 32 个字节 + 接收者 4 个字节)~380,000570x

最大扩容倍数盘算方式:以太坊主链对应操作的 Gas 消耗 / (Rollup 中对应操作需上链的字节数 * 16) * 1200万 / 1250 万

需要说明的是,出于某些缘故原由,这些数字其实是过于乐观的。最主要的缘故原由是,一个区块中险些不可能只包罗一个批处置,由于到时会有多个差别的 Rollup 系统。第二个缘故原由是,存款和提现操作始终将会存在。第三个缘故原由是,短期内 Rollup 的使用量可能较低,因此牢固成本的收费模式会占有主导。不外纵然思量了这些因素,跨越 100 倍的扩容应该不难实现。

那若是我们想要实现 1000-4000 TPS(取决于详细的应用场景)呢?这就需要 eth2 数据分片了。在这个提案中,每 12 秒开拓一个 16MB 的存储空间,这个存储空间可以被任何数据填满,系统将确保对这些数据的可用性杀青共识。这个数据空间可以被 Rollup 使用。这个约 1398kB/秒的数据吞吐量比当前以太坊主链的约 60 kB/秒提高了 23 倍,从长远来看,数据容量有望进一步增进。因此,使用 eth2 数据分片实现的 Rollup 的 TPS 可以高达 10万,在未来甚至会更大。

另有哪些尚未解决的挑战?

虽然现在 Rollup 的基本观点已经被人们所熟知,我们也很确定 Rollup 从本质上说上是可行的、平安的,而且已经有多个 Rollup 在以太坊主网部署,但 Rollup 在设计层面仍有许多地方没有被很好地探索,若是要将以太坊生态系统的大部门都完全引入 Rollup 从而行使其扩容性,这方面仍存在不少挑战。一些要害的挑战包罗:

用户和生态系统的入驻:现在使用 Rollup 的应用不多,用户对 Rollup 不熟悉,很少有钱包最先整合 Rollup。商家和慈善机构还不接受它们用于支付。

跨 Rollup 买卖:有用地将资产和数据(如预言机输出)从一个 Rollup 转移到另一个 Rollup 中,而不需要通过主链中转并发生响应用度。

审计激励:若何最大限度地提高至少有一个老实节点会完全验证 Optimistic Rollup 的概率,从而确保在泛起问题时有人公布敲诈证实?对于小规模的 Rollup(TPS 几百以下)来说,这不是一个主要的问题,可以简朴地依赖利他主义实现,但对于更大规模的 Rollup 来说,需要把激励问题研究清晰。

探索在 Plasma 和 Rollup 两者之间设计的可能性:是否有手艺可以把 部门 与状态更新相关的数据放在链上,但不把 所有 数据放在链上?通过这种手艺是否会降生出新的有用的工具?

最大限度地提高预确认的平安性:许多 Rollup 为了让用户体验更好,提供了一个 “预确认” 的观点,即在买卖完成后,排序者马上提供一个答应:某笔买卖将被包罗在下一批处置中,若是排序者食言,他们的押金将被销毁。然则这种方案在经济层面的平安性是有限的,由于排序者可能同时向异常多的用户做出许多答应。这个机制是否可以改善?

提高对缺席排序器的响应速度:若是一个 Rollup 的排序者突然离线,那么若何最大限度地快速以及低成内陆从这种情形中恢复,要么快速和低成内陆大规模退出到另一个 Rollup,要么替换排序者。快速响应这是异常有价值的。

高效的 ZK-VM:天生一个ZK-SNARK证实,证实具有通用性的 EVM 代码(或现有合约可以编译到的另一种 VM)已经准确执行,并有一个确定的效果。

Rollup 是一种新的壮大的二层扩容范式,预计将成为以太坊未来短期和中期(也可能是历久)实现扩容的基石。以太坊社区对于 Rollup 异常兴奋,由于与之前的二层扩容实验差别,Rollup 可以支持通用的 EVM 代码,允许现有的应用程序轻松迁徙过来。Rollup 通过做出一个要害的妥协来实现这一目的:不试图完全搬到链下,而是将每笔买卖的少量数据保留在链上。(译者注:即上文所说的没有数据可得性问题)

Rollup 有许多种,设计上也有许多选择:使用敲诈证实的 Optimisitc Rollup,使用有用性证实的ZK Rollup。排序者可以是一个中央化的角色,也可以是一个去中央化的自由角色,或者是介于两者之间的许多其他选择。Rollup 仍然是一项早期阶段的手艺,开发正在快速地继续,但它们是有用的,一些(特别是 Loopring、ZKSync 和 DeversiFi)已经运行了几个月。期待在未来的几年里,Rollup 领域会有更多令人兴奋的功效泛起。

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

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

上一篇:DeFi新玩法丨一文领会Enzyme v2的新功能
下一篇: Findora:将零知识证实引入DeFi

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

一对一专业指导:chengqing930520

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

2021 数字货币 网站地图

查看更多:

为您推荐