# RGB++：比特币 L2 资产的新思路

> 原文：[https://medium.com/@NervosCN/rgb-%E6%AF%94%E7%89%B9%E5%B8%81-l2-%E8%B5%84%E4%BA%A7%E7%9A%84%E6%96%B0%E6%80%9D%E8%B7%AF-6e2a1ef1fb32](https://medium.com/@NervosCN/rgb-%E6%AF%94%E7%89%B9%E5%B8%81-l2-%E8%B5%84%E4%BA%A7%E7%9A%84%E6%96%B0%E6%80%9D%E8%B7%AF-6e2a1ef1fb32)

<figure><img src="https://miro.medium.com/v2/resize:fit:700/1*iJ5RdjKzRwca6dKmE3u-YA.png" alt="" height="394" width="700"><figcaption><p><em>本文转载自 Foresight News，作者 Trustless Labs，原文链接：</em> <a href="https://foresightnews.pro/article/detail/54503"><em>https://foresightnews.pro/article/detail/54503</em></a></p></figcaption></figure>

比特币 Layer 2 赛道的热度不减，在众多 L2 项目中，CKB 独树一帜，一方面因为团队的出身是知名公链 Nervos CKB，一直深耕 PoW 机制；另一方面，在宣布定位调整成 BTC 二层网络后，团队提出了一个开创性的方案 [**RGB++**](http://mp.weixin.qq.com/s?__biz=MzkwODI2ODg4Mw%3D%3D\&mid=2247490956\&idx=1\&sn=94b3daf071ff89766937cec8ef991aa6\&chksm=c0cdd9b0f7ba50a6ae0af6e5d1ba7e43812770c462d07af8a1aec602a20eb0ec3da31de6a713\&scene=21#wechat_redirect)，用 CKB 链上的 Cell，“同构绑定（isomorphic binding）” 比特币原链的 UTXO。市场对于 CKB 的反应也非常热烈。

2 月 22 日，Trustless Labs 邀请 RGB++ 作者和 CKB 联创 Cipher 以及生态负责人 Baiyu，分享了他们对比特币 L2 的理解，RGB++ 的机制，RGB++ 的资产和 CKB 生态建设思路。

以下为 twitter space 内容的文字整理：

## 1. Nervos CKB 是一条很久的 PoW 公链，为什么一直坚持 PoW 没有转型 PoS 链？转型 BTCKB 的思路是如何产生的？ <a href="#fe78" id="fe78"></a>

Nervos CKB 选择坚持 PoW 而不转型为 PoS 链，这一决策根植于我们对技术和市场深刻的理解。我们认为 **PoW（工作量证明）机制带来的去中心化和安全性是无可替代的。**&#x6B64;外，我们的技术选择 — — 包括 UTXO 模型和对 RISC-V 架构的采用 — — 虽然与当时主流趋势背道而驰，却是基于对长期可持续性和技术优势的考虑。

从 2018 年项目开始到 2019 年上线，我们经历了加密货币市场的多次波动，但始终没有改变我们的方向。当时，智能合约和 PoS 机制被认为是未来的方向，而 PoW 则被视为过时的技术。尽管如此，我们对 PoW 的坚持不仅仅是出于对技术的偏好，还因为我们相信 **UTXO 模型和 PoW 机制能够提供独特的安全性和去中心化的特性，这是其他技术方案难以替代的。**

关于转型 BTCKB 的思路，这实际上源自于我们对市场叙事的深刻洞察。过去几年，尽管我们的叙事似乎被 PoS 和账户模型的叙事所压制，但从去年开始，随着比特币在 Layer 1 上的扩展和对于 UTXO 模型的新兴应用的出现，我们看到了一个机会。这些变化不仅扩大了比特币的使用范围，而且增强了用户对 UTXO 和 PoW 的理解和接受度。此外，随着对于 PoW 的环境影响的重新评估和链外计算链上验证的模式越来越受到认可，我们认为现在是推出基于 PoW UTXO 模型的新协议，如 RGB++ 的最佳时机。

我相信，随着比特币的文艺复兴和市场对于 PoW 和 UTXO 模型价值的重新认识，Nervos CKB 将处于加密货币发展的前沿。我们对于 PoW 的坚持不是没有原因的，而是基于对技术真正价值的理解和对未来趋势的深刻洞察。

## 2. Nervos CKB 团队对 BTC 的扩容和 BTC L2 的理解是怎样的，为什么会选择 RGB 协议？ <a href="#bb5a" id="bb5a"></a>

关于 Nervos CKB 团队对 BTC 的扩容和 BTC L2 的理解，以及为什么选择 RGB 协议，我的看法是基于我们团队的特性和过往的技术积累。我们曾深入讨论是否应该追求 TVL，或者选择 EVM 兼容的 Layer 2 路径。经过慎重考虑，我们认为坚持技术派的路线，即使这意味着走一条不同于主流的道路，也是我们的优势。我们的技术选择和策略，特别是选择 RGB 协议，是基于我们对比特币社区保守态度的理解以及对技术创新的追求。

我们深知，与比特币和以太坊直接竞争是一条艰难的路。过去，我们尝试将 CKB 定位为一个类似于比特币和以太坊的 Layer 1 公链，旨在成为一个价值存储平台。但这样的定位让我们处于一个尴尬的境地 — — 既不完全符合比特币社区的保守标准，又与以太坊的发展方向有所冲突。这种独特的定位使我们在两大社区中都显得格格不入。

面对这样的挑战，我们决定拥抱我们的特质，坚持原始的技术愿景。这包括对 UTXO 模型的深入探索和创新，以及对比特币二层解决方案的研究。我们相信，**通过专注于我们的技术优势和创新，可以找到一个既符合比特币精神又能为社区带来价值的路径。**

转型的过程中，我们意识到市场对 UTXO 模型的接受度逐渐提高，这为我们的转型提供了有利的时机。我们决定清晰地表达 CKB 的定位，即作为比特币的二层解决方案，这不仅符合我们的技术理念，也为比特币生态系统提供了新的增长机会。总的来说，我们的决策基于对技术本质的深刻理解和对市场趋势的敏锐洞察。我们相信，通过专注于我们的核心优势并坚持技术创新，可以在加密货币的世界中找到我们独特的位置。

## 3. 在技术选择层面，BTCKB 选择了 RGB 协议并且提出了 RGB++ 协议，跟大家简单解释下这个方案（DA 在哪一层、客户端验证、是否有开源索引、什么 VM） ？ <a href="#b1c2" id="b1c2"></a>

**白鱼**：我会首先介绍我们当时的大背景以及决策过程。我们认为**比特币的二层竞争关键在于一层，而一层竞争的核心则在于新协议。**&#x6211;们将新协议分为两类：一种是使用了 UTXO 特性的资产，另一种则没有。在这个基础上，我们选择了具有 UTXO 特性的协议，如 atomical 、RGB 和 taproot assets 等。

特别地，我们决定选择 RGB 协议，因为 Cipher 个人对 RGB 有浓厚的兴趣，并且与阿剑老师一起进行了深入研究。我们提出了一种同构绑定的方式来推出 RGB++。未来，CKB 的核心方向将是推进与 RGB++ 相关的技术，但需要明确的是，RGB++ 和 RGB 是两个不同的概念。RGB 主要由 LNP/BP 协会、Maxim 博士，以及最初由 Peter 提出，他们使用了一次性密封条的概念进行扩展。而 RGB++ 则更多地介绍了其他 UTXO 链可以作为 RGB++ 客户端的可能性，其最核心的贡献在于同构绑定的概念。从 CKB 的立场来看，我们计划未来将兼容更多的协议。

**Cipher**：在讨论技术选择层面时，我首先解释下 RGB 协议是什么。RGB 实际上是一个利用比特币的一次性密封和客户端验证技术，通过比特币的 UTXO 模型，在链外绑定 RGB 交易状态，从而实现了一个在比特币 Layer 1 上的资产协议。这种设计允许验证一笔交易时，只需关注与该 UTXO 相关的交易路径，而不需要像其他模型那样，检查所有交易来确认余额或状态。

对于数据可用性（DA），我们在以太坊生态中经常讨论其在 Layer 1 或 Layer 2 的存放位置及其对安全性的影响。但在比特币生态中，这个概念与以太坊有所不同，特别是对于像 RGB 这样利用 UTXO 特性的协议。在 RGB 协议中，只需验证与用户有关的数据即可，而且这些数据理论上不需要存放在某个特定的 DA 层，因为交易双方可以直接交换必要的信息。

RGB++ 协议是对 RGB 的一个扩展。RGB 本身需要通过 P2P 网络交换交易历史和数据，这包括使用新的虚拟机和定义交互逻辑等，使得链外逻辑变得复杂，开发缓慢。**RGB++ 旨在通过同构绑定，将 RGB 协议中的所有 “智能” 组件，如 P2P 网络、虚拟机、智能合约等，移到链上，具体是将这些功能放到 CKB 上。**&#x43;KB 上的每个 UTXO 的状态转移都受到 CKB 智能合约的约束，这样就可以在 CKB 上验证和运行 RGB++ 合约资产和逻辑，同时解决了交互、智能合约运行和证明提供等问题。CKB 使用的是 RISC-V 的虚拟机，支持图灵完备的智能合约，使得用户可以在不牺牲安全性的情况下，直接在 CKB 上查看或验证资产状态，或者在有需要时，在客户端进行验证。

**技术实现**：通过 RGB++ 协议，我们首先确保了与 RGB 所有操作的兼容性。我们解决了链外客户端进展缓慢的问题，通过使用一种基于工作量证明（PoW）的 UTXO 供链策略来代替。此外，我们实现了一种机制，能够无缝地将比特币上的交易迁移到 CKB 上执行，利用 CKB 提供的高性能执行环境，之后再将执行结果迁回比特币链。

**性能优化**：RGB++ 协议的一个重要特点是允许交易 jump 到第二层（Layer 2），例如从比特币链跳到 CKB 链上。这意味着，交易可以在 CKB 上执行多次（如 100 次、1000 次），享受低成本和高性能的好处，然后再 jump 回比特币链。这种方法显著提高了交易的效率和性能，同时绕开了比特币本身的性能限制。

**安全性考量**：在实现 jump 过程中，我们特别注意到安全性问题。这个过程不依赖于任何信任的跨链桥或多签机制，而是基于两个 UTXO 之间的直接绑定。我们依据工作量证明（PoW）的安全性标准，认为比特币链上的交易在 6 个区块后不可能被逆转，而在 CKB 上，我们通过等价的计算公式，大约需要 24 个区块来达到相同的安全性保证。这种方法确保了资产在两个层次之间 jump 或迁移的安全性。

**创新与优化**：我们的方法与以太坊的 Layer 2 逻辑或其他跨链桥的 Layer 2 逻辑有所不同，代表了我们在区块链技术上的创新和优化。通过 RGB++ 协议，我们不仅解决了性能和成本问题，还提高了整个系统的安全性和可靠性。

总之，通过引入 RGB++ 协议，我们在保持与原有 RGB 协议兼容的同时，实现了对性能的显著提升和对安全性的严格保障。这些优化和创新展示了我们对于区块链技术发展的深入理解和对未来方向的探索。

## 4. RGB 协议的智能合约开发比较难，这也是 RGB 进展缓慢的主要原因之一，RGB++ 也会采用和 RGB 相同的智能合约吗？针对开发者有什么技术栈和支持？ <a href="#id-40c5" id="id-40c5"></a>

首先，关于 RGB++ 与原始 RGB 协议的兼容性，我们的开发过程将分为两步。第一步，我们不会完全兼容 RGB 原有的协议，主要是因为 RGB 协议本身还在不断变化且未完全完善。第二步，我们利用同构绑定技术，让每笔 RGB 或 RGB++ 的交易能够与 CKB 的 UTXO（我们称之为 cell）绑定。这意味着 RGB++ 协议层的智能合约和状态将等效于 CKB 上的智能合约和状态。我们的工具链和支持基于 CKB 过去五年的积累，尽管开发相对复杂。

其次，对比以太坊的账户模型与 CKB 的 UTXO 模型，在智能合约开发中的直觉差异和实现难度。以太坊的账户模型更符合程序员直觉，简单调用函数即可得到结果。然而，账户模型下实现基于 UTXO 的业务逻辑（如 RGB 或 RGB++）极为困难，原因在于账户模型下的交易结果不确定性，这影响了同构绑定的可行性。

尽管在 UTXO 模型下编程较为困难，但我们认为这是扩展比特币协议逻辑的唯一方案。我们过去四五年积累的开发工具和产品认知，包括使用 Rust、C、Lua 和 JavaScript 编写智能合约的工具链和基础设计，为开发者提供了丰富的支持。我们尝试在 UTXO 模型下实现类似 Uniswap 的 AMM，但遇到了重大挑战，最终项目失败，说明了在 UTXO 架构下创新的难度。

关于用户体验，我们计划在 3 月底推出 RGB++ 的可替代和不可替代代币以及相应的 DEX，这将基于 CKB。用户体验设计旨在简化，使用户能够轻松转移资产，而无需繁琐的铭刻步骤。整个过程自动化地处理同构交易，对用户来说是透明的，旨在提供无缝的跨链交互体验。

在技术选择上，我们首先保证了与 RGB 协议的兼容性，同时引入了一种机制，允许交易从比特币链无缝迁移到 CKB 上执行，享受更高速的执行效率，之后再迁移回比特币链。这一过程我们称之为 “jump”，它允许资产在两个链之间安全地跳转，无需依赖任何信任的跨链桥或多签机制，只依靠 UTXO 之间的绑定。这种设计基于对比特币和 CKB 区块确认时间的信任差异，通过适当长度的区块确认来确保资产迁移的安全性。

对于 RGB 协议智能合约开发的挑战，我们通过提供在 CKB 上更丰富的交易所经验和开发支持来应对。我们将推出一种 Layer 2 的 DEX 解决方案，优化用户体验，使其无需关心资产是处于 Layer 1 还是 Layer 2。这个 DEX 允许用户的资产从比特币链上架到 DEX 上，过程中资产的所有权从比特币的 UTXO 转移到 CKB 地址，确保了转移的安全性和透明性。我们使用的智能合约代码是开源的，降低了用户对安全性的担忧。此外，我们确保了在资产跳转（jump）过程中的双重支付保护，以及在 Layer 2 上的流畅交易体验，使得用户无需担心资产的具体位置，从而提供了一种几乎无缝的交易体验。

## 5. 既然在比特币上转账之后，在 CKB 上会发生一个同步的一个类似的一个交易，那么用户在使用两条链的时候，包括在这些互相划转资产这种情况下， gas 怎么计算？ <a href="#a14d" id="a14d"></a>

首先，当在比特币和 CKB 上进行交易时，确实会在两个链上各执行一次交易。CKB 的交易不仅需要网络使用费（gas 费），还需要状态费用，用于存储交易状态（如持有的 CKB 数量）。这个状态费通常需要 100 多个 CKB，这就引出了谁来承担这些费用的问题，以及如何确保不影响用户体验的问题。

解决方案是，在执行比特币交易时，可以在比特币交易中添加一个额外的 output，这个 output 是一小部分比特币（成本大概是几美元），指向一个称为 paymaster 的代付者。这个代付者使用这些比特币在 CKB 上构造并发起一个对应的交易，代替用户支付 CKB 链上的费用。

这个过程中有个关键点是，CKB 利用了一项特性，允许通过比特币交易内容在 CKB 上证明该交易确实发生，而不需要用户在 CKB 链上再次进行签名。这意味着，任何人（如 relayer 或 paymaster）都可以代替用户在 CKB 链上发起交易并支付相关费用。

最终，通过这种机制，用户在两条链之间互相划转资产时，不需要直接担心 gas 费用的计算和支付，因为这些都通过在比特币交易中额外添加的 output 来间接处理，由 paymaster 代付，从而提供了一种无缝且对用户友好的体验。

## 6. 市面上的 BTC L2 已经呈爆发趋势，比如 BounceBit、Merlin Chain、B² 都已有很客观的 TVL；RGB++ 会考虑如何切入市场？RGB++ 上会有原生的资产发行协议么？ <a href="#f961" id="f961"></a>

在回应市场上比特币第二层 (L2) 解决方案的爆发趋势，以及 RGB++ 如何切入这一市场的问题时，我将从两个主要方面进行阐述：一是关于 RGB++ 作为一个发行协议的功能和特性，二是关于我们在 CKB 二层链上的策略和计划。

首先，RGB++ 的核心功能是作为一个 NFT 和 FT（非同质化代币和同质化代币）的发行协议。这意味着，RGB++ 可以支持 NFT 和 FT 的发行，其体验类似于在比特币主网上进行交易，但可能面临较高的 gas 费用和较慢的交易速度。然而，当涉及到这些资产的交易时，可以直接利用 CKB 的 DEX 进行，这一点上，RGB++ 和 CKB 上的资产遵循同一标准，例如我们的 FT 标准 xUDT，类似于 ERC20。我们还有 NFT 的标准，即 Spore NFT，这些标准在主网上已经得到应用。

其次，关于 CKB 二层链上的策略，我们专注于提供一个顺畅的用户体验，包括原生资产的发行和跨链资产的支持。比特币和以太坊资产可以通过桥接技术转移到 CKB 上，我们正在与大型机构合作以确保这一过程的安全和可靠性。此外，我们强调智能合约平台的重要性，RGB++ 的资产一旦发行，便可以立即利用这一平台进行各种去中心化应用（dApp）开发，如定义、质押和挖矿活动。

在 CKB 二层上的三类资产：FT、NFT 和 CKB 原生铭文资产。每种类型的资产都有其特定的应用和交易机制，我们提供了相应的技术和市场解决方案来支持它们。例如，我们通过统一的标准和交易市场来支持 NFT 资产的流通，并且我们正在开发特定的平台，如欧米伽交易市场，以支持 CKB 原生铭文资产的发行和交易。

综上所述，RGB++ 的市场切入策略既包括了利用其作为一个强大的 NFT 和 FT 发行协议的能力，也包括了在 CKB 二层链上推出创新和原生资产的计划。我们致力于提供一个完善的智能合约平台，支持资产跨链转移，并通过与行业合作伙伴合作，确保技术的安全性和实用性。

## 7. RGB++ 资产与 RGB20、RGB721 有什么不同？兼容比特币原链上市场份额比较高的 BRC20、ARC20 资产吗？ <a href="#id-6809" id="id-6809"></a>

比特币上的资产可以大致区分为两大类，三小类。首先，比特币本身是一类独立的资产。其次，所有需要链下验证的资产，或所谓的 “染色资产”，构成了第二大类。在这第二大类中，我进一步细分为两类：一类是能够利用 UTXO 特性并且可以在闪电网络上复用的资产，这类资产通过类似于 RGB 的方案，通过同构映射和绑定，可以迁移到 CKB 上使用。这意味着，像 atomical、taproot assets 这样的资产，虽然它们仍然发行于比特币链上，但它们可以通过 RGB++ 的方案在 CKB 上使用，不需要对这一层的协议资产进行太多修改。

第二类资产如 BRC20 这类使用 UTXO 特性较少的资产，它们难以通过同构绑定的方式迁移到 CKB。对这类资产，我们的处理方法与市面上其他链相似，即通过创建跨链桥。这个桥会在比特币链上锁定 BRC20 资产，然后在 CKB 上映射发行一个等价的 FT（Fungible Token）或 NFT（Non-Fungible Token），允许用户在 CKB 上进行交易。这种方法适用于那些不能直接利用 UTXO 特性的协议资产，如 ORDI 这样的 BRC20 资产。总之，RGB++ 旨在通过提供灵活的同构绑定定机制，兼容并优化不同类型的资产在比特币和 CKB 之间的使用和迁移。

## 8. RGB++ 未来对一些这种已经存在的、有比较多的用户和社区的这种资产会做哪些支持？ <a href="#id-6c79" id="id-6c79"></a>

我们正在规划对已存在且用户基础广泛的资产的支持。主要考虑了两种途径：

**1. 铭文桥支持：**&#x6211;们打算通过铭文桥来实现对 BRC 20 或其他资产的支持，只要有合适的 indexer 和桥的运行方。我们正寻找合作伙伴来构建这些铭文跨链桥。BTC 桥的问题我们很快就能解决，而对于铭文桥，我们正在努力中。这需要生态中的钱包提供支持，包括插件钱包，这是目前 CKB 生态中缺乏的部分。我们期待未来能有更多硬件钱包和插件钱包的支持，这些钱包将兼容主要的协议，从而支持整个生态的发展。

**2. 非铭文桥途径：**&#x6211;们首先关注的是 RGB++ 的实施。完成 RGB++ 后，我们可能会考虑支持其他的 UTXO 协议，看看哪种方法更快、更有效。我们的目标是先实施 RGB++。此外，我们还在考虑与闪电网络团队合作，尽管他们主要聚焦于支付和有限的脚本功能，我们认为将这些功能带到 CKB 并为其提供智能合约层面的赋能是最合适的方式。

总体而言，我们的策略是灵活和激进的，旨在通过各种技术途径和合作伙伴关系，逐步推进以支持广泛的用户和社区资产。我们有信心这些工作是可行的，并且最终的实施权在我们自己手中。
