买币
行情
币币
合约
金融
活动
更多
新用户专区
登录
报告分析 详情

RGB协议简析:基于比特币构建的可扩展、保密的智能合约协议

发布于 2023-08-11

背景

自2009年比特币推出以来,其性能一直备受关注。由于每秒只能处理七笔交易,该网络无法支持可扩展的智能合约。SegWit升级将比特币的区块大小限制提高到4MB(1MB用于交易数据,3MB用于见证数据);然而,限制依然存在。同时,随着比特币影响力的增长,可扩展性挑战变得更加严峻。可扩展性仍然是比特币生态系统面临的一个根本性挑战。如今,从业者正在探索不同方法的解决方案,主要包括:

  • 侧链,包括Liquid、Stacks、Rootstock等;
  • 如闪电网络等状态通道,可以在链下处理某些高频交易;
  • 如RGB和比特币脚本等不可升级的扩展解决方案,这些方案不修改比特币的代码;
  • 基于升级的扩展解决方案,包括Drivechain(BIP300/301),需要强大的矿工支持,并通过硬分叉实现可扩展性。

在不同的方法中,一些早期的扩展解决方案正重新引起关注。值得注意的是,2022年底走红的Nostr协议促进了闪电网络的广泛采用。同时,Ordinals在2023年初迅速崛起。作为基于比特币和闪电网络的智能合约解决方案,提供图灵完备性、可扩展性和强大的隐私保护,RGB于今年4月发布了新版本(v0.10)。

RGB的演进

RGB的起源可以追溯到2016年,当时Peter Todd提出了单次使用印章和客户端验证的概念。在这些关键概念的基础上,RGB于2018年被提出。

2019年,RGB核心开发者Orlovsky带头开发RGB,创建了许多最终构成RGB协议的组件。此外,LNP/BP协会在瑞士的成立也帮助提供了相关标准。

经过大量的开发工作,RGB于2023年4月发布了其v0.10版本。

关于RGB的设计

RGB通过以下方式实现可扩展性和保密性:

客户端验证

大多数现有的公共区块链都采用全局共识模型运作,所有节点都验证所有交易,彼此共享交易信息,并维护统一的全局状态。

然而,这种模型带来了几个挑战,包括:

  • 可扩展性限制,使验证所有合约交互变得昂贵;
  • 高成本导致节点运营集中化;
  • 由于交易信息公开而缺乏隐私。

客户端验证(CSV)提出了一种替代方法:它只要求共识层履行与账本事件相关的加密承诺,而实际事件信息(账本)则存储在区块链之外。这种源自Peter Todd工作的方法被称为"客户端验证"。CSV将交易数据转移到链下,详细信息在链下存储和验证,只有最少量的信息提交到区块链上。此外,交易数据仅在发送方和接收方之间进行链下传输。例如,在现实世界的交易中,只有当钱包和相关方要求访问合约数据时才需要验证。

CSV的主要特点:

  • 详细的交易信息存储在链下,仅在客户端进行验证;
  • 只有交易数据的承诺存储在链上;
  • 验证仅适用于用户必须知晓的交易。

在RGB中,资产转移的验证机制与比特币有显著不同。在比特币网络中,节点始终下载和验证区块和内存池交易,这使它们能够获取UTXO集合的最新状态。遇到新交易时,比特币验证者通过检查所有输入是否存在于最新的UTXO集合中来验证其历史的有效性。

另一方面,RGB 不依赖于全局网络广播所有交易来创建等同于比特币 UTXO 集的东西。这意味着在接收传入付款时,RGB 客户端不仅需要验证最后一次状态转换是否有效,还需要对发行合约中直至创世状态的所有先前状态转换执行相同的验证。RGB 中这种自下而上的交易历史验证也可以防止双重支付攻击。

RGB 通过仅验证相关交易来提高可扩展性。然而,这种方法可能会导致与数据可用性不佳相关的问题,可能需要数据共享来优化支付验证。

基于比特币的一次性封条

物理一次性封条是通常用于检测存储和运输过程中篡改的唯一编号塑料带。例如,它可以让我们知道在运输过程中集装箱的门是否被打开过。数字一次性封条在消息上关闭一个数字封条,以确保它只能使用一次,这使得卖家不可能两次出售同一财产。

与其使用可信实体来证明数字封条的开启和关闭,不如使用比特币的未花费交易输出(UTXO)作为封条。UTXO 可以被视为在创建时关闭、在花费时打开的封条。根据比特币的共识规则,一个输出只能被花费一次;因此,封条只能被打开一次。通过这种方式,一次性封条用于将比特币的 UTXO 与链下合约状态关联起来,通过链下 RGB 交易(关闭封条)实现下一个状态转换的执行。类似于用于保护集装箱安全的物理一次性封条,数字一次性封条是一个独特的对象,可以准确地封存一段信息以防止双重支付。

