本篇是 Rollup Bridge 介绍的第二篇,建议先从第一篇 Maker Bridge 看起:
以下所称 L2 皆指 Rollup 而非 Plasma 或侧链
以下所称「资产」和「代币」两个词指的是一样的东西
以下所称「七天」和「Rollup 挑战期」两个词指的是一样的东西
快速跨 Rollup 资产转移
如果你现在要从 Rollup A 把资产搬到 Rollup B,要怎么搬?答案是从 Rollup A 提款至 L1,再从 L1 存款到 Rollup B。所以你要等 Rollup A 的挑战期,然后再等 Rollup B 的存款到账(通常不会很久)才能成功完成跨 Rollup 的资产转移。
图片来源:Steven Wu from imToken Labs
Scroll高级研究员:Scroll正在测试L1、L2之间的资产跨链功能:7月28日消息,Scroll高级研究员Toghrul Maharramov在推特发布一张类似Hop Protocol的UI,正在进行从以太坊到Scroll进行USDC跨链的图片。
Scroll团队表示目前其正在测试L1、L2之间的资产跨链功能,该测试跨链桥仅仅使用Hop Protocol的UI,代码则是由团队自主研发。[2022/7/28 2:43:34]
而 Hop protocol 就像是前篇介绍里 fast withdrawl 的例子一样,只是现在流动性提供者是在 Rollup B 上去垫付而不是在 L1。以下会以 fast transfer 来指跨 Rollup 资产转移,以便和 fast withdrawl 做出区分。
从高维来看 Hop protocol 就跟 fast withdrawl 一样简单,流动性提供者承担资产锁住七天的风险及机会成本,收取手续费;使用者支付手续费,换取能快速把资产转移到另一个 Rollup 的服务。
Roll完成1000万美元A轮融资,IOSG Ventures领投:9月28日消息,社交通证基础设施公司Roll完成1000万美元A轮融资,IOSG Ventures领投,Animoca Brands、Alchemy、Huobi Ventures、Messari首席执行官Ryan Selkis、Coinbase前CTO Balaji Srinivasan和VaynerMedia首席执行官Gary Vaynerchuk等参投。(Decrypt)[2021/9/28 17:13:14]
注:Hop protocol 里把流动性提供者称作 Bonder。
而如同 fast withdrawl 例子,如果没有人来垫付你的 fast transfer,你就必须自己走完正常的路线:回到 L1 再进到 Rollup B。
注:Rollup A 和 Rollup B 都支援 Rollup Bridge 的功能也是必要条件,否则无法安全可信地把转账讯息从 A relay 到 B 上。
安永已开源以太坊二层方案Nightfall 3,采用ZK-Optimistic Rollup机制:7月2日消息,安永宣布推出并开源以太坊二层方案c,Nightfall 3采用ZK-Optimistic Rollup机制,将零知识证明(ZK或ZKP)与处理交易验证的新模型相结合,以提高效率并降低交易成本。ZK-Optimistic Rollup为了确保只有正确形成的第二层区块被纳入最终的区块链记录,从经济上激励用户挑战不正确的区块,当提出挑战时,智能合约对挑战的准确性进行仲裁,奖励正确的挑战,并删除不正确的第二层区块。(Prnewswire)[2021/7/2 0:22:54]
不过实现 Hop protocol 其实没有这么简单。首先,每一个 Rollup 的提款方式、挑战期以及存款时间都不一样。每一个 Rollup 都需要 Hop protocol 团队去对接。
注:Hop protocol 也可以接上 ZK Rollup,ZK Rollup 因为没有挑战期所以设计会比较不一样,但一样需要团队去对接。
V神:Rollups成为新的执行环境:刚刚V神发推称,Rollups成为新的执行环境。就在该推文之前,V神刚刚更新以太坊路线图,表明以rollup构建为中心。[2020/10/2]
而整个 Hop protocol 的安全性会取决于其所接入的 Rollup 中安全性最低的那个。如果某一个 Rollup(或甚至 Rollup 上面的某一个代币合约)出现漏洞,导致攻击者可以任意凭空印钞,那攻击者就可以马上通过 Hop protocol 来换成其他 Rollup 上的资产。
其实就和跨链桥一样,你的防守范围从一条链变成了多条链上的无数个资产,其安全性不容轻忽。
接下来会介绍一些 Hop protocol 的设计细节
批量处理
如果每一笔 transfer 背后对应的 Rollup A -> L1 -> Rollup B 步骤,流动性提供者都要一笔一笔跑过一次,那会耗费很多 gas。所以 Hop protocol 提供批量处理的功能,流动性提供者可以等待一段时间,收集垫付完的 transfer,再把它们一并处理。
BM:EOS也可部署zksync rollup:9月16日,EOS创始人BM(DanielLarimer)转发V神“已利用zkSync新资助13个项目”的推特并表示,这很好,但是尝试将其与像Bancor这样的DeFi交换器一起使用,并观察状态冲突将吞吐量降低到每个块一个事务,客户端必须不断重新生成证明并签署新的TRX。有人问EOS是否支持zksyncrollup,BM回应称,EOS也可部署zksyncrollup。[2020/9/17]
hToken
hToken 是 Hop protocol 的代币,但这个不是治理代币,而且每个代币在 Hop protocol 里都有相对应的 hToken,例如 ETH 有 hETH,DAI 有 hDAI。
为什么需要 hToken?
首先,它能统一代表同一种代币,简化使用介面的复杂度:使用者不需要选择他要换的是 Optimism ETH 还是 Arbitrum ETH,使用者操作的都是 hETH。
其次,Hop protocol 不需要负责维护一个正统代币的清单。任何人都可以在 Rollup 上发行一个 Dai 合约,那 Hop protocol 要怎么知道哪一个才是 Maker 团队部署在 Rollup 上的 Dai 合约?答案是:Hop protocol 不需要知道,它只需要知道 hDAI。(你可能会想:拿到 hDAI 可以干嘛?hDAI 等于 Dai 吗?我们马上就会讲到)
最后,延续上一点。假设今天没有 hDAI,而我要从 Rollup A transfer Dai 到其他 Rollup。Hop protocol 就必须在 Rollup A 上记载 Rollup B C D E … 上的 Dai 合约地址,而且其他 Rollup 也都要依照办理。所以这样全部 Rollup 上总共记载的数目会是 N*N*M(N 是 Rollup 数量,M 是代币数量)。另外,谁有权力决定哪一个 Dai 合约才是正统?
好,那我今天拿到 hDAI 后可以干嘛?答案是拿去 AMM 换成 Dai。我们先不讨论 AMM 从哪里来,因为只要有诱因就会有人建出 hDAI/Dai 的 AMM 交易对并提供流动性。
注:这里的 AMM 指的 L2 上的 AMM。
先介绍 hToken 哪里来:任何人都可以到 L1 的 Hop protocol 合约抵押代币获得 hToken,例如抵押 Dai 获得 hDAI。流动性提供者一定会需要抵押来获得 hToken,因为他们垫付的代币会是 hToken。
接下来,假设使用者要从 Rollup A 把 Dai transfer 到 Rollup B,这过程会包含:
(1) 把 Dai 换成 hDAI、
(2) transfer hDAI 到 Rollup B、
(3) 在 Rollup B 上把 hDAI 换成 Dai
其中 (1) 和 (3) 都会有 Dai/hDAI 互换的需求,有需求自然就会有人愿意提供 Dai/hDAI 流动性来赚取手续费。
当然,如果你没有被说服为什么需要 hToken,那 hToken 和 AMM 看起来就会像是故意挤出来扒使用者皮的玩法。你可以想想看假设没有 hToken 的话,这个 protocol 的哪些运作流程、使用者介面会长得不一样,会是更好、还是更坏。(或许真的会变得更好?)
最后是一些我想到的可能的问题。
手续费怎么估?如果没有人垫付?
你可能有注意到,这个垫付的模式是你直接申请 transfer 然后等人来垫付,所以你在申请 transfer 时就要写好你愿意支付的手续费是多少,如果你的手续费太低,那下场就会是你要自己跑完 transfer 过程 — 等待七天。
另外一个模式是你和流动性提供者先在链下协议好手续费,然后再送 transfer 申请到 Rollup。但是因为现在是在两条不同 Rollup 上,表示交易不会是原子的:如果你在 Rollup A 上送出了你和流动性提供者协议好的 transfer,结果流动性提供者没有在 Rollup B 上依约垫付给你,你必须要有管道能够在 Rollup B 上证明你在 Rollup A 上和该流动性提供者的 transfer 协议。而这个管道会需要 Rollup B 能够读取到 Rollup A 的交易(因为这样才能以去中心化的方式来证明),这并非做不到,但是考量到其复杂度和带来的效益,可能不太值得。
所以目前这个模式会是比较可行的,但也表示计算手续费这边要小心,避免没有人来垫付,导致使用者要等七天。
另外不同 Rollup 上收取 gas 费用的方式不一样,也是 Hop protocol 团队在设计估算手续费功能需要注意的地方。
Happy case 以外情况的 demo?
目前 Hop protocol 团队提供的 demo 只有 happy case 的 demo,没有 demo 发生没人垫付的情况或是流动性提供者平常在不同 Rollup 间搬运、平衡资产的过程。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。