RGB、BitVM、Nostr 的详解入门

3
okx

Intro: Why BTC L2

2023年铭文生态的爆火,使得 BTC 拓展性问题的优先级迅速升高。各类彩色币(Colored Coin - 在比特币区块链上通过附加信息给比特币赋予额外属性或意义的方法,比如 BRC20)使原生比特币交易产生拥堵,BTC L2 作为解决这个问题的关键,会成为2024年的关键叙事。本文将带大家深入了解 RGB、BitVM 以及基于闪电网络的 Nostr 这三个潜力巨大的 BTC L2 解决方案。

RGB 协议

什么是RGB

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

RGB 协议发展历程

RGB 协议历史

RGB 最初由来自 BHB Network 的 Giacomo Zucco 于2016 年设想为“基于非区块链的资产系统”,同年,Peter Todd提出了一次性密封(Single-use seal)和客户端验证(Client-Side Validation)的概念。受到这些重要思想的启发,RGB 于 2018 年被提出。2019 年,核心开发者 Maxim Orlovsky 开始推动RGB,并参与了了绝大部分 RGB 协议的代码开发和底层标准设计。Maxim Orlovsky和Giacomo Zucco共同成立了LNP/BP 标准协会(https://www.lnp-bp.org),旨在推动 RGB 从概念诞生到实际应用的阶段。该协会得到 Fulgur Ventures 、 Bitfinex 、Hojo 基金会、Pandora Prime 和 DIBA 的支持。经过大量开发工作, 2023 年 4 月,RGB 发布了版本 V0.10 ,这是第一个稳定可用的版本。2024年1月,RGB 核心开发者表示会在上半年尽早推出版本V0.11。

RGB 协议最新进展

RGB V0.10 的新特性介绍,在其他研报中已有详细分析。而 V0.11 目前尚未正式推出,这里展示一些开发者和社区的最新动态:

• 即将增加对于L-BTC 的支持

• RGB 资产与 Liquid 的资产的互操作性和跨链桥会有更新

但是,RGB V0.11 将与 V0.10 不兼容,这会导致目前的项目迁移成本很大,同时由于开发进度缓慢,目前很多项目都处于坐等 V0.11 发布的状态。

RGB 设计思想和运行原理

RGB 智能合约采用客户端验证,这意味着所有数据都保存在比特币交易之外,即比特币区块链或闪电通道状态。这使得系统能够在闪电网络之上运行,而无需对 BTC 主网或闪电网络协议进行任何更改。这为协议的可扩展性和隐私性奠定了基础。

RGB 使用在比特币 UTXO 上定义的一次性密封,这为拥有智能合约状态历史记录的任何一方提供了验证其唯一性的能力。换句话说,RGB 利用比特币脚本来实现其安全模型以及所有权和访问权的定义。

RGB 是状态转换的有向无环图(DAG),其中合约彼此完全隔离,除了合约所有者(或所有者向其披露合约信息的各方)之外,没有人知道它的存在。

有向无环图(DAG)是一种特殊的图形结构,可以用来形象地解释复杂的系统或关系。我们可以将有向无环图中的每条边想象为城市中的一条单行道,这就是“有向”的概念。而假设在这些道路中,无论你怎么行驶,都不可能回到起点形成一个闭环,这就意味着“无环”。在有向无环图中,也是如此,不存在一个节点序列使得你可以从一个节点出发,经过一系列的边,再回到这个节点。

将这个概念应用于RGB 系统中,我们可以将每个合约视为图中的一个节点,而合约之间的关系(比如所有权的转移)可以视为有方向的边。这样的结构保证了合约间的关系清晰、有序,且不会形成闭环,即一个合约不会直接或间接地影响到自己。

这样的设计确保了状态传递中的承诺是唯一且不可篡改的,防止了双花,实现了状态转移的有效和一致。

深入RGB 合约

在了解RGB 架构设计的基本思想后,我们来看合约部分。在当前的智能合约世界中,要求智能合约创建者组织或自行执行智能合约代码的开发。在 RGB 的设计哲学中则认为,这是一种不好的做法,会导致更高的合约代码漏洞和多次黑客攻击。故 RGB 意在降低开发中的漏洞风险与审计需求,引入了「合约模式(Schema)」的概念。「合约模式」是智能合约的实际代码,发行者可以将其用作“合约模板”,无需他们对某个随机外包商为其编写的定制代码进行编码或审核。

灵活的可扩展性和良好的互操作性

RGB 合约是通过声明式的方式定义的,而非命令式编程。这意味着合约的逻辑不是通过一系列命令或步骤定义的,而是通过一套规则来描述其行为和状态转换,是一个状态变化的有向无环图(DAG)。而局部状态操作,则是Schema 的关键所在。RGB 合约中的操作是局部的,而不是全局的。每个节点(或状态)都有自己的规则,并且只负责自己的状态转换。这与以太坊等平台上的全局算法不同,后者要求每个状态都遵循相同的算法。这一特性使得 RGB 足够灵活可扩展,同时也兼具良好的互操作性。

简易的智能合约编写

Schema 定义了状态转换中允许哪些类型的全局和拥有的状态、密封、元数据。RGB 使用 Contractum 语言来编写程序 RGB Schemas 和 AluVM(算术逻辑单元虚拟机),从而简化 RGB 智能合约的编写。AluVM 基于寄存器设计,不提供随机内存访问,非常适合智能合约、远程代码执行、分布式和边缘计算等领域,为各种高级智能合约的用例提供了基础。

RGB 如何确保安全和隐私

从RGB 自身设计上看

• 非全局广播的隐私性:上面我们已经提到,RGB 的客户端验证意味着验证过程仅发生在直接涉及的对等点之间,而不是整个网络。这种并非全局广播的方法增强了隐私性和抗审查性,因为合约状态的细节仅对相关参与者可见,矿工也无法看到交易细节。

• 沙盒环境的数据私有性:另一方面,RGB 将所有操作数据存储在 stash 中。由于 RGB 不是基于区块链的,存储不会复制到其他对等节点。由用户本地控制的存储减少了外部攻击和数据泄露的风险,确保了数据的私有性。RGB 是一个计算平台,RGB 将每个程序(“智能合约”)隔离在其沙箱环境中,这比基于区块链的平台提供了更好的可扩展性和安全性。

• 同样,链下数据也就意味着存在丢失风险。

• 验证和存储以外,发票系统也能确保安全和隐私。RGB 中的合约操作通过创建发票来进行,发票可以包含多种合约操作请求。通过让用户明确指定和验证合约操作,提高了操作的准确性和安全性。同时,发票系统支持在用户之间私下传输合约操作请求,增强交易隐私。通过发票和特定的命令来执行状态转移,如代币转移。

从与BTC 交互的层面来看

• RGB 的设计是与 UTXO 高度绑定的。与 BTC 主网交互过程中,用户创建链下合约来发行 RGB 资产并将它们分配给比特币的 UTXO,这一点和闪电网络非常像,随后在链下通过上面介绍的方式进行资产转移、合约交互和验证。

• RGB 受益于 Schnorr 签名带来的更好的多签、基于适配器的签名协议和点时间锁合约(PTLC),但它的收益纯粹是基于比特币的收益(即间接的)。RGB 内部没有任何需要签名的内容(因此 Schnorr 在内部没有进行任何更改),也没有使用比特币脚本(因此新的 Tapscript 没有任何用处)。

由ScaleBit 联合发起成立的 BTC Security Lab,是一家专门成立的 BTC 安全实验室,正在致力于研究 RGB 协议的最新进展,旨在保护其合约安全,共同推动 RGB 协议的日益更新壮大及 BTC 生态的基础设施建设。

RGB 生态项目一览

1. BiHelix

官网:https://www.bihelix.net/

BiHelix是一个基于比特币原生区块链,结合RGB协议和闪电网络构建优化节点的比特币生态基础设施。旨在让开发者更易于使用,增加比特币的使用场景,并解决了比特币区块链面临的可扩展性和图灵不完备性的挑战。为矿工、验证者、节点服务商、交易所、用户打造更加公平的去中心化加密世界。作为第一个基于 RGB 协议构建的基础设施,BiHelix 将打造下一代比特币大规模应用场景。目前项目暂未开启交互,处于研发阶段,敬请期待。

项目特点

1. 低用户门槛

使用SLR(Security-Lightning-RGB)协议,将RGB和闪电网络重新封装,引入闪电节点的创新解决方案,实现全球通用支付。

2. 高可靠性和高可扩展性

采用成熟的云服务架构,充分利用rust-lightning的特性,以支持通道工厂的功能,高效地管理通道,批量创建通道。

3. 安全和隐私保护

将状态数据进行链下传输和存储,采用递归零知识证明等技术令多部分支付和路径选择随机化从而实现隐私保护。

4. 开发者友好

提供完备的开发工具,包括开源的开发文档、工具等,同时引入Schema社会共识机制,以便开发者可以轻松构建应用程序。

2. Iris Wallet

官网:链接

IRIS Wallet,Bitfinex 团队开发的第一个 Android 钱包,致力于 RGB 集成和 RGB 相关工具,支持可替代和不可替

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

进群交流|欧易官网