首页 /
学习 /
RGB 如何运作
学习 /
协议机制

比特币上的 RGB 协议

如何运作。

比特币上的 RGB 协议拥有三个密码学原语——客户端验证、一次性密封条和模式(schema)系统——共同作用,使得在比特币上拥有和转移数字资产成为可能,且无需将任何合约数据发布上链。

阅读需 12 分钟
中级
2025 年 7 月更新
来源

本页所有技术内容均基于 RGB 官方文档 ——参见 docs.rgb.info ↗

01 /
三个核心原语

比特币上的 RGB 协议建立在三个

密码学基石之上。

每个原语解决一个特定的问题。三者共同作用,使得在比特币上拥有和转移数字资产成为可能,且没有任何合约数据接触区块链。

原语 1

客户端验证

每一方只验证属于自己的那部分合约历史。设计上即具备隐私性,可扩展性没有上限。

原语 2

一次性密封条

每一次状态转换都绑定到一个比特币 UTXO。花费它就会关闭密封条——从而防止双花。

原语 3

模式系统

声明式的合约模板定义了状态结构和转换规则——无需任何可在链上执行的代码。

顺序很重要:模式定义了合约 是什么,客户端验证确保 只有相关方才能看到数据,而一次性密封条确保 每一次转换都是最终且唯一的。比特币则提供时间戳和防双花保护。

02 /
客户端验证

每一方只验证

与自己相关的内容。

在标准区块链中,每个节点都要存储并重新执行每一个合约。这带来了一个根本性的可扩展性与隐私上限——所有数据公开可见,所有节点都要承担全部计算负载。

RGB 颠覆了这一点。正如 docs.rgb.info 所述, “验证的逻辑可以被颠倒过来”:每个参与者只验证属于自己的那部分合约历史——即连接 Genesis 与其当前归属状态的有向无环图(DAG)。这部分私有的历史切片被称为 分片(shard)

可扩展性优势立竿见影:由于所有人只需要存储那个微小的密码学承诺(大小仅为几十字节,在 Tapret 方案下甚至不占用额外字节), 成千上万笔来自不同合约的 RGB 状态转换可以被打包进同一笔比特币交易 ,链上占用可以忽略不计。

完整说明 → 客户端验证

03 /
一次性密封条

一个只能

兑现一次的承诺。

定义 — docs.rgb.info

“一次性密封条(Single-Use-Seal)是一种正式承诺:承诺在未来某个时刻提交一条尚未知晓的消息,且只能提交一次,以使承诺的事实对特定受众的所有成员显而易见。”

docs.rgb.info/distributed-computing-concepts/single-use-seals

一次性密封条由 Peter Todd 于 2016 年提出,是比特币上的 RGB 协议的防双花机制。它分为三个步骤:

步骤 1 — 密封定义

Alice 定义密封

Alice 向 Bob 承诺,会在约定的时间点、通过双方商定的发布媒介发布一条特定消息——在 RGB 中,这个媒介就是一个比特币 UTXO。

seal ← Define()

步骤 2 — 密封关闭

Alice 关闭密封

Alice 通过花费该 UTXO 来发布这条消息(一个 RGB 状态转换承诺)。这会产生一个见证(witness)——证明密封已被关闭的证据。该密封无法被再次关闭。

witness ← Close(seal, message)

步骤 3 — 密封验证

Bob 独立验证

Bob 接收到密封、见证和消息,并在本地验证密封是否被正确关闭。整个过程无需信任 Alice——比特币区块链提供了证明。

bool ← Verify(seal, witness, message)

在 RGB 中, 密封定义就是比特币 UTXO。承诺是嵌入在一笔比特币交易中的哈希值。密封的关闭就是花费该 UTXO。一连串相互连接的交易花费构成了发布证明(Proof-of-Publication)——即某次转换确实发生过的不可篡改记录。

这正是 RGB 资产所有权在安全性上与比特币本身完全等同的原因:控制一个 UTXO,就意味着控制通过一次性密封条分配给它的所有 RGB 资产。

04 /
模式系统

以声明式方式定义的合约,

而非可执行代码。

RGB 模式是一个声明式模板,定义了合约的结构。正如 docs.rgb.info 中所述, 一个 模式 相当于面向对象编程中的类 ——它规定了合约是什么,而不是如何在链上执行它。

这在架构上与以太坊截然不同:在以太坊中,合约代码由区块链上的每个节点存储并执行。在 RGB 中,模式定义的验证规则由 AluVM 在客户端验证过程中于本地执行——从不上链。一个模式需要回答以下问题:

存在哪些 Owned State 和 Assignment?
合约拥有哪些 Global state?
Genesis 的结构是怎样的?
可能发生哪些状态转换?
状态数据在转换中可以如何变化?

编译完成后,模式会被编码为一个 .rgb 二进制文件,供钱包软件导入。目前官方支持五种标准模式——NIA、UDA、CFA、IFA、PFA——此外也可以针对任何使用场景构建自定义模式。

