ROLL:Rollup 的新分类:Sovereign 与 Based Rollup

作者:NIC Lin 来源:medium

Rollup

不管是Validity Rollup还是Optimistic Rollup,它们都会将资料上传到L1(比如以太坊),让所有人都可以通过存取L1来存在取到该Rollup的资料,并借此导出Rollup最新的状态,比如爱丽丝有10 USDT、鲍勃有5 USDT。

没有把资料上传到 L1 的就不仅仅属于 Rollup(例如 Validium、zkPorter 或者 Arbitrum AnyTrust),它们不是这篇文章要讨论的对象。其他文章也不会讨论 Rollup 如何验证状态的有效,也就是有效性Rollup 和 Optimistic Rollup 的区别。

本篇第一部分将介绍Sovereign Rollup。Sovereign Rollup 如其名,是属于拥有自主权的Rollup,进行Rollup 版本升级或硬分叉都发生在Sovereign Rollup上,不像大家现在所熟悉的 Rollup 我们(以下简称 Classic Rollup),Classic Rollup 进行升级、硬分叉的地方不在 Classic Rollup 上,而在 L1 的 Rollup 上:在 L1 的 Rollup 由多签钱包或治理投票执行版升级。也是由一个L1上的结合来决定一个 Rollup 目标之前应该用哪个版本。而且如果 L1 发针对应该 Rollup 的攻击,比如攻击治理机制或者攻击 Rollup合约本身,应该 Rollup 都是会受到影响的。相对地,因为 Sovereign Rollup 只是单纯把L1 当成为放资材料的地方,那么所有 Sovereign Rollup 成员都可以自己在链下决定目标之前应该使用哪个版本,而不受管 L1 发生什么事,只要 L 1 本身没有被攻击(例如发生 Re-org 或者是链停摆), Sovereign Rollup 就不会受到影响。

V神:基于以太坊2.0的Rollup或使TPS达到十几万:据zkTube消息,zkTube作为EEA(企业以太坊联盟)成员参与了EEA以太坊六周年庆典,在EEA内部成员与V神(Vitalik)的问答环节中,zkTube-CEO Daniel与V神交流了Cross-Rollup技术,这是zkTube技术路线图中重要的一部分,对Layer2意义重大。同时,Daniel还向V神请教了对于zkTube跨链工作的经验与建议。对于Rollup技术,V神表示,以太坊2.0有可能TPS会达到20000左右,但是基于2.0的Rollup会达到十几万。[2021/7/31 1:25:40]

第二部分将介绍 Based Rollup。Based Rollup 移去 Sequencer 这样的角度,将交易排序的权力交给 L1 的矿工、Validator、MEV Searcher 等。不只让排序交易变得更去中心化,同时也能简化设计、移除系统允许多少元器件。

Data Availability Layer and Settlement Layer(数据可用性层和结算层)

Classic Rollup 例如Arbitrum、Optimism、StarkNet 等等,除了把Ethereum(L1)当作放资料的地方(也就是Data Availability Layer),还同时将Ethereum 当作Settlement Layer:在Ethereum 上进行结算,把L2 的状态(也就是L2 各个地址的余额)写到L1 上。

为什么会需要把L2 状态写到L1 上?因为这样L2 和L1 就能互通讯息、互通资产:L1/L2 的dApp 能同步讯息并合作、L1 的ETH 能安全地在L1/L2 之间流转、L2 的ARB/OP 也能安全地在L1/L2 之间流转。

跨Rollup转账应用HopProtocol发布Demo:去中心化应用平台Authereum联合创始人、以太坊编程语言Solidity开发者ChrisWhinfrey发布Rollup转账应用HopProtocol的Demo,允许代币跨Rollup或在一层网络之间转移,并能够快速从Rollup撤回,最终将支持跨Rollup合约调用。具体来说,Hopprotocol能够创建一个可在Rollup间转移代币的跨网络桥接代币,以及使用自动做市商在每个桥接代币和对应的Rollup中的代币之间进行兑换,可进一步激励整个网络中的流动性再平衡。[2021/2/2 18:41:23]

L1能读到L2状态,就能安全地进行消息传送,L1/L2之间就能互通有无

而 Sovereign Rollup 即拿掉 Settlement Layer(或者说将自己改变成 Settlement Layer),单一将 L1 作为 Data Availability Layer 使用。

L1 只读取到 Sovereign Rollup 放到 L1 的区块或交易资料,但不知道 L2 最新状态,也没法交互

为什么要拿掉Settlement Layer?有不同理由或原因:

如同开头所述,如果Rollup 的Settlement Layer 在L1,则它将会受L1 所影响,不管是要升级还是被攻击

可能L1 本身不支援复杂的运算来做到纪录Rollup 状态并利用这个状态进行讯息资产的互通等功能,例如像是在Celestia上你只能单纯放资料上去,或像是在Bitcoin 上你只能进行能力有限的运算,这样的L1 也就没办法成为Settlement Layer

