详解RGB协议:创造比特币资产发行新二层的另辟蹊径

'详解RGB协议:创造新二层比特币资产发行的另辟蹊径'

初识 RGB

RGB

1、什么是 RGB

RGB 是由 LNP/BP 标准协会开发的可扩展且保密的比特币和闪电网络智能合约系统。它采用了私有和共同所有权的概念,是一种图灵完备的、无信任的分布式计算形式,不需要引入代币的非区块的去中心化协议。

RGB 的设计目的是在 UTXO 区块链(如比特币)上运行可扩展、稳健和私密的智能合约,以实现一切可能性。通过 RGB,开发者可以执行如代币发行、NFT 铸造、DeFi、DAO,以及更多复杂的多类别智能合约。

RGB 协议是基于 Peter Todd 在 2016 年提出的客户端验证(client-side validation)和一次性密封(single-use-seals)的概念,在比特币生态系统的第二层和第三层上(链外)运行的客户端状态验证和智能合约系统。客户端验证是由 Peter Todd 在 2016 年提出的范式,它采用密码哈希函数等方式转化为一个简短的加密承诺,并具备收据证明、非发布证明、成员资格证明等主要特点。

2、RGB 简史

RGB 最初构想可以追溯至 2016 年,由 Giacomo Zucco(BHB Network)基于 Peter Todd 关于客户端验证和一次性密封的早期理念提出,于 2017 年由 BHB Network 在原始 MVP 中实施,并得到 Poseidon Group 的支持。

2019 年,Maxim Orlovsk 和 Giacomo Zucco 共同成立了 LNP/BP 标准协会,旨在推动 RGB 从概念诞生到实际应用的阶段。2021 年,LNP/BP 标准协会成功地展示了 RGB 搭载了图灵完备的虚拟机(AluVM),同时 RGB 在闪电网络上也开始运行,使用了由 Maxim Orlovsky 博士在协会进行的完整的闪电协议的 Rust 重新实现(LNP Node)。

2022 年,LNP/BP 标准协会推出了一个关于 Contractum 语言的新网站,用于为 Bitcoin 和 Lightning Network 编写 RGB 智能合约。Contractum 作为一种功能性声明式编程语言,专为使用 RGB 技术在比特币和闪电网络上运行的智能合约开发而设计。

今年,2023 年 4 月,LNP/BP 协会宣布 RGB v0.10 发布,这是 RGB 协议发展中又一重要里程碑,为比特币和闪电网络带来了完全支持智能合约的功能。

理解 RGB

1、背景

RGB 是一种基于比特币的可扩展、稳健和私密的智能合约系统。与传统的基于山寨币的代币协议相比,RGB 具有更高的隐私性、安全性和可扩展性。

传统的基于山寨币的代币协议(如 ERC-20)具有一定的局限性,比如扩展性较差、隐私性较低、运行节点成本高等。而 RGB 协议通过在比特币区块链上运行客户端验证,克服了这些问题,并为开发者提供了更多功能丰富的智能合约。

2、RGB 的解决方案:链下转移

RGB 协议采用了一种链下转移的方式来实现资产的转移。链下转移是指在进行代币转移时,只在必要的时候才调用比特币区块链,大部分的验证工作在接收支付的一方的客户端进行。这种方式不仅提高了交易的隐私性,还能够提高交易吞吐量和降低交易成本。

在 RGB 的设计中,比特币的 UTXO 充当了资产的容器,转移资产只需要打开新的容器、关上旧的容器。RGB 代币的具体支付信息通过专门的通信通道传输,只有接收者的客户端进行验证。

通过链下转移的方式,RGB 实现了资产的高保密性、安全性和可扩展性。同时,链下转移还提高了比特币的交易吞吐量,减少了交易拥堵的问题。

3、RGB 的主要特性

通过对以上内容的理解,我们可以总结出 RGB 具有如下几个主要特征:

  1. 高保密性、安全性、可扩展性:RGB 采用链下转移方式,提高了资产的保密性和安全性,并实现了更高的交易吞吐量。
  2. 无需比特币时间链拥堵:由于交易只保留同态承诺,减少了比特币时间链的拥堵问题。
  3. 未来可升级而无需硬分叉:RGB 采用灵活的设计,可以实现未来的升级而无需进行硬分叉。
  4. 抗审查性:由于主要的交易验证工作在客户端进行,矿工无法查看交易中的资产流动情况,提高了抗审查性。
  5. 没有区块和链的概念:RGB 是一种非区块的去中心化协议,在设计中没有区块和链的概念。

