原文来源:TechFlow Research
原文作者:0x min David
Ordinals 和 BRC-20 成功刮起“在比特币上发行资产”的风潮,但显然它可能并不是最后一个。
如果比特币上的资产发行成为一种新叙事,那么在最大程度减轻比特币主网负担的前提下,我们是否会有更加可行和友好的方式?
因此,最近一个沉寂多年的协议又再次引起了讨论——“RGB”,一种能在比特币网络上创建和管理数字资产的协议,经常同闪电网络等比特币二层的概念一起出现。
RGB 协议究竟是什么?它是否能让 BTC 资产发行真正实现文艺复兴?
古早的 RGB,关注 BTC 资产发行
在比特币网络上发行资产这件事,实际上很早就有人动了念头。
RGB 协议的起源可以追溯到 2018 年,当时 Giacomo Zucco、Peter Todd 和 Alekos Filini 等比特币社区成员开始探讨一种在比特币网络上创建和管理资产的新方法。他们的目标是设计一个既能利用比特币的安全性和去中心化特性,又能支持更复杂的功能(如资产发行和智能合约)的协议。
为了实现这一目标,他们开始研究如何将资产和状态信息与比特币的 UTXO 模型相结合,并提出了一种名为 RGB 的新协议。其核心思想是将资产发行、所有权和状态更新通过客户端验证与比特币的 UTXO 模型结合起来,而不是像现在的 BRC-20 这样依赖比特币网络的完整节点。
至于为什么叫”RGB“,你很容易联想到三原色中的红绿蓝。实际上 RGB 协议一开始的研究方向是”染色币“,故用了与颜色相关的概念。虽然目前 RGB 协议做的事情和染色币关系不大,但名字却保留了下来。
在其 Github 的目录中可以看到,RGB 的解释是为比特币和闪电网络提供可扩展的私人智能合约,为在比特币网络中发行资产创造了可能。
只是由于后来以太坊的崛起和比特币更多的被认为是价值储藏和币圈风向标,在比特币上发行资产创建合约的实践一直处于不温不火的状态。
直到最近 BRC-20 的火热,才又让比特币资产发行的老调重提。而比起前者直接在链上的铭文体系,RGB 更多的采用了与闪电网络有些类似的链下处理逻辑。
以 UTXO, 绑定资产状态
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 的状态不一样。相应的,UTXO 1 实际上被拆成了 2 个新状态:找零给自己 5 个(UTXO 2),转给他人 5 个(UTXO 3)。
了解这个原理后,RGB 实际上就是将链下的资产发行,与链上的 UTXO 变更做一个绑定:
既然 UTXO 可以对比特币在某个时间点的交易事件做出确认,那么我们就可以让这种交易事件的变化,来对应某个其他事情状态的改变;
比如我在另一个地方发行了一个资产,对应到比特币网络上的 UTXO 1 。如果我将这个资产转移给了他人,那么可以将这个”转移“行为对应到比特币网络上的 UTXO 2....
因为 UTXO 本身是固定且被共识的,只要我能证明这种绑定是可靠的,那么比特币主网上 UTXO 的变更,所对应其他资产状态的变更也应该被共识。
更进一步而言,RGB 协议的做法是在利用比特币主网 UTXO 的安全性,为其链下的资产发行或合约逻辑的安全性背书。
如果觉得很难理解,不妨看看推特用户 @trustmachinesco 给出的一个例子:
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....
如果这个$Matt 币一直在不同人手里转下去,最终在比特币主网上会有与这些转账所对应的 UTXO 来进行标识,并且每次当下发生的转账,都会使得原来的 UTXO 被销毁,而产生新的 UTXO。
通过这个过程,我们可以看到 RGB 协议中资产的创建、转移和验证是如何与比特币的 UTXO 关联在一起的。这种关联使得 RGB 资产能够在比特币网络上进行安全、去中心化且隐私保护的转移。
一次性印章与承诺
以上是 RGB 实现的一个非常简单的技术细节。而实际上要保证 RGB 在链下发行的资产确实能和链上的 UTXO 对上,还需要配合一些其他的技术来实现。
Client-side validation(客户端验证):在 RGB 协议中,交易验证和数据存储在客户端(如钱包软件)完成,而不是在区块链上。这使得交易数据不在链上公开,从而提高了隐私性。客户端验证还可以降低链上数据存储需求,提高网络的可扩展性。
这也是 RGB 目前和 BRC 20 的很大区别,由于交易数据在客户端而非链上,理论上可以大大降低目前的网络拥堵和高手续费的情况。
Single-Use-Seals(一次性印章):一种确保资产所有权不被篡改的技术。一次性印章是一个加密签名,用于锁定资产的状态。当资产被转移时,旧的印章被破坏,新的印章被创建。这样,任何试图篡改资产所有权的行为都会被发现,因为印章的状态不匹配。
这也对应着上一节所描述的 UTXO 的销毁和生成。旧印章代表着旧的 UTXO,新印章指向新的 UTXO。
Commitments(承诺):为了将资产与比特币网络关联起来,RGB 协议使用了一种称为承诺的技术。承诺是一种加密证明,证明某个资产与一个特定的比特币交易关联。承诺嵌入到比特币交易的输出(UTXO)中,这使得资产可以在比特币网络上进行转移。
Anchoring(锚定):为了将客户端验证和比特币网络连接起来,RGB 协议使用了锚定技术。锚定是将一次性印章和承诺结合在一起的过程。在资产被转移时,新的一次性印章、承诺和交易数据被锚定到比特币网络上,确保整个系统的安全性和一致性。
在此,笔者给出一个更加符合实际情况的 RGB 协议工作流程:
资产发行者在客户端创建一个新的资产,并生成一个一次性印章和承诺。
资产发行者将新资产锚定到比特币网络上,将承诺嵌入到比特币交易的输出(UTXO)中。
资产接收者通过查看承诺和验证一次性印章来验证资产的有效性。
资产转移时,旧的一次性印章被破坏,新的一次性印章、承诺和交易数据被锚定到比特币网络上。
通过这种方式,RGB 协议实现了在比特币网络上进行资产发行、转移和验证的功能,同时保持了隐私性、可扩展性和去中心化的特点。
同时,RGB 也能很好的同闪电网络结合。在其官方文档中,RGB 描述自己是一个 L2 或者 L3;当闪电网络存在时,RGB 可以当做 L3,在链下快速交换比特币和 RGB 代币,从而实现更高效的交易和资产管理。
在笔者看来,RGB 协议与闪电网络都是比特币上的第二层协议,分别关注数字资产发行与管理以及快速价值转移。它们可以相互支持和补充,实现更高效、可扩展的比特币生态系统。
未来
RGB 从沉寂许久到又被挖出,实际上靠的还是 BRC-20 发行资产的这阵风。
不做价值评判和意义探讨,我们更多可以发现的是,投机的第一个浪潮之后,还会有更多的机会默默涌现,并且在喧闹中推动整个生态往前再走一步。
目前我们可以看到,RGB 在最近发布的 V 0.1 版本中,也解锁了实现智能合约所需的最后的剩余功能。在 BRC -20 给网络造成负担的背景下,RGB 在基础设施层的铺路,或许可以催生其他基于 BTC 的协议和应用。
同时,RGB 实际上也推出了可以收发基于 BTC 网络资产的钱包,并且支持 NFT 相关功能。而在笔者调研的过程中发现,RGB 相关的电报讨论组依然保持着活跃,并且开发者热衷于讨论与解答技术相关的问题。
引领 BTC 的复兴叙事,BRC-20 可能是第一个,但不太会是最后一个。
炒作中有人受益,并带来新的技术问题;解决这些问题往往也又会产生新叙事,唤醒类似 RGB 这样的古早协议,从而可能会引起下一个炒作浪潮。