Google Cloud 在客户用例中新增路印协议 Loopring 的 zkRollup 扩容方案:Google Cloud 在客户和案例研究中新增路印协议 Loopring 的 zkRollup 扩容方案。根据该案例专页的描述,路印协议 Loopring 选择 Google Cloud 的可扩展性和速度来减少交易时间,为 zkRollup 客户提供更好体验,可将用户资金释放等待时间缩短 40%。Google Cloud 计算引擎通过自定义 VM 解决方案可节省 15%的计算成本,从而为用户降低了交易费用,此外还可将部署时间从几分钟缩短到几秒钟,以提高员工效率,最终增强交易计算性能并改善客户服务。[2020/12/19 15:47:42]

或许该Rollup 本身就不需要另外一条链来作为Settlement Layer,它有自己的原生代币、生态,不需和L1 互通资产

Sovereign Rollup 单纯将L1 作为Data Availability Layer,把资料上传到L1,仰赖L1 确保资料可得且资料排序不会改变。Sovereign Rollup 的节点则靠着读取L1 上的资料并进行解读,来算出该Sovereign Rollup 当前的最新状态。「解读、算出」代表的其实就是Sovereign Rollup 的共识规则、State Transition Function:怎么从L1 资料中筛选出符合该Sovereign Rollup 格式、规则的区块和交易、筛选后怎么验证这些区块和交易、验证后怎么执行这些交易来算出最新的状态。

Sovereign Rollup 节点从 L1 资料中筛选出自己的区域,并解读、算出最新状态

如果两个 Sovereign Rollup 的节点是不同版本的,就可能会读出不同的资料、或者是算出不同的最新状态,也因此这两个节点就不会在同一条链上,它们各自所见的其实就是两条分开的链条的其中一条。

路印正式上线zkRollup二层AMM闪兑服务:据官方消息,路印协议Loopring正式上线基于路印协议3.6的以太坊二层AMM(自动做市商)闪兑功能。Loopring二层AMM当前只在网页端可用,用户可以用Metamask、支持WalletConnect的钱包和硬件钱包解锁二层账号。路印智能钱包将集成AMM相关功能,当AMM资金池达到一定数额后,Loopring会陆续开放相关的订单簿交易,并上线订单智能路由功能。官方指出,目前Loopring仅上线了LRC/ETH交易池,将于本月旬上中线更多交易池并开启AMM流动性挖矿,用以奖励流动性提供商。[2020/12/2 22:52:20]

不同版本本的节点可能会得到不同的状态,也只是分岐到不同的链接上

这其实就和你跑不同版本的Ethereum 节点一样,两个版本有可能不会是同一条链。例如硬分叉后,忘记更新节点版本、不愿意更新节点版本的人就会自然地留在原本的链上(例如ETC、ETHPoW),而更新节点版本的人就会在新的链上(ETH)。

看到这边读者应该也知道为什么它会被称作Sovereign Rollup 了,因为在Sovereign Rollup 中大家可以各自按照自己群体的(社会)共识,去选择节点版本、去解读资料。如果今天该Sovereign Rollup 社群出现像是ETHPoW vs ETH 的分歧,那就是大家各走各的,选择不同的节点版本去解读资料,但资料还是原本那一份,没有改变过。

注:当然分叉后,各自版本的节点就会上传符合自己规则的资料到L1,届时两边都会直接过滤掉对方上传的资料。

动态 | 保险巨头旗下区块链子公司B3i已任命John Carolin为首席执行官:7月17日消息,瑞士再保险公司、苏黎世保险等全球多家保险巨头支持的区块链子公司B3i已任命John Carolin为首席执行官。B3i目前正为约40家成员公司构建DLT解决方案。Carolin于2018年3月加入B3i担任首席财务官,自今年3月以来一直担任临时首席执行官。[2019/7/17]

在中间的时间点下面的节点分到了v1.1.2版,之后彼的区块就各独立了

有哪些Sovereign Rollup?

目前没有什么 Sovereign Rollup 的例子,不过随着区块链的模组化设计风潮越来越热,肯定会有许多 Sovereign Rollup 出现。例如Celestia 正在设计的模组化框架Rollkit可以透过Cosmos SDK 打造一个Sovereign Rollup。不像原本使用 Cosmos SDK 打造的链(一个L1)会需要执行Tendermint 共识来决定交易排序,该 Sovereign Rollup 可以像目前常见的Rollup 一样使用单一 Sequencer 来排序交易,省去需要多个共识节点并仰赖其安全性的困扰以及执行共识演算法所消耗的资源。且该 Sovereign Rollup 是将交易资料上传到Celestia,但同时因为是 Rollup 所以不会受L1 影响(例如升级或被攻击)。

