“谁能扛起跨Rollup交互的大旗?
三月将会是Rollup扩容方案的高光时刻。从进度看各个?Rollup方案已经蓄势待发,有些方案已经明确将会在3月上线,而Rollup扩容方案的上线,将会为行业带重大影响。
但由于?Rollup之间难以互通,这就造成了以太坊生态的割裂,不同协议之间难以实现协同性,对DeFi非常重要的可组合性也将支离破碎。那有没有办法解决这个问题呢?
今天聊一聊几种想要解决跨Rollup交互问题的方案,看看如何将不同Rollup?Layer2扩容方案连接起来,保持协议间的可组合性和协同性。
Rollup蓄势待发
之前我们已经介绍了Optimism、ZkSync、Arbitrum以及StarkEx这四种主要的Rollup扩容方案,这里再进行简要叙述,以作为背景。
四种Rollup方案的详细内容,可以点击查看:《四种主流Rollup方案及热门DeFiLayer2进展盘点》。
不同的Rollup方案和DeFi协议的选择
目前四种主要?Rollup扩容方案各自都吸引到了一批生态用户,其中:
Optimism吸引了来自Uniswap、Compound的目光,更是在主网预启动之后,得到了合成资产交易平台Synthetix的深度参与。
Curve、StablePay、GitCoin采用或计划采用MatterLabs的zkSync方案作为扩容选择。
OffchainLabs所创建的Arbitrum,有多个DeFi项目已开始测试或有计划使用,包括Bancor、Bounce、DODO、麦子钱包、Burgerswap、Hop、MCDEX和Swapr等。
StarkEx一边,也不乏战友。去中心化合约交易平台dYdX会使用StarkEx所支持的Layer2网络,还有Paraswap,DeversiFi等应用,也会使用StarkEx的方案。
各Rollup扩容方案进展如何??
Optimism二月份宣布完成A轮融资,领投方为AndreessenHorowitz,将于三月份上线主网。
LayerZero宣布新增支持Scroll测试网:6月14日消息,跨链互操作性协议LayerZero在推特上宣布已在Scroll测试网上线,并在文档中列出endpoint信息。
此前6月8日消息,LayerZero发推称已新增支持Arbitrum Nova。[2023/6/15 21:37:24]
Arbitrum由学术性研究计划而肇始,在计划进入商业化阶段时,曾申请专利。团队近日表示,在征得普林斯顿大学同意后,考虑到项目进入社区成熟阶段,将放弃专利。Arbitrum也公告主网处于即将上线阶段。
zkSync项目的创始团队MatterLabs?也公开了A轮融资的信息,“联合广场风投领投该轮,此前的投资者Placeholder、1kx和Dragonfly继续参与本轮,除此之外还有zkSync的生态合作方参与了投资,其中包括Aave、Balancer、1inch、Curve、Binance、CoinbaseVentures、火币、路印、Argent、MYKEY、imToken、Flexa、MoonPay、ripio、ZKValidator、CoinGecko”。MatterLabs表示,zkSync将于今年支持图灵完备的智能合约。
Rollup导致生态割裂
大多数DeFi协议都是基于智能合约而创建的,这些智能合约部署在Layer1的以太坊上,并通过各自的方式,连接到自己的Layer2网络。
对用户来说,将资金存入智能合约,开始使用这些Layer2网络,智能合约会记录所有的交易变化,用户在Layer2网络上使用,能提升效率,降低成本。
但是如果Synthetix和Uniswap分别存在于不同的Layer2网络上,那么彼此之间可能就处于各自的孤岛,如何交互会成为问题。
如何让不同的扩容方案连接起来,保持DeFi协议最为人所知的可组合性和协作性??
在币乎社区的一次线上AMA中,Vitalik提到了目前Rollup等Layer2方案需要解决的两个问题:
以太坊的社区很多应用喜欢调用智能合约,比如DeFi的项目。但目前的ZK?Rollup不支持智能合约,只支持发币、交易币等简单的应用。这是第一个问题。当我们有支持完整EVM的Rollup的时候,我觉得会有更多的用户搬到Rollup。
以太坊扩容项目AltLayer推出多排序器测试网Rollup:5月5日消息,以太坊扩容项目AltLayer宣布推出多排序器测试网Rollup,承诺减轻审查制度,增强Rollup的安全性和可用性。第一阶段发布的测试网功能包括运行本地共识的多排序器L2,验证者对 L1(Sepolia 测试网)的常规状态根承诺,支持原生ETH、ERC-20和ERC-721代币的Rollup桥,L1到L2的资产存入等。多排序器测试第一阶段于2023年5月4日至6月30日开放。[2023/5/5 14:44:45]
现在Rollup相关的基础设施生态还不多。比如我们还没有解决不同的Rollup之间交易的问题。如果我有一些币在ZKsync怎么把币搬到路印?首先需要把币从ZKsync的二层提取到以太坊底层,然后再转移到Loopring的二层账户。如果这样做了,交易费会不会特别高?
现在以太坊上会有很多用户体验方面的挑战。但我觉得6个月之后很多这些问题都会解决。?
那么如何解决?
Vitalik提案:如何实现跨Rollup转账
几天前以太坊联合创始人VitalikButerin提了个想法,将不同的第二层扩展解决方案连接起来,这样它们就可以相互“交谈”,以保持DeFi协议的可组合性和协同性。
假设存在两个Rollup:A和B。用户Alice想要将RollupA上的一些代币,换成RollupB上的另外一些代币。假设存在两种情况:
RollupA和RollupB都能够支持合约
只有一个Rollup支持智能合约,另一个Rollup只支持简单的转账。
第一种情况,社区也有一份提案,名为"Hop:SendTokensAcrossRollups(Hop:跨Rollup发送代币)",地址见:https://ethresear.ch/t/hop-send-tokens-across-rollups/8581。
Vitalik的提案,针对第二种情形,即:如果RollupA只支持简单的转账交易,而RollupB支持智能合约。
V神提议,有一种简单的方法,可以将这些各自孤立的合约网络连接起来。
Cocos-BCX与NodeReal将基于OP Stack共同开发BNB Chain Rollup Layer 2:3月1日消息,Web3游戏扩展方案提供商Cocos-BCX与NodeReal宣布达成全球战略合作,基于Optimistic(OP)Stack,共同开发BNBChain上首个以Web3游戏为中心的Rollup Layer2。这一合作将支持超过160万游戏开发者在2D/3D游戏、元宇宙、人工智能(AI)和扩展现实(XR)领域的开发。
Cocos-BCX将面向Web3游戏构建开放、开源、去中心化的Layer2,高效、低成本、安全地连接Web3游戏开发者与整个生态系统,最大限度地发挥游戏开发潜力。[2023/3/1 12:35:42]
跨?Rollup转账的基本场景
“假设有一个交易中介,名为Ivan。Ivan在RollupA上有一个帐户IVAN_A(他完全控制该帐户)。Ivan也有一些资金存入到Rollup?B上的智能合约IVAN_B中。”
设想有如下的操作:
Alice向?RollupA上的?IVAN_A账户发起一笔交易,转账到RollupB上的账户:ALICE_B。
Ivan能怎么办呢?他会通过IVAN_B账户,发送一笔交易,将扣除了手续费之后的代币数量,发送到ALICE_B这个账号中。
在第一步之后,第二步可以立即进行。如果Ivan证明第二笔交易跟第一笔交易之间的差异非常小,那么甚至可以在合约里设置规则,允许收取更高的费用。
“最坏的情况”是Ivan没有像预期的那样向ALICE_B发送代币。在这种情况下,Alice可以等待Rollup?A上的交易确认,然后通过其他途径获得Rollup?B上的代币用来支付跨Rollup传输的手续费,然后她自己就可以claim,获得资金。
按照V神的解释,用户Alice可以直接在RollupB上完成。只需要让RollupB可以获得在前一批Rollup记录之前的L1上的相应hash记录,然后RollupB就能够记录下来Merkle分支,能够在Rollup里验证。
通俗来说,通过技术方式能够确保用户Alice在RollupA上交易确认之后,可以有方式安全的在RollupB上领取到对应的资金,避免因为其中某一个或者几个交易中介出现问题,导致资金受损。
Layer2跨rollup桥Orbiter新增支持USDT:6月12日消息,Layer2跨rollup桥OrbiterFinance新增支持USDT,目前用户最多可在以太坊、zkSync、Arbitrum、Optimism和Polygon之间转账1000USDT。[2022/6/12 4:19:53]
无论这个交易中介Ivan是谁,为什么别人会选择转给他代币,这些可以暂时不管;这里的含义是,存在连接层,让存入到各类孤立的Layer2智能合约上的资金保持同步,实现跨Rollup转账的功能。
具体的实现细节,可能要了解在RollupB上的合约IVAN_B的规则了。遵从下面的设定:
如果任何人发起一个交易,发送若干数量的比特币到IVAN_A这个账户,在memo中,包含了目标地址的信息。那么,在若干时间之后,他们可以向合约IVAN_B发送一笔交易,该交易包含了转账的证明,该证明能够将对应数量的比特币提到在RollupB上的目标地址之中。
提款要经过一些延迟(例如,1天的时间),是为了确保对应的转账批次和索引可以记录到RollupA的Layer2网络之中。
当Ivan在IVAN_A收到资金时,他可以自己将代币发送到目标地址。他可以通过IVAN_B合约发送交易。
在这种情况下,Ivan充当了结算商的角色,可以收取一定的转账手续费,让RollupA这个只支持简单转账交易的Layer2网络,和可以支持智能合约交易的RollupB,能够连接起来。而通过转账证明、Merkle索引等方式,也确保用户资产能够在转移过程中不会遇到损失。
结算商充当了跨Rollup转账的协作角色
Ivan自己也需要进行内部结算,毕竟有可能在某个Rollup上会耗尽资金。比如,用户一直在通过RollupA向RollupB转账,需要通过Ivan在RollupB上的储备资金转给用户所指定的地址。这时候Ivan这类交易中介,就需要进行内部结算了,也因此这提案的限制,会要求Ivan这类中介商持有大量的资金在账户之中,以便服务用户需求。
我们用法币举例,或许能更好理解。如果你从工商银行向建设银行的卡转账,尽管ATM机上显示立即变更了,但是实际的结算过程是每天进行一次,只有在工行结算后,才将实际的资金转给建行,更具体来说,是通过在央行的结算账号之间进行的。
动态 | Fuel Labs推出基于Optimistic Rollups的以太坊侧链:Fuel Labs 宣布推出首个基于Optimistic Rollups开发的无需信任的以太坊侧链 Fuel ,Fuel侧链专门针对以太坊大额支款设计,在伊斯坦布尔升级之前,保守估计能将以太坊 ERC-20 代币交易成本降低 5 倍。[2019/10/23]
同样的,从支持智能合约的RollupB向只支持普通转账的RollupA发起转账交易,也是类似的操作。
Alice发送代币至合约账号IVAN_B,并附上了目标地址;
若干时间之后,Alice可以将资金取回;
不过如果中间IVAN这个中间商能够提供证明至智能合约IVAN_B,附上链上的转账记录等信息,证明自己已经将资金在RollupA上转给了Alice,那么,Alice就不能再取回资金了。这时候,跨Rollup转账完成。
至此,我们大致理解了Vitalik提案之中所提到的跨Rollup转账原理,并且只需要其中一个Rollup支持智能合约即可实现,主要引入了IVAN这一中间商来支持跨Rollup转账。
至于如何设置限定,避免中间结算层的资金不足和浪费、以及转账的Memo应该如何设定等技术细节,可以查看Vitalik的提案所述:https://ethresear.ch/t/cross-rollup-dex-with-smart-contracts-only-on-the-destination-side/8778。
Hop的跨Rollup转账方案
上文中,我们还提到过另外一个场景:两个Rollup,比如ZKSync和Optimism,都支持智能合约,那么如何实现跨Rollup交互?
Hop团队成员?chriswhinfrey1月24日在ETHResearch论坛发了一篇帖子,介绍Hop如何跨Rollup进行去中心化的代币转账。
内容如下:
Hopprotocol提供了去信任、可扩展的跨Rollup通讯桥。致力于:?
快速轻松实现跨Rollup代币转移
可以快速从Rollup中退出
最终实现跨Rollup合约调用的功能
在Hop团队看来,对于解决跨Rollup可组合性问题,他们提供了广泛的解决方案,通过双管齐下的方式实现:
创建一个跨网络桥接代币,可以快速而经济地从一个Rollup?移动到另一个Rollup?,或者在Layer1上创建,支持领取对应的底层资产。
使用自动做市商(AMM)在每个Rollup上的每个桥接代币和其对应的代币之间进行交易,以便动态定价,并让整个网络的流动性再平衡。
换句话说,借助于一个锚定代币,在多个Rollup上都有部署,也可以在Layer1的以太坊网络上部署并支持Layer1跟Layer2?的Rollup上的Bridge代币的1:1锚定兑换。
如果用户想要从RollupA转账100个BTC到RollupB上自己或者他人的账号中,那么,就有如下的过程:
首先,在RollupA上,通过AMM将这100个ETH兑换为Bridge_A代币,即桥接代币;
交易确认之后,RollupB上通过AMM将Bridge_B代币兑换为100个ETH代币,然后转给用户所指定的在RollupB上的对应地址;
由于Bridge_A和Bridge_B都是同样的代币,只是起到了跨Rollup桥接的作用,他们的比值是1:1锚定的。如果有价值波动,套利者会进行无风险套利,搬砖搬平差价。
Hop目前已有测试网上线
https://hop.exchange/send。
还有没有其他方案?
除了上述方案之外,Celer跟Matic?Network的方向我们也一并聊聊。
Celer的Layer2方案:原地扩容
国产DeFi项目Celer提出了个新的思路,称为“原地扩容”,原地的意思就是,让DeFi项目继续在Layer1即可,不需要专门去Layer2另外部署专门的版本,即可通过Celer的方案--Layer2.finance,实现扩容。
根据Celer团队的介绍,在该场景下,用户的资产存放在Layer2链上(Celer从基于OptimisticRollup的方案开始,后续扩展升级,支持ZKRollup),然后用户发送指令,告诉Layer2.finance协议自己的操作要求,指明将自己的多少资金、存放到哪些DeFi协议中,比如Curve、AAVE、Compond等位于以太坊Layer1网络上的DeFi协议。
通过这种方式,Layer2充当了命令代理,用户存储资产+?发送指令即可,而具体的业务逻辑,则仍然是交给了Layer1上的DeFi协议执行。而不同用户的命令,可以通过合并交易的方式,更经济的与Layer1合约交互。
该方案预计在3月份上线。
MaticNetwork品牌重塑:Polygon?
Polygon原名为MaticNetwork,则走了另外一条路,定调为Layer2聚合器,通过两种方式实现扩容:
依赖以太坊网络,借助对应网络上的验证者,并支持MaticPlasma、zkRollups、OptimisticRollups、Validium等方案。
建立自己的子链体系和独立的验证节点,自行负责自己的安全性。这一方向,目前已经上线的是MaticPoS链。
MaticNetwork升级之后的方案走得更远,除了依托现有生态之外要独立建立自己的生态体系,所付出的努力也要更多。据统计,目前有80多个DApp部署在Polygon上,涵盖DeFi、NFT、游戏等领域。
按照当前的进展,MaticPos链和MaticPlasma方案已上线,而目前还未支持zkRollup和OptimisticRollup,这些方案会在未来上线。限于篇幅,对Polygon不再展开。Polygon链接见:https://polygon.technology/
小结
三月份会很热闹,Arbitrum、Optimism的主网上线,标记着我们目前处在Rollup等Layer2方案的爆发前夜。Layer2方案争夺用户的举措,会成为三月份以及上半年的一大母题。
而不同Layer2(具体来说Rollup)之间如何兼容,避免破坏DeFi的协作性?目前见到的这几个方案,其实也都在摸着石头过河。Vitalik的提案,Hop的实现,以及Celer的创意,或许能够解决各自设想中的问题,但是跨Rollup实现DeFi的调用组合,仍然是个摆在前方的大难题。
另一方面,最近Sushi等协议在多条链上部署的动作,或许预示了另外一种可能性,跟Hop方案之中所提到的类似,借助于AMM+协议自身代币的方式,或许许多DeFi协议会先尝试在内部打通不同Layer2网络及Layer1之间的隔阂,形成闭环。
也许未来随着更多DeFi加入Layer2的行列,更广泛意义的DeFi聚合器巨无霸将会出现,现在还只是刚刚开始,读者朋友们不妨多想想多看看。
参考资料:
https://mp.weixin.qq.com/s/2HYIsxnUaovKYs19xQ_KbQ
https://www.trustnodes.com/2021/03/02/vitalik-buterin-proposes-cross-rollup-scaling-solution
https://www.chainnews.com/articles/872971457746.htm
https://hop.exchange/whitepaper.pdf
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。