查看所有支持的模式 →

05 /
状态与状态转换

从 Genesis 到

当前状态。

正如 docs.rgb.info 中所述, “状态可以被定义为一种独特的信息或数据配置,代表合约在某一特定时间点的状况。” 每一个 RGB 合约都会通过一连串的状态转换,从最初的定义(Genesis)演变到其当前的活跃状态。

起点

Genesis

合约的第一个状态。定义了 Global state(代码、供应量)以及初始的所有权分配。

操作

状态转换

消耗已有的 Owned State(输入),创建新的 Assignment(输出)。承诺到一个比特币 UTXO 上。

操作

状态转换

每一次转换都建立在前一次的基础上,形成一个 DAG。顺序由比特币的时间戳来保证。

当前

活跃状态

最近一次的有效状态——接收方会依据完整的 DAG 来验证这一所有权。

起点

Genesis

合约的第一个状态。定义了 Global state(代码、供应量)以及初始的所有权分配。

操作

状态转换

消耗已有的 Owned State(输入),创建新的 Assignment(输出)。承诺到一个比特币 UTXO 上。

操作

状态转换

每一次转换都建立在前一次的基础上,形成一个 DAG。顺序由比特币的时间戳来保证。

当前

活跃状态

最近一次的有效状态——接收方会依据完整的 DAG 来验证这一所有权。

来自 docs.rgb.info 的关键洞察: “一条给定的 RGB 转换链,并不一定对应着一条比特币交易链” ——Anchor 交易在链上的顺序,并不能用来推断 DAG 节点的顺序。DAG 的顺序是由各个操作对其输入的承诺来维护的,而这些操作会被锚定到比特币上以获得时间戳。

06 /
闪电网络集成

闪电般的速度流转的资产。

上述这些原语不仅仅作用于比特币的基础层——它们还与闪电网络原生集成。RGB 状态转换直接嵌入闪电承诺交易内部,这意味着资产能够以任何闪电支付相同的速度和成本,流经类型化的通道。

与那些通过封装或跨链桥来与闪电网络交互的方案不同,RGB 在协议层面直接运作。每个通道都携带着自己的类型化资产状态——由各方私下验证,并在比特币上结算,除了通道本身之外不引入任何额外的信任假设。

闪电网络优势 1

即时结算

RGB 资产转移在毫秒级完成结算——与任何闪电支付速度相同,安全性也同样来自比特币的工作量证明。

闪电网络优势 2

接近零手续费

只需支付闪电网络的路由费用——无论金额多少,都只是几分之一美分。没有基础层交易成本,没有 gas 费,也没有手续费市场。

闪电网络优势 3

无需跨链桥

资产始终不脱离比特币的安全模型。没有锁定合约,没有第三方运营方,不需要任何额外的信任假设。

07 /
数字无记名权利

运作方式如同

无记名工具的合约。

正如 docs.rgb.info 中所述,RGB 架构背后的理念有着深厚的历史渊源: “不久之前,证券等合约还是无记名工具。合约的无记名属性,实际上是一项延续了数百年的传统。”

RGB 以数字形式复兴了这一模式。各方的无记名权利作为数据被包含在合约之中——私下持有,可在各方之间直接转让,并通过密码学方式强制执行,无需托管方或登记机构。

现代金融——登记模式

资产存放于托管登记系统中

– 银行或经纪商持有所有权记录
– 转让需要中介方批准
– 每一层都存在交易对手风险
– 隐私取决于机构的政策
– 登记机构层面存在审查的可能

比特币上的 RGB 协议——无记名模式

权利本身包含在合约之中

– 所有权通过控制该 UTXO 来证明
– 转让直接进行——从发送方到接收方
– 无中介,无托管方
– 设计上即具备隐私性——数据只在相关方之间流动
– 具备比特币级别的抗审查性

顺序很重要:模式定义了合约 是什么,客户端验证确保 只有相关方才能看到数据,而一次性密封条确保 每一次转换都是最终且唯一的。比特币则提供时间戳和防双花保护。

08 /
深入了解

接下来该读

什么。

比特币上的 RGB 协议——客户端验证

客户端验证

深入探讨 RGB 的隐私与可扩展性模型。

客户端验证

比特币上的 RGB 协议——闪电网络集成

RGB 与闪电网络

状态转换在闪电通道内部是如何运作的。

RGB 与闪电网络

开始在比特币上的 RGB 协议上构建

开始构建

使用模式系统发行你的第一个 RGB 资产。

github.com/rgb-protocol ↗

比特币上的 RGB 协议完整文档

完整的协议文档

Gitbook 上的完整技术规范。

docs.rgb.info ↗

准备好

在比特币上的 RGB 协议上构建了吗?

这些原语已经讲清楚了——现在开始付诸实践吧。