或是假设Arbitrum 不再使用Ethereum 当作Settlement Layer、不再需要和Ethereum 互通讯息或资产,单纯把Ethereum 当成放资料的地方,则这样的Arbitrum 也会成为一个Sovereign Rollup。

另外也有像是Settlement Rollup 这样的定义出现,不过它基本上就是Sovereign Rollup,然后这个Sovereign Rollup 还会是其他链的Settlement Layer。也就是说,如果一个Sovereign Rollup 上面还会有其他链、其他Rollup 将它当作Settlement Layer 的话,这个Sovereign Rollup 就可以称作Settlement Rollup。

如果Ethereum 今天改成把链的资料都上传到Celestia,那这样的Ethereum 就会是Celestia 上的Sovereign Rollup,且同时也是Settlement Rollup,因为Ethereum 上面还有许多链、许多Rollup 把它当作Settlement Layer。

Ethereum 是Celestia 上的Sovereign Rollup,也是Settlement Rollup

另一个最近出现的Rollup 分类是Based Rollup,又或著称L1-sequenced Rollup。Based Rollup 的 Based 指的是在排序交易这件事上,Rollup 不是交给一个 Sequencer(或多个 Sequencer)来排序交易,而是完全交给L1 的矿工、Validator 或 MEV Searcher 等等来排序交易。Classic Rollup 将资料上传到L1 时,L1 Rollup 合约会检查是不是符合资格的Sequencer 所上传的,而Based Rollup 则是没有限制,任何人都可以上传。

任何人都可以上传 Based Rollup 的区块

Based Rollup 最大的优点就是没有 Sequencer,也就没有单点故障的问题或什至需要担心Sequencer 有完全交易排序权力的问题,也就是不需要担心Sequencer 当机导致链停摆或故意不收特定使用者的交易,或是担心Sequencer 会恶意套取使用者的MEV。Based Rollup 完全继承L1 在出块上的去中心化程度。

Based Rollup 有以下优点:

使用者离开 Rollup 的成本很低

一般Rollup 为了避免Sequencer 故意不收入特定使用者交易或是Sequencer 停摆导致使用者无法离开Rollup,会设计一套Force Inclusion 机制或是Escape Hatch 机制来让使用者可以不透过Sequencer 而直接到L1 安插自己的交易到L2 区块中。但这样的设计第一个代价是成本高,使用者必须要自己付出L1 矿工费去安插交易,第二个代价是从L1 安插的交易可能会影响Sequencer 打包L2 区块的过程:有可能L1 安插的交易会导致Sequencer 准备收入到L2 区块里交易无效,例如Alice 在L1 安插的交易把钱都转给Bob,导致Alice 在L2 区块里转钱给Carol 的交易失败。

Sequencer 收到Alice 的交易后,确认交易结果并放进下一个区块中

但Alice 直接透过Force Inclusion 将另一笔交易直接送到L1,导致Sequencer 收到的Alice 交易失败

Arbitrum 为了避免L1 安插的交易影响Sequencer 打包L2 区块的过程,所以L1 安插的交易不会马上生效,需要等待Sequencer 主动申请将该交易收入最新一个区块才会生效,或如果Sequencer 都没反应,过一段时间后就会强制生效。Optimism 则是允许交易立即生效,如果L1 安插的交易影响到L2 区块里的交易,Sequencer 必须要自己想办法处理。可以看这篇介绍了解更多Arbitrum 及Optimism 在处理L1 安插交易的比较。

设计简单许多

Based Rollup 比一般 Rollup 少了 Sequencer 的角色,也就少了硬体的负担(不必担心 Sequencer 机器负载问题)以及任何为了让排序交易更公平的机制(例如去中心化Sequencer 的机制)。然后也不需要Force Inclusion/Escape Hatch 机制,包含L1 的相关合约及相关链下工具来方便使用者能自己在L1 安插交易。

但Based Rollup 也有一些缺点:

没有交易提前确认的服务

有Sequencer 的话,Sequencer 可以很快告诉使用者他的交易执行结果。只要使用者相信Sequencer,就能立刻确认交易结果,不需等待交易上传到L1。

Based Rollup 中,Alice 等到交易上传到L1 才相信自己的交易被收入,要等至少一个L1 区块的时间

一般Rollup 中,如果Alice 相信Sequencer 会收她的交易的话,马上就能确认交易是

会被收入失去 MEV 收益来源

MEV 不再交由Sequencer 来把关、提取,而是交给L1,因此L2 本身没办法获得MEV 收益。可以透过设计出块权利的竞标机制来捕捉MEV 收益,但相对地会拉高L1 参与者参与出块的门槛,也就降低去中心化程度,且引入竞标机制也带来一定复杂度。

金色荐读

金色财经 善欧巴

迪新财讯

Chainlink预言机

区块律动BlockBeats

白话区块链

金色早8点

Odaily星球日报

欧科云链

MarsBit

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-1:125ms