跨链,让加密资产能够在不同的区块链之间自由流动,在多链世界中已然成为了一种刚需。
然而,区块链世界苦跨链桥久矣。一方面,是因为目前市面上的主流跨链桥往往采用多签的方式,需要较高的信任假设,信任跨链桥的几个多签方不会作恶、不会监守自盗,而信任假设相对较弱的跨链方案由于用户体验不佳(比如状态证明桥会很慢)或者实现难度大,并没有得到大规模采用。另一方面,在区块链黑暗森林世界里,跨链桥一直都是黑客们的猛烈攻击目标,而每次跨链桥出事,都会带来巨额损失:
-
2021 年 7 月跨链资产桥项目 ChainSwap 遭到攻击,损失了近 800 万美元的资产;
-
2022 年 1 月,Qubit Finance 跨链桥遭到黑客攻击,损失超过 8000 万美元;
-
2022 年 2 月,Wormhole 被黑客攻击,损失超过 3.2 亿美元;
-
2022 年 8 月,跨链桥 Nomad 被黑客窃取了超过 1.9 亿美元的加密资产。
比特币一层资产发行协议 RGB++ 自带 Leap 功能,可以实现 RGB++ 资产在 L1(比特币区块链)和 L2(CKB 区块链或者其他基于 UTXO Stack 的链)之间自由转移,而且这种无桥跨链转移无需许可、无需信任假设、安全且高效,是跨链的一种新范式。
本文将用通俗易懂的语言介绍 Leap 无桥跨链的基本原理、优势、教程和注意事项。
Leap:无需跨链桥的跨链
在介绍 Leap 无桥跨链之前,有必要先介绍一下 RGB++ 资产的铸造原理和所有权转移。
通过 RGB++ 协议在比特币区块链上发行加密资产,本质上是对比特币 UTXO 进行关联或者说在比特币链上写入一个承诺(Commitment)。举个例子,Alice 通过 RGB++ 协议发行了数量为 100 枚的 Test 代币,在比特币区块链上表现为 Alice 控制的比特币地址中收到了一个大小为 546 聪的 UTXO,这个 UTXO 关联着 100 枚的 Test 代币,同时在 CKB 区块链上生成了一个 Cell(Cell 本质上是更智能的 UTXO),这个 Cell 包含了对 RGB++ 资产的解释(即 100 枚 Test 代币)及其解锁条件——当且仅当 Alice 的那个 546 聪的 UTXO 被花费了,这个 Cell 才会被同步花费掉。
当 Alice 把其中的 60 枚 Test 代币转给 Bob,在比特币区块链上表现为 Alice 花费了原先关联着 100 枚 Test 代币的那个 UTXO,收到了一个新的大小依然为 546 聪的 UTXO,这个新的 UTXO 关联着 40 枚 Test 代币,而 Bob 的地址中则收到了一个关联着 60 枚 Test 代币的 UTXO。在 CKB 区块链上,原先的 Cell 被花费了,生成了 2 个新的 Cell,一个 Cell 包含了 40 枚 Test 代币的解释,另一个包含了 60 枚 Test 代币的解释,它们的花费条件都是对应的比特币 UTXO 被花费了才会同步花费掉。
从上面的例子中我们可以看到,RGB++ 资产的所有权跟比特币的 UTXO 绑定,谁能转移(花费)这个 UTXO,就能解锁对应的 RGB++ 资产,因为包含 RGB++ 资产解释的 Cell 设置的解锁条件就是比特币上的 UTXO 的转移。
如果我们在比特币区块链上构造一笔 RGB++ 交易的时候,设置它的解锁条件不是比特币的 UTXO,而是其他链的 UTXO,这笔资产就 Leap 到了其他链上,因为这笔资产下一次花费时需要由其他链的 UTXO 去解锁。这就是 Leap 无桥跨链的基本原理,整个过程完全去中心化,没有用到任何的跨链桥,也没有多签地址,无需任何信任假设。
当然,在进行 Leap 操作时还有一些细节的知识点,比如为了防止区块重组,需要通过多等几个区块确认来规避。关于 RGB++ 协议和 Leap 的更多知识点,欢迎观看 Cipher 的公开课《BTC 一层资产协议概述》:
https://youtu.be/mgUxYU5tcJM?si=VWWraXbHu3DMAL64&t=3725
Leap 无桥跨链的优势
从上文的基本原理介绍中我们可以看到,Leap 没有用到任何的跨链桥,也没有多签地址,它是真正意义上的无需许可、无需信任假设、安全且高效的跨链。
1、无需许可
假设我今天新部署了一个 BRC20 token,我去找多签跨链桥的项目方或者运营方,希望能够跨链到 L2,大概率会被拒绝。多签跨链桥往往只会支持几个头部资产的质押和生成相应的包装资产,不会去支持那些交易量少或者不够知名的资产,这是因为部署合约、设置多签、监控多签地址的资产变化、生成包装资产等等都需要大量的人力物力投入。
而 RGB++ 协议自带的 Leap 无桥跨链功能,不存在这个问题,是完全无需许可的。如果你今天通过 RGB++ 协议在比特币区块链上发行了一个 meme coin,可以随时 Leap 到 CKB 区块链上并且再 Leap 回去,来去自由。
2、无需信任假设
传统的多签跨链桥,用户把加密资产质押或者锁到多签地址中,用户需要信任跨链桥的运营方不会作恶、不会监守自盗、不会跑路,因为资产锁进去的那一刻就脱离了用户自己的控制。
RGB++ 协议的 Leap 跨链,因为没有用到任何的跨链桥,也没有用到多签地址,没有中间商,自然也就不需要信任假设。
3、安全
多签跨链桥一直都是黑客们的猛烈攻击目标,因为大家的资产都锁在一个多签地址中,只要攻击成功,就能从中窃取大量的资产,这也是为什么每次跨链桥出事,都会造成几百万、几千万甚至上亿美元的巨额损失。
RGB++ 协议的 Leap 无桥跨链,资产是点对点地跨过去,且资产永远由用户自己的私钥控制,在安全性上要高出很多。
4、高效
RGB++ 协议的 Leap 无桥跨链,为了防止区块重组,需要通过多等几个区块确认来规避,通常需要一个小时多一点的时间(取决于出块速度和网络拥堵情况,尤其是比特币网络)。对于用户而言,由于跨链并不是非常高频的操作,所以这个时间虽然比多签跨链桥要慢一些,但在可接受范围之内,尤其是考虑到 Leap 跨链更加安全、无需信任假设等优点。
5、其他优点
RGB++ 协议的 Leap 无桥跨链,不仅支持 fungible token,也支持 non-fungible token(称为 DOBs,点此阅读 Spore DOB 的更多介绍)。
Leap 无桥跨链的教程
目前,JoyID 钱包已经全面支持 RGB++ 资产(Coins 和 DOBs)在 L1 和 L2 之间的来回 Leap 跨链。以下是通过 JoyID 钱包进 Leap 无桥跨链的教程:
1、从 L1 到 L2(BTC → CKB)
登录 JoyID 钱包后,切换至 Bitcoin 网络,点击「Leap」按钮,选择你要 Leap 的 Coins 或者 DOBs,在发送界面选择「Bitcoin L2(CKB)」并输入 CKB 地址、数量,选择矿工费,最后点击「Send」并进行签名确认。
2、从 L2 到 L1(CKB → BTC)
从 L2 到 L1 的 Leap 一共分为两个阶段:Preparing阶段和 Complete 阶段,分别需要签署 BTC 交易和 CKB 交易。
Preparing 阶段:
- 登录 JoyID 钱包并切换至 Nervos CKB 网络;
- 点击「Leap」按钮;
- 输入比特币地址;
- 选择您想要 Leap 回 L1 的 RGB++ 资产并输入数量;
- 选择 FeeRate(确保您的比特币钱包中有足够的 UTXO 余额支付费用);
- 点击「Leap To Bitcoin L1」按钮;
- 点击「Prepare」按钮;
- 进行签名以确认交易;
- 可以通过点击「Track Status」或在跳转的「Ongoing Leaps」页面中跟踪交易状态。
Complete 阶段:
- 等待比特币主网确认交易,确认后点击「Complete」;
- 核对 leap 信息,再次点击「Complete」并等待 CKB 主网确认,您可以在 Settings-Activity-Leap 中跟踪状态;
- CKB 主网确认后,切换到您的比特币钱包查看您的 RGB++ 资产。
注意事项
通过 RGB++ 协议发行的资产,它 “寄生” 或者说 “绑定” 在比特币的 UTXO 中,更具体地说,是绑定在大小为 546 聪的 UTXO 中。如果这个 UTXO 被花费了,那对应的 RGB++ 资产也会被花费掉。
那怎么避免绑定了 RGB++ 资产的 UTXO 被用户误花费掉呢?JoyID 钱包设置了一个阈值,目前这个阈值是 1200 聪,低于这个阈值的 UTXO 不会被当作矿工费或者是普通的 BTC 转账而花费掉。当然,不同的钱包设置的阈值不一样,因此为了避免被误花费掉,建议大家使用 JoyID 钱包来存储和收发 RGB++ 资产。
另外,目前并不建议大家使用社区成员做的一些工具来将资产从 CKB 链上 Leap 到比特币链上,这是因为有些工具在绑定比特币 UTXO 的时候并没有遵循 RGB++ 的标准 —— 绑定到 546 聪的 UTXO 上,如果他们把资产绑定到了超过 1200 聪的 UTXO 上,那用户在使用 JoyID 钱包发送 BTC 交易时,钱包就很容易会把这个 UTXO 当作矿工费或者是普通的 UTXO 花费掉。所以,大家在进行 Leap 操作的时候,最好也选择使用 JoyID 钱包。