关键词:RGB 协议、比特币 UTXO、单用封印、客户端验证、私密资产、加密承诺、RGB20 合约
什么是 RGB?三条主线一次性说清
RGB 协议并不在比特币主链上执行复杂的 智能合约,而是把“合约逻辑”搬到链下的客户端。它只把 不可篡改的所有权摘要(哈希)锚定到比特币 UTXO 里,于是:
- 一次性封印(Single-Use-Seals) —— 把每一次资产转移变成“封印开封+新封印盖章”的单步事件;
- 客户端验证 —— 只有相关方需要下载并核对手里的 Stash 数据,全网节点不承担状态计算;
- 隐私黑盒 —— 对外仅公开必要承诺,其余信息留在用户本地,甚至使用 盲化 保护收款人地址。
整件事可以被理解为:你要寄一件贵重物品,把一把一次性、无法复制的封印锁放在邮局大通柜里,任何人都能查看封印是否被开启过,但不知道具体收件人是谁,也不知道里面装着什么。👉 解密加密承诺是如何链接比特币与链下世界的
一次性封印:用比特币 UTXO 做封印容器
封印定义
予名l,消息m,见证w_l。函数只有两个:Close(l, m) → w_l:把封印锁死在一则消息上。Verify(l, w_l, m) → bool:任何人校验一次后,封印失效。
- 比特币实现
把 未花费交易输出(UTXO) 视为封印l。
当该 UTXO 被消费(做输入)时,等于 封印被打破,同时在同一笔交易中你要新建一个 UTXO 送给下一位资产持有者,这个新 UTXO 成为 下一次封印,循环往复。 案例
- Alice 给 Bob 转移 1000 RGB-Tokens。
- 交易花费 UTXO #1(锁定 1000 Tokens),确认花费即旧封印开封。
- 交易中生成新 UTXO #2 → 所有权转移到 Bob,成为新封印。
以哈希形式把“转移摘要”写进 OP_RETURN,而不是把金额与地址写成明文,于是外界只看到“这封印变过”,不知道给谁、给多少。
客户端验证:从人人计算到只用自己算
传统区块链让“全网节点”执行状态机,带来高昂 Gas 与性能瓶颈;RGB 反其道而行之,让 合约真正跑在用户本地的 RGB 节点 / CLI。流程如下图:
- 创建创世合约 → 写出合约 Schema(模板)、Contract(实例)。
- 每次修改状态(如转帐),生成“State Transition”哈希。
- 把 压缩后的承诺哈希 嵌入普通的比特币交易。
- 收款方下载该笔比特币交易、再配合手里的完整历史 Consignment,本地校验哈希是否连贯即可。
核心好处:
- TPS ≈ 本地硬件速度,不再受限于区块大小;
- 隐私上限提升,因为数据默认不归档在所有节点;
- 天然防双花:封印机制保证一份资产只能用一次。
风险点也同样直白——如果 Stash 文件丢失,全网没人能帮你找回资产历史,钱就真的找不回来。👉 私钥即资产:如何安全保管 RGB Stash?
RGB20 合约实战:发币只需几行 Yaml
以官方示例为例,把 接口 选为 RGB20,即可发行同质化 Token:
interface: RGB20
globals:
Nominal:
ticker: TEST
name: Test asset
details: ~
precision: 8
assignments:
Assets:
seal: tapret1st:01d4...42:0 # UTXO 一次性封印
amount: 100000000000000 # 发行总量执行两命令搞定:
rgb import nia_schema.rgb # 导入 Schema
rgb issue <SchemaID> RGB20 rgb20-demo.yaml # 生成创世合约钱包会在 ./contracts/rgb20-token.contract.rgb 生成可重发布的绑定文件(bindle)。合约 ID 也同步写进本地 Stash。
FAQ:RGB 协议最常出现的 5 个疑问
Q1:RGB 和闪电网络有什么联系?
闪电通道可以承载 RGB 资产转移,链下毫秒级结算,同时继承 RGB 的隐私与扩容优势。
Q2:如果政府要求监管 RGB 资产怎么办?
链下数据握在用户手里,监管需要用户主动披露 Consignment,技术层无法强制;合规主要通过入口/出口 KYC 实现。
Q3:能不能在 RGB 上发行 NFT?
可以,改用接口 RGB21 即可发行不可替代资产,一物一封,同样走一次性封印逻辑。
Q4:和 EVM 兼容吗?
不兼容。RGB 的智能合约是 Rust/Shema 描述,本地运行,不在虚拟机里执行字节码。
Q5:RGB 未来会成为主流标准吗?
目前仍处早期生态,节点实现主要在 rgb-node、ldk-rgb 分支;开发者数量决定采用速率,技术方案满分,商业叙事待补。
真实转账步骤拆解:Alice → Bob
| 步骤 | Alice 操作 | Bob 操作 | 链上可见 |
|---|---|---|---|
| 1 | 生成 Invoice“我要转出 100 RGB20 给 Bob” | Bob 提供 UTXO → 用于封印 | × |
| 2 | 本地打包 Consignment(资产世系) | 接收 Consignment & 验证 | × |
| 3 | 在比特币网络发布一普通交易,内含 OP_RETURN 承诺 | 监控该交易确认 | √ |
| 4 | 交易 6 次确认完成 | Bob 收到资产,本地更新 Stash | √ |
注意,Bitcoin 网络上 只看到 OP_RETURN 的 32 字节哈希,没有任何明文金额。
安全实践:如何备份你的 RGB 资产
- Stash 文件定期 离线冷存(U 盘 + 纸质私钥)。
- 加密附件:结合 passphrase 备份整个 RGB 目录,防止硬盘偷窃。
- 冗余机制:把同一个 Stash 分片到至少 2 个以上异地位置。
小结:RGB 的核心主张
- 比特币即是结算层——Native UTXO 提供不可篡改时间戳;
- 隐私即是默认——盲化、链下计算、最小披露;
- 可扩展性由下而上——从单机到闪电,路径清晰;
- 用户即上帝——丢失数据就找不回,把自托管做到极致。
一句话总结:RGB 用“封印 + 承诺”把比特币变成了极度私密的资产发行与转移网络,无缝继承比特币安全性,却不增加链上负担。
如果只记住一件事:RGB 的核心不是“智能合约”,而是把所有权的证明最小化地写进比特币,其余交给用户自己守护。