# BTC资产复兴下一个叙事，为什么要关注RGB协议？

By [web btc eth](https://paragraph.com/@anagranwhale) · 2023-05-12

---

[Subscribe](null)

Ordinals 和 BRC-20 成功刮起“在比特币上发行资产”的风潮，但显然它可能并不是最后一个。

如果比特币上的资产发行成为一种新叙事，那么在最大程度减轻比特币主网负担的前提下，我们是否会有更加可行和友好的方式？

因此，最近一个沉寂多年的协议又再次引起了讨论——**“RGB”，一种能在比特币网络上创建和管理数字资产的协议，经常同闪电网络等比特币二层的概念一起出现**。

RGB协议究竟是什么？它是否能让BTC资产发行真正实现文艺复兴？

在比特币网络上发行资产这件事，实际上很早就有人动了念头。

RGB 协议的起源可以追溯到 2018 年，当时 Giacomo Zucco、Peter Todd 和 Alekos Filini 等比特币社区成员开始探讨一种在比特币网络上创建和管理资产的新方法。他们的目标是设计一个**既能利用比特币的安全性和去中心化特性，又能支持更复杂的功能（如资产发行和智能合约）的协议。**

\*\* \*\*

为了实现这一目标，他们开始研究如何将资产和状态信息与比特币的 UTXO 模型相结合，并提出了一种名为 RGB 的新协议。其核心思想是将**资产发行、所有权和状态更新通过客户端验证与比特币的 UTXO 模型结合**起来，而不是像现在的BRC-20这样依赖比特币网络的完整节点。

至于为什么叫”RGB“，你很容易联想到三原色中的红绿蓝。**实际上 RGB 协议一开始的研究方向是”染色币“，故用了与颜色相关的概念**。虽然目前 RGB 协议做的事情和染色币关系不大，但名字却保留了下来。

在其 Github 的目录中可以看到，RGB 的解释是为比特币和闪电网络提供可扩展的私人智能合约，为在比特币网络中发行资产创造了可能。

只是由于后来以太坊的崛起和比特币更多的被认为是价值储藏和币圈风向标，在比特币上发行资产创建合约的实践一直处于不温不火的状态。

直到最近 BRC-20 的火热，才又让比特币资产发行的老调重提。而比起前者直接在链上的铭文体系，RGB 更多的采用了与闪电网络有些类似的链下处理逻辑。

RGB 协议的实现其实并不难理解, 核心在于比特币本身的记账方式——**UTXO。**  

篇幅所限，笔者并不打算科普 UTXO 的概念，只简要对其做出一个定义：**不记录比特币交易的最终状态，而只是记录交易事件和过程。**

一个简单的例子：A 有 10 个 比特币，发给了B 5个，自己还剩5个。用 UTXO 简单的描述如下：

*   UTXO 1: A 有 10 个 BTC
    
*   UTXO 2: A 还剩 5 个 BTC
    
*   UTXO 3：B 多了 5 个 BTC
    

可以看出，UTXO 是在记录比特币链上的交易状态变化，交易完成后 A 还剩 5 个 BTC，和先前有 10 个 BTC 的\*\*状态不一样。\*\*相应的，UTXO1 实际上被拆成了 2 个新状态：找零给自己 5 个（UTXO2)，转给他人 5 个(UTXO3)。

了解这个原理后，RGB 实际上就是将链下的资产发行，与链上的 UTXO 变更做一个绑定：

既然 UTXO 可以对比特币在某个时间点的交易事件做出确认，那么我们就可以让这种交易事件的变化，来对应某个其他事情状态的改变；

比如我在另一个地方发行了一个资产，对应到比特币网络上的UTXO1。如果我将这个资产转移给了他人，那么可以将这个”转移“行为对应到比特币网络上的UTXO2....

因为 UTXO 本身是固定且被共识的，只要我能证明这种绑定是可靠的，那么比特币主网上 UTXO 的变更，所对应其他资产状态的变更也应该被共识。

更进一步而言，RGB协议的做法是在利用比特币主网UTXO的安全性，为其链下的资产发行或合约逻辑的安全性背书。

Matt 在 RGB 网络上发行了100个 $MATT 币给自己；

在比特币网络上，Matt **发币这件事**对应着他目前持有比特币的 UTXO A；

Matt 转了 50 个 $MATT 币给 Pam；

在比特币网络上，Matt **转币这件事**对应着一个新的 UTXO B，同时第 2 步中的 UTXO A 被销毁；

在比特币网络上，Pam **得币这件事**对应着一个新的 UTXO C，表示着 Pam 当前目前持有比特币 UTXO；

同理，当 Pam 转币时，他原有的 UTXO C 也会被销毁，进而形成一个新的 UTXO D....

以上是 RGB 实现的一个非常简单的技术细节。而实际上要保证RGB在链下发行的资产确实能和链上的 UTXO 对上，还需要配合一些其他的技术来实现。

\*\* \*\*

**Client-side validation（客户端验证）**：在 RGB 协议中，交易验证和数据存储在客户端（如钱包软件）完成，而不是在区块链上。这使得交易数据不在链上公开，从而提高了隐私性。客户端验证还可以降低链上数据存储需求，提高网络的可扩展性。

这也是 RGB 目前和 BRC20 的很大区别，由于交易数据在客户端而非链上，理论上可以大大降低目前的网络拥堵和高手续费的情况。

\*\* \*\*

**Single-Use-Seals（一次性印章）**：一种确保资产所有权不被篡改的技术。一次性印章是一个加密签名，用于锁定资产的状态。当资产被转移时，旧的印章被破坏，新的印章被创建。这样，任何试图篡改资产所有权的行为都会被发现，因为印章的状态不匹配。

这也对应着上一节所描述的 UTXO 的销毁和生成。旧印章代表着旧的 UTXO，新印章指向新的 UTXO。

\*\* \*\*

**Commitments（承诺）**：为了将资产与比特币网络关联起来，RGB 协议使用了一种称为承诺的技术。承诺是一种加密证明，证明某个资产与一个特定的比特币交易关联。承诺嵌入到比特币交易的输出（UTXO）中，这使得资产可以在比特币网络上进行转移。

\*\* \*\*

**Anchoring（锚定）**：为了将客户端验证和比特币网络连接起来，RGB 协议使用了锚定技术。锚定是将一次性印章和承诺结合在一起的过程。在资产被转移时，新的一次性印章、承诺和交易数据被锚定到比特币网络上，确保整个系统的安全性和一致性。

在此，笔者给出一个更加符合实际情况的 RGB 协议工作流程：

资产发行者在客户端创建一个新的资产，并生成一个一次性印章和承诺。

资产发行者将新资产锚定到比特币网络上，将承诺嵌入到比特币交易的输出（UTXO）中。

资产接收者通过查看承诺和验证一次性印章来验证资产的有效性。

资产转移时，旧的一次性印章被破坏，新的一次性印章、承诺和交易数据被锚定到比特币网络上。

通过这种方式，RGB 协议实现了在比特币网络上进行资产发行、转移和验证的功能，同时保持了隐私性、可扩展性和去中心化的特点。

同时，RGB 也能很好的同闪电网络结合。**在其官方文档中，RGB 描述自己是一个 L2 或者 L3**；当闪电网络存在时，RGB 可以当做 L3，在链下快速交换比特币和 RGB 代币，从而实现更高效的交易和资产管理。

---

*Originally published on [web btc eth](https://paragraph.com/@anagranwhale/btc-rgb)*
