本篇是 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
Cyber Capital创始人:建议以太坊通过Roll-ups或执行分片回到Layer 1扩展:金色财经报道,Cyber Capital创始人Justin Bons在社交媒体上称,以太坊正面临着一个严重的困境,激励机制的大规模错位是造成深度腐败的原因。在Layer 2向这个生态系统倾注资金的推动下,盖过了Layer 1的资金。几百万和几百亿之间的差异是ETH放弃Layer 1扩容的原因,这是很自然的,我们应该期待任何系统性的规模。
问题是,在这种情况下,它导致ETH走错了路,这就是为什么它是一个反常的激励措施,开发者、影响者和领导者在短期内通过遵循Layer 2叙事赚取更多收入,虽然Layer 2通过支持限制Layer 1容量的叙述来赚取更多,但支持通过Layer 2专门扩展这在以太坊网络的长期成功与Layer 2的短期利润之间造成了明显的利益冲突。
我建议以太坊通过Roll-ups或执行分片回到Layer 1扩展,我还应该提到ZKEVM,它仍然受到ETH开发者的关注,并且可以扩展到Layer 1。然而,它的发展太过遥远,目前还不被认为是可行的。我们需要的是链上治理,将资金从区块奖励引导到去中心化的金库。这将创建一个Layer 1倾向的资金来源,能够与对立的利益竞争,这种方法已经被XTZ、DASH和DCR等老牌公链所检验。[2023/5/28 9:46:27]
而 Hop protocol 就像是前篇介绍里 fast withdrawl 的例子一样,只是现在流动性提供者是在 Rollup B 上去垫付而不是在 L1。以下会以 fast transfer 来指跨 Rollup 资产转移,以便和 fast withdrawl 做出区分。
Web3智能合约钱包Unipass上线Scrollpre-alpha测试网:12月19日消息,Web3智能合约钱包Unipass现已部署在以太坊扩容项目Scrollpre-alpha测试网上。Unipass是一个建立在MPC密钥管理之上的智能合约钱包,用户可以使用电子邮件和密码注册,并且支持on-chain Email社交恢复,帮助用户方便地管理他们的私钥,而无需使用Web2用户不熟悉且容易出错的助记词等工具。[2022/12/19 21:53:37]
从高维来看 Hop protocol 就跟 fast withdrawl 一样简单,流动性提供者承担资产锁住七天的风险及机会成本,收取手续费;使用者支付手续费,换取能快速把资产转移到另一个 Rollup 的服务。
注:Hop protocol 里把流动性提供者称作 Bonder。
而如同 fast withdrawl 例子,如果没有人来垫付你的 fast transfer,你就必须自己走完正常的路线:回到 L1 再进到 Rollup B。
Discord宣布Linked Roles功能已支持Solana:12月13日消息,Discord宣布Linked Roles功能支持Solana区块链,目前已实现Solana链上钱包集成,这意味着用户可以通过区块链验证身份并解锁更多角色功能,集成也将会使用钱包元数据,比如Token持有量、交易量、以及钱包使用年限等,Discord版主可以使用这些指标来分配服务器(server)内的用户角色。(inferse)[2022/12/13 21:42:09]
注:Rollup A 和 Rollup B 都支援 Rollup Bridge 的功能也是必要条件,否则无法安全可信地把转账讯息从 A relay 到 B 上。
不过实现 Hop protocol 其实没有这么简单。首先,每一个 Rollup 的提款方式、挑战期以及存款时间都不一样。每一个 Rollup 都需要 Hop protocol 团队去对接。
注:Hop protocol 也可以接上 ZK Rollup,ZK 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]
而整个 Hop protocol 的安全性会取决于其所接入的 Rollup 中安全性最低的那个。如果某一个 Rollup(或甚至 Rollup 上面的某一个代币合约)出现漏洞,导致攻击者可以任意凭空印钞,那攻击者就可以马上通过 Hop protocol 来换成其他 Rollup 上的资产。
其实就和跨链桥一样,你的防守范围从一条链变成了多条链上的无数个资产,其安全性不容轻忽。
社区代币平台 TryRoll 疑似被攻击,基于其发行的代币在 Uniswap 被大量抛售:社区代币平台 TryRoll 疑似被攻击,基于其发行的代币在 Uniswap 被大量抛售。受影响的代币包括 WHALE、KARMA、FWB、CHERRY 等。其中,数字艺术品收藏家 WhaleShark 发行的社区代币 WHALE 在 Uniswap 上发生一笔 21.7 万枚代币的卖单,价格最高跌幅超 80%。[2021/3/14 18:44:04]
接下来会介绍一些 Hop protocol 的设计细节
批量处理
如果每一笔 transfer 背后对应的 Rollup A -> L1 -> Rollup B 步骤,流动性提供者都要一笔一笔跑过一次,那会耗费很多 gas。所以 Hop protocol 提供批量处理的功能,流动性提供者可以等待一段时间,收集垫付完的 transfer,再把它们一并处理。
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 间搬运、平衡资产的过程。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。