RGB Magic:比特币柏拉图区块链数据智能的客户端合约。垂直搜索。人工智能。

RGB Magic:比特币客户端合约

这是 Federico Tenga 的评论社论,Federico Tenga 是比特币项目的长期贡献者,具有初创公司创始人、顾问和教育家的经验。

“智能合约”一词早于区块链和比特币本身的发明。 它的第一次提及是在 尼克·萨博 (Nick Szabo) 1994 年的文章,谁将智能合约定义为“执行合同条款的计算机化交易协议”。 虽然根据这个定义,由于其脚本语言,比特币从第一个区块开始就支持智能合约,但这个术语后来才被以太坊的发起人所普及,他们将最初的定义扭曲为“在全球共识中由所有节点冗余执行的代码”网络”

虽然将代码执行委托给全球共识网络具有优势(例如,很容易部署不受约束的合约,例如流行的自动化做市商),但这种设计有一个主要缺陷:缺乏可扩展性(和隐私)。 如果网络中的每个节点都必须冗余地运行相同的代码,那么在不过度增加节点运行成本(从而保持去中心化)的情况下实际可以执行的代码量仍然很少,这意味着只有少量合约可以被执行。执行。

但是,如果我们可以设计一个系统,让合同条款仅由相关各方执行和验证,而不是由网络的所有成员执行和验证呢? 让我们想象一下一家公司想要发行股票的例子。 与其在全球分类账上公开发布发行合同并使用该分类账跟踪所有未来的所有权转让,它可以简单地私下发行股票并将进一步转让这些股票的权利传递给买家。 然后,转让所有权的权利可以像对原始发行合同的修改一样传递给每个新的所有者。 这样,每个所有者都可以通过阅读原始合同并验证所有移动股份的修改历史是否符合原始合同中规定的规则来独立验证他或她收到的股份的真实性。

这其实也不是什么新鲜事,它确实是在公共登记册流行之前用于转移财产的相同机制。 在英国例如,直到 90 世纪 15 年代,所有权转让时才强制登记财产。 这意味着今天英格兰和威尔士仍有超过 15% 的土地未注册。 如果您要购买未注册的财产,而不是在登记处检查卖方是否是真正的所有者,您将必须验证至少 XNUMX 年之前的完整所有权链(这段时间被认为足够长,可以假设卖方拥有财产的充分所有权)。 这样做时,您必须确保已正确执行任何所有权转让,并且已全额还清用于先前交易的任何抵押。 这种模式的优势在于隐私优于所有权,而且您不必依赖公共土地登记册的维护者。 另一方面,对于买方而言,它使卖方所有权的验证变得更加复杂。

未注册的房地产产权契据

来源: 未注册房地产产权契据

如何完善未登记财产的转让? 首先,通过使其成为数字化过程。 如果有可以由计算机运行的代码来验证所有权转移的所有历史记录是否符合原始合同规则,那么买卖就会变得更快、更便宜。

其次,为避免卖方双重支出其资产的风险,必须实施发布证明系统。 例如,我们可以实施一项规则,即每次所有权转让都必须在知名报纸的预定义位置进行(例如,将所有权转让的哈希值放在纽约报纸首页的右上角)次)。 由于您不能将一次传输的哈希值两次放在同一个地方,这可以防止双花尝试。 但是,为此目的使用著名报纸有一些缺点:

  1. 您必须购买大量报纸才能进行验证。 不太实用。
  2. 每份合同都需要在报纸上有自己的空间。 不是很可扩展。
  3. 报纸编辑可以很容易地审查,或者更糟糕的是,通过在您的插槽中放置一个随机哈希来模拟双重支出,让您资产的任何潜在买家认为它之前已经出售过,并阻止他们购买它。 不是很不信任。

由于这些原因,需要找到一个更好的地方来张贴所有权转让证明。 还有什么比比特币区块链更好的选择呢?比特币区块链是一个已经建立起来的可信公共分类账,具有强烈的动机来保持它的抗审查性和去中心化性。

如果我们使用比特币,我们不应该在块中指定必须发生所有权转移承诺的固定位置(例如在第一笔交易中),因为就像纽约时报的编辑一样,矿工可能会搞砸它。 更好的方法是将承诺置于预定义的比特币交易中,更具体地说,置于源自与待发行资产所有权相关联的未花费交易输出 (UTXO) 的交易中。 资产和比特币 UTXO 之间的联系可以发生在发行资产的合约中,也可以发生在随后的所有权转移中,每次都使目标 UTXO 成为转移资产的控制者。 通过这种方式,我们已经明确定义了转移所有权的义务应该在哪里(即在源自特定 UTXO 的比特币交易中)。 任何运行比特币节点的人都可以独立验证承诺,矿工或任何其他实体都无法以任何方式审查或干预资产转移。