需要注意的是,RGB 是一种客户端验证技术,与传统的区块链不同,不依赖于全局共识,这也是 RGB 协议的独特之处。

RGB v0.10 的无限可能性

RGB v0.10 版本是 RGB 协议的一个重要里程碑,为比特币和闪电网络带来了完全支持智能合约的功能。这一版本引入了许多重大突破,将 RGB 推进到即将投入商用的系统阶段,具有以下几个主要特点:

  1. RGB 合约中的全局状态:RGB 引入了全局状态的概念,允许虚拟机和客户端访问合约的全局状态,为在 RGB 上构建复杂的应用程序提供了基础。

  2. 合约接口:RGB v0.10 引入了接口,提供一种标准化的方式来传递各种智能合约,使钱包和其他软件能够为用户提供语义感知的用户界面。

  3. 严格的类型系统:RGB v0.10 引入了严格类型系统,对于 RGB 合约状态的表示和内省提供了一种新的功能性数据类型系统,使 RGB 在低端和有限内存设备上的操作更简化。

  4. 在 Rust 中编写合约:RGB v0.10 支持使用 Rust 编写和编译智能合约,由于严格类型的存在,现在还可以将 Rust 数据类型直接编译到 RGB 合约中。

  5. 简化的依赖关系:RGB 共识层使用较少的依赖项,提高了 API 的稳定性,并简化了集成操作。

  6. 简化的用户体验:RGB v0.10 简化了用户体验,整合了原有的复杂堆栈,通过单个 API 调用和 rgb 命令行工具来完成操作。

RGB v0.10 版本的发布解决了许多旧版本存在的问题,增强了智能合约开发的能力,并为未来的发展奠定了基础。尽管在之前的版本中独立开发者面临着一些挑战,但随着 RGB 协议的不断发展,这些问题正在得到解决。有越来越多的工具和资源可以帮助开发者理解和使用 RGB 协议,使得独立开发者参与到复杂的智能合约开发中变得更加容易。

通过与闪电网络的完全兼容和支持,RGB 可以提高资产的流动性和可用性,并为闪电网络带来完全支持智能合约的能力。RGB 的图灵完备虚拟机和闪电网络的高速、低成本、安全等特点的结合,使得闪电网络成为一个具有无限可能性的平台,可以实现各种复杂的应用场景。这将推动比特币和闪电网络生态系统的发展,将比特币的应用潜力发挥到极致。

RGB 与其他方案的比较

与传统基于山寨币的代币协议相比,RGB 协议具有更高的隐私性、安全性和可扩展性。传统基于山寨币的代币协议虽然易于创建和使用,但在扩展性、隐私性和去中心化方面存在一些局限。

RGB 协议与 Liquid 资产协议相比,Liquid 是一个比特币联盟侧链,可以实现一些有趣的功能,如原生资产支持和机密交易。然而,Liquid 依赖于联盟模式,其去中心化和抗审查性有一定局限性。

RGB 协议与 OmniBOLT 协议相比,OmniBOLT 是 OmniLayer 的兼容闪电网络的版本。虽然 OmniBOLT 在稳定币支付方面具有优势,但在隐私性方面相对较弱。

此外,RGB 协议还与 Taproot (Taro) 协议存在一些相似之处。虽然在具体实现方法上存在一些差异,这两个协议的特性和取舍基本上是一样的。

值得关注的 RGB 生态项目/开发团队

  1. Infinitas: 一个揉合 RGB 协议和闪电网络的比特币应用生态网络。目前处于早期阶段,为比特币的发展提供了一个独特的视角。

  2. COSMINMART: 一个以闪电网络为基础,兼容 RGB 协议的比特币应用生态。旗下产品包括 COSM Wallet 和 COSM Market。

  3. LianGuaindora Prime Inc: 一个致力于使用 RGB 智能合约和闪电网络的结合来开创比特币金融的项目。其旗下产品包括 MyCitadel、RGB Explorer 和 DIBA。

  4. IRIS Wallet: 一个由 Bitfinex 团队开发的 Android 钱包,支持 RGB 集成和 RGB 相关工具。

  5. Bitswap-BiFi: 一个致力于解决 RGB 资产流动性问题的 DEX 方案。

这些项目/开发团队在 RGB 协议的发展和推广方面发挥着重要作用,值得关注。

回顾和展望

RGB 协议经历了几年的发展,取得了一些重要的突破。尽管 RGB 协议在过去没有得到广泛的关注和应用,但随着 RGB v0.10 版本的发布,RGB 协议正站在一个崭新的起点。RGB v0.10 版本引入了许