这里有一个简单的类比:我们可以将UTXO视为一系列金额不同的支票。在进行支付时,您实际上是用一张未兑现的支票付款给某人。此外,支票的任何剩余余额都会以新支票的形式返还给您。在这种情况下,单次使用的印章会在支票的附加信息框中添加某些转账记录。由于支票只能兑现一次,这种方法可以防止双重支付。

让我们看看这个过程在Alice、Bob和Dave之间是如何运作的:

  1. 首先,Alice发行了一种RGB资产(例如,USDT Tether或USDT),总供应量为1亿,并在有效支票(支票A)的附加信息框中添加了承诺信息。支票打印机不必考虑这些附加信息,支票A可以有任何面值,只要它属于Alice并且未被兑现即可。
  2. 当Alice想要向Bob转账1000万USDT时,她需要兑现支票A,并在附加信息框中指明1000万USDT将转到Bob拥有的新支票(支票B),而剩余的9000万USDT将转到Alice拥有的另一张新支票(支票C)。
  3. 如果Bob想要向Dave转账1000万USDT,他需要兑现支票B,并在附加信息框中注明1000万USDT将转到Dave拥有的新支票(支票D)。
  4. 每次后续转账都重复相同的过程。具体来说,前一个持有人将一部分金额背书给新的接收者,接收者然后验证资产转移的全部历史。类似于流通中的支票,每次转账都会创建一张新支票,每张支票只能兑现一次(UTXO)。同时,旧支票(UTXO)变得无效,确保状态只能向前移动而不能向后移动,这也防止了双重支付。通过这种方式,链上记录可靠地反映了加密资产的状态变化。

RGB使用上述基于比特币的单次使用密封模型,这意味着当RGB交易发生时,发送者会创建一个定义所转移权利的合约状态转换。让我们以代币为例。首先,合约发行者设置创世状态,定义合约细节,如资产名称、总供应量和有权移动供应量的UTXO。然后,当资产首次转移时,第一个UTXO的所有者可以创建一个状态转换,定义哪个新的UTXO将拥有该资产。RGB通过利用UTXO只能被花费一次的机制来实现状态转换,这使得它能够可靠地定义和追踪加密资产的转移和所有权变更。

RGB将所有交易信息保持在比特币网络之外,仅在发送者和接收者之间传输。同时,承诺数据被锚定到比特币UTXO上。一旦UTXO被花费,它就不能以相同方式再次被花费,表示合约发生了变更。

RGB利用比特币区块链来防止双重支付,这是通过将每个RGB状态转换提交到花费拥有被转移权利的UTXO的比特币交易中来实现的。多个状态转换可以包含在一个比特币交易中,但每个状态转换只能提交一次(否则就可能发生双重支付)。为了能够在一个承诺中包含多个状态转换,状态转换被多次聚合,然后通过Taproot或OP_RETURN提交到比特币交易中。如果一个比特币交易中存在多个承诺,只有第一个承诺对RGB验证规则有效,其他的将被忽略,使任何双重支付的尝试都变得毫无意义。RGB的主要特征

可扩展性

  • 与将所有逻辑都保留在链上的替代协议相比,CSV将数据保留在链下,降低了成本和计算负担;
  • RGB可在比特币上直接使用,无需修改代码或进行复杂的链上交易;
  • RGB支持闪电网络。

隐私

  • 第三方无法观察RGB交易或其一次性印章;
  • RGB具有遮蔽UTXO功能。遮蔽UTXO由UTXO和随机遮蔽密钥的连接哈希组成。通过这种方式,发送方不知道资产去向,而新接收方只有在花费资产时才能验证遮蔽UTXO;
  • RGB还使用了一种名为Bulletproof的零知识机制。在此机制下,资产所有者能够看到之前拥有资产的所有UTXO,但无法看到每次状态转换中转移的资产数量。

RGB的多功能性和用例

架构

发行者可以使用RGB架构,这些架构充当合约模板,可用于针对特定用例。

以下是一些示例:

  • RGB20 可替代资产发行
  • RGB21 非同质化资产发行
  • RGB22 去中心化数字身份
  • RGB23 可审核数据的可验证唯一历史日志
  • RGB24 去中心化全球域名系统
  • RGB25 收藏品资产发行