utxo所有权的转移

由于在比特币区块链上我们只发布所有权转让的承诺,而不是转让内容本身,因此卖方需要一个专门的沟通渠道来向买方提供所有权转让有效的所有证据。 这可以通过多种方式完成,甚至可以通过打印校样并用信鸽运送它们,虽然有点不切实际,但仍然可以完成这项工作。 但避免审查制度和隐私侵犯的最佳选择是建立直接的点对点加密通信,与鸽子相比,它还具有易于与软件集成以验证从交易对手收到的证据的优势。

刚刚描述的用于客户端验证合同和所有权转移的模型正是 RGB 协议实现的模型。 使用 RGB,可以创建一个定义权利的合约,将它们分配给一个或多个现有的比特币 UTXO,并指定如何转移它们的所有权。 合同可以从称为“模式”的模板开始创建,在该模板中,合同的创建者仅调整参数和所有权,就像传统法律合同所做的那样。 目前,RGB 中有两种类型的模式:一种用于发行可替代令牌(RGB20) 和第二个用于发行收藏品 (RGB21),但在未来,任何人都可以以无需许可的方式开发更多模式,而无需在协议级别进行更改。

举一个更实际的例子,可替代资产(例如公司股票、稳定币等)的发行者可以使用 RGB20 模式模板并创建一个合约,定义它将发行多少代币、资产名称和一些额外的相关元数据用它。 然后它可以定义哪些比特币 UTXO 有权转让所创建代币的所有权,并将其他权利分配给其他 UTXO,例如进行二次发行或重新命名资产的权利。 每个接收此合约创建的代币的客户将能够验证 Genesis 合约的内容,并验证所接收代币历史上的任何所有权转让是否符合其中规定的规则。

那么我们今天在实践中可以用 RGB 做什么呢? 首先,与任何现有替代方案相比,它使代币化资产的发行和转移具有更好的可扩展性和隐私性。 在隐私方面,RGB 受益于所有与传输相关的数据都保存在客户端这一事实,因此区块链观察者无法提取有关用户财务活动的任何信息(甚至无法区分包含 RGB 承诺的比特币交易来自普通的),此外,接收方只与发送方共享盲 UTXO(即她希望接收资产的 UTXO 和随机数之间的串联散列)而不是 UTXO 本身,因此它不是付款人可以监控收款人未来的活动。 为了进一步增加用户的隐私,RGB还采用了防弹密码机制,将金额隐藏在资产转移历史中,即使是未来的资产所有者也能模糊地看到先前持有者的财务行为。

在可扩展性方面,RGB 也提供了一些优势。 首先,大部分数据都保存在链下,因为区块链只用作承诺层,减少了需要支付的费用,这意味着每个客户只验证它感兴趣的传输,而不是所有的全球网络的活动。 由于 RGB 传输仍然需要比特币交易,因此节省的费用可能看起来很少,但是当您开始引入交易批处理时,它们很快就会变得巨大。 事实上,通过在单个比特币交易中的单个承诺,可以将与 UTXO 相关的所有代币(或更一般地说,“权利”)转移给任意数量的接收者。 假设您是一家同时向多个用户付款的服务提供商。 使用 RGB,您可以在单笔比特币交易中向请求不同类型资产的数千名用户提交数千笔转账,从而使每笔支付的边际成本完全可以忽略不计。

低价值资产发行者的另一种费用节省机制是,在 RGB 中,资产的发行不需要支付费用。 发生这种情况是因为发行合约的创建不需要在区块链上提交。 合约简单地定义了新发行的资产将分配给哪个已经存在的 UTXO。 因此,如果您是一位对创建收藏代币感兴趣的艺术家,您可以免费发行任意数量的代币,然后只需在买家出现并请求将代币分配给他们的 UTXO 时支付比特币交易费。

此外,由于 RGB 建立在比特币交易之上,因此它也与闪电网络兼容。 虽然在撰写本文时尚未实施,但可以创建特定于资产的闪电通道并通过它们路由支付,类似于它在普通闪电交易中的工作方式。

结论

RGB 是一项突破性的创新,它使用全新的范例开辟了新的用例,但是有哪些工具可以使用它呢? 如果你想试验技术本身的核心,你应该直接尝试 RGB节点. 如果您想在 RGB 之上构建应用程序而不必深入研究协议的复杂性,您可以使用 rgb-lib 库,它为开发人员提供了一个简单的界面。 如果你只是想尝试发行和转移资产,你可以玩 安卓版 Iris 钱包,其代码也开源于 GitHub上. 如果您只想了解有关 RGB 的更多信息,可以查看 这个资源列表.

这是 Federico Tenga 的一篇客座文章。 表达的观点完全是他们自己的,不一定反映 BTC Inc 或比特币杂志的观点。

时间戳记:

更多来自 比特币杂志