“谁能扛起跨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,将于三月份上线主网。
BNB Chain将于2023年上半年探索zkBNB、Optimistic Rollup等拓展解决方案:2月16日消息,据 BNB Chain 2023 年路线图内容显示,BNBChain 将于 2023 年上半年通过启动 ZkBNB 以及 Optimistic Rollup 主网来探索多样化的网络扩展解决方案,为不同的业务案例提供更多选择。ZkBNB 以及 Optimistic Rollup 主网都将继续使用 BNB 作为 Gas Token,Optimistic Rollup 主网的网络吞吐量大约在 5000-10000Tps/s,Gas 将比 BSC 更少。[2023/2/16 12:10:54]
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网络上,那么彼此之间可能就处于各自的孤岛,如何交互会成为问题。
V神:ZK-Rollups或成为以太坊主要Layer 2解决方案:8月8日消息,以太坊联合创始人Vitalik Buterin在ETHSeoul演讲时预测,ZK-Rollups将在以太坊Layer2扩容之战中击败Optimistic Rollups,比如用户不需要7天的等待期。Vitalik Buterin指出,ZK-Rollups在将资金移入和移出主网时速度更快,这可能会导致更广泛地采用。从现在起的10多年甚至更久,我预计Rollups基本上都将会是ZK。ZK-Rollups的EVM兼容性正在开发当中,Vitalik Buterin补充道,我们实际上已经能看到zk-EVM几乎准备好实现与以太坊交易一起进行扩容,这太棒了。(the block)[2022/8/9 12:10:54]
如何让不同的扩容方案连接起来,保持DeFi协议最为人所知的可组合性和协作性??
在币乎社区的一次线上AMA中,Vitalik提到了目前Rollup等Layer2方案需要解决的两个问题:
以太坊的社区很多应用喜欢调用智能合约,比如DeFi的项目。但目前的ZK?Rollup不支持智能合约,只支持发币、交易币等简单的应用。这是第一个问题。当我们有支持完整EVM的Rollup的时候,我觉得会有更多的用户搬到Rollup。
现在Rollup相关的基础设施生态还不多。比如我们还没有解决不同的Rollup之间交易的问题。如果我有一些币在ZKsync怎么把币搬到路印?首先需要把币从ZKsync的二层提取到以太坊底层,然后再转移到Loopring的二层账户。如果这样做了,交易费会不会特别高?
现在以太坊上会有很多用户体验方面的挑战。但我觉得6个月之后很多这些问题都会解决。?
那么如何解决?
Vitalik提案:如何实现跨Rollup转账
几天前以太坊联合创始人VitalikButerin提了个想法,将不同的第二层扩展解决方案连接起来,这样它们就可以相互“交谈”,以保持DeFi协议的可组合性和协同性。
假设存在两个Rollup:A和B。用户Alice想要将RollupA上的一些代币,换成RollupB上的另外一些代币。假设存在两种情况:
troll-town.wtf系列NFT24小时交易额增幅达312.57%:金色财经消息,据NFTGo.io数据显示,troll-town.wtf系列NFT总市值达511.08万美元,在所有NFT项目总市值排名中位列第565;其24小时交易额为129.64万美元,增幅达312.57%。截止发稿时,该系列NFT当前地板价为0.242ETH。[2022/6/7 4:08:55]
RollupA和RollupB都能够支持合约
只有一个Rollup支持智能合约,另一个Rollup只支持简单的转账。
第一种情况,社区也有一份提案,名为"Hop:SendTokensAcrossRollups(Hop:跨Rollup发送代币)",地址见:https://ethresear.ch/t/hop-send-tokens-across-rollups/8581。
Vitalik的提案,针对第二种情形,即:如果RollupA只支持简单的转账交易,而RollupB支持智能合约。
V神提议,有一种简单的方法,可以将这些各自孤立的合约网络连接起来。
跨?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,获得资金。
ZKSwap将在2到3周内发布100% ZK-Rollup版本:据官方消息,ZKSwap将在2到3周内发布100% ZK-Rollup版本。[2021/2/28 18:00:41]
按照V神的解释,用户Alice可以直接在RollupB上完成。只需要让RollupB可以获得在前一批Rollup记录之前的L1上的相应hash记录,然后RollupB就能够记录下来Merkle分支,能够在Rollup里验证。
通俗来说,通过技术方式能够确保用户Alice在RollupA上交易确认之后,可以有方式安全的在RollupB上领取到对应的资金,避免因为其中某一个或者几个交易中介出现问题,导致资金受损。
无论这个交易中介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这类中介商持有大量的资金在账户之中,以便服务用户需求。
新勒索软件ProLock攻击政府和公司并索要比特币:金色财经报道,网络安全公司Group-IB发出警告称,最近几个月出现了一种新型勒索软件ProLock,依靠Qakbot银行木马发起攻击。受害者包括地方政府、金融、医疗和零售机构。Group-IB称,该勒索软件攻击要求总计支付35枚比特币的赎金,目前价值337750美元。[2020/5/20]
我们用法币举例,或许能更好理解。如果你从工商银行向建设银行的卡转账,尽管ATM机上显示立即变更了,但是实际的结算过程是每天进行一次,只有在工行结算后,才将实际的资金转给建行,更具体来说,是通过在央行的结算账号之间进行的。
同样的,从支持智能合约的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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。