任何人都可以自由开发自己的架构用于不同的应用,无需征得RGB开发人员的许可。然而,预计大多数用例可以由几个主要架构覆盖。

AluVM

RGB采用专门设计的基于寄存器的RISC虚拟机AluVM。AluVM是图灵完备的,可以操作全局状态,提供与现有基于区块链系统相同的可用性保证。类似于EVM,AluVM的架构在闪电网络之上嵌套了一个RGB节点,在RGB节点上运行RGB客户端。

与闪电网络完全兼容

通过将特定代币的支付通道与闪电网络链接,RGB资产可以提供与常规闪电网络支付相同的用户体验和安全假设。这确保了低成本、快速和稳定的支付,可能会使整个生态系统受益,包括用户、开发者和闪电节点运营商。

与其他解决方案的比较

RGB VS TARO

TARO(现在称为Taproot Assets)是由Lightning Labs在2022年4月推出的基于Taproot的Taro协议,当时该公司刚刚完成7000万美元的B轮融资。

RGB和TARO都建立在CSV之上。由于两者设计相似,有人甚至认为TARO从RGB汲取了灵感。然而,现在看来它们关注的重点不同:TARO专注于代币,而RGB旨在实现智能合约功能。

与其他比特币解决方案的比较

与基于BIP300和BIP301并需要硬分叉的Drivechain不同,RGB与现有比特币技术和潜在的未来软分叉兼容,无需在比特币基础层进行修改。

Ordinals将所有数据提交到区块链上,而RGB只在链上保留数据承诺。考虑到UTXO提供的安全性,RGB消耗最少的链上空间,使其能够与闪电网络无缝集成。

RGB VS Rollup

Rollup是以太坊的扩展解决方案,允许用户将资金存入以太坊的智能合约,然后与同一Rollup中的其他用户进行交易。这些交易会定期汇总并提交到区块链上。

  • 此外,RGB 并非独立的区块链。挑战RGB生态系统仍处于初期阶段。尽管基础设施已经就绪,但生态系统目前仅提供少量基本应用,RGB可能需要一段时间来扩展其开发工具和用户群。
  • RGB 客户端存储大量数据,如果用于验证的链下数据丢失,将无法进行支出。因此,不仅需要存储密钥。此外,与比特币和其他全球共识系统不同,RGB 客户端无需查看或验证全球所有交易。相反,它们只需验证与其钱包相关的交易。这显著减少了每个客户端必须验证的数据量,使整个系统更具可扩展性。虽然在接收付款时验证大量数据可能看似会导致问题(因为验证缓慢意味着交易缓慢),但这仅在交易历史较长时才会成为问题。当这种情况发生时,将需要新的数据可用性层,允许客户端自愿共享特定合约的状态转换数据。这样,未来的接收者可以提前开始验证部分交易历史。
  • 对于流行的 CSV 代币,广泛采用可能会提高验证成本。
  • RGB 是由社区驱动的开发,依赖于团队的勤奋研究,这意味着进展缓慢且市场推广有限。

开发者学习曲线:除了比特币知识外,开发者还必须了解 RGB 的状态转换和合约。

生态项目

DIBA

网站: https://diba.io/

DIBA 是一个使用 RGB 智能合约协议的比特币 NFT 市场。

Cosminmart

网站: https://www.cosminmart.com/

Cosminmart 是一个基于 RGB 协议的生态系统,提供包括钱包、市场、启动平台和浏览器等功能。

Mycitadel

网站: https://mycitadel.io/

Mycitadel 具有广泛的功能,包括多重签名、时间锁定支出条件、Taproot 等。

Bitmask

网站: https://bitmask.app/

Bitmask 是一个钱包扩展程序。

关于 CoinEx

CoinEx 成立于 2017 年,是一家致力于简化加密货币交易的全球加密货币交易所。该平台为超过 200 多个国家和地区的 500 多万用户提供一系列服务,包括现货和保证金交易、期货、掉期、做市账户(AMM)和财务管理服务。CoinEx 最初的创立意图是创造一个平等和互相尊重的加密货币环境,致力于通过提供易于使用的产品和服务来打破传统金融壁垒,使加密货币交易对每个人都可以轻松进行。

参考文献

https://hackernoon.com/top-4-directions-of-bitcoin-ecosystem-scalability

https://docs.rgb.info/

https://github.com/RGB-WG/blackpaper/blob/master/README.md

https://docs.lightning.engineering/the-lightning-network/taproot-assets

https://docsend.com/view/he8x9erkjmphphvn

根据相关部门针对数字货币行业的监管要求,我们无法为您IP所在地区的用户提供服务。