BRC-20交易指南

概述

Bitcoin Request for Comment 20(BRC-20)是受以太坊 ERC-20 协议启发的代币标准。它由一位名为 Domo 的匿名开发者创建,并通过比特币的 Taproot 升级实现,引入了 Ordinals 概念。BRC-20 代币不像 ERC-20 代币那样使用智能合约,而是允许用户在比特币区块链上存储脚本文件,将代币归属给个别的 satoshis(比特币的最小单位)。BRC-20 代币还可以嵌入 JSON 数据,便于部署、铸造和转移代币。

BRC-20之前

在引入 BRC-20 之前,任何添加到比特币交易中的额外数据通常是使用称为 OP_RETURN 的命令执行的。该命令允许在UTXO中包含最多 80 字节的元数据。其中一个例子是广播 Rick Astley 的《never gonna give you u 》歌词的交易。

然而,BRC-20 使用的 Ordinal 方法与 OP_RETURN 不同,它在交易本身中包含了元数据。2021 年 segwit 更新增加了见证数据存储容量,超出了 1MB 区块限制,而 taproot 脚本路径支出脚本提供了更多的空间来嵌入内容,允许最多 4MB 的数据。

BRC-20的诞生

Ordinals 使用逻辑排序系统称为 ordinal theory 将数据铭刻到个别的 satoshis 上,通过为每个 satoshi 分配一个唯一的编号来实现。这种方法允许在比特币区块链上存储不可变的信息,而无需2层解决方案。带有铭刻的 satoshis 被称为 ordinals。

发送BRC-20交易

发送 BRC-20 交易涉及两个阶段的过程。首先,必须提交一个启用了 Taproot 的输出(表示为“bc1p…”地址),该输出必须承诺包含铭刻内容的脚本。该内容序列化在一个信封中,夹在 OP_FALSE 和 OP_ENDIF 操作码之间。这些操作码表示的头部和尾部用于界定内容。这是必需的,因为每个 satoshi 的存储容量有限,而较大的内容(如图像)需要分割成多个部分,并铭刻在不同的 satoshis 上。

一个示例是创建一个“PEPE IS KING”文本的铭刻:

内容被分割并存储在两个 OP 代码(OP_FALSE 和 OP_ENDIF)之间的头部和尾部之间

假设您有一张想要存储在比特币区块链上的老虎图片。由于每个硬币的存储容量有限,我们需要将老虎切成较小的块,就像拼图一样。我们为每个块分配一个序列号,从 1 开始,一直到 N,其中 N 表示拼图的最后一块。

为了将老虎铭刻到区块链上,我们将每个拼图块连接到不同的比特币硬币上,按照序列号(Ordinal Theory)的顺序。换句话说,我们将第一个拼图块铭刻在一个硬币上,第二个拼图块铭刻在另一个硬币上,依此类推,直到我们将整个老虎铭刻在单独的硬币上。每个比特币硬币,也称为 UTXO(未花费的交易输出),是不可替代的,并代表老虎拼图的特定部分。

为了确保铭刻保持安全,我们发送了一笔特殊的交易来锁定老虎拼图块与特定硬币之间的连接。这笔交易防止了任何篡改或数据丢失。

这创造了不可替代性,并意味着您可以铭刻某些内容到一个 sat(例如 jpeg、文本、URL 等),并通过将特定的 sat 发送到他们的地址来将此内容转移到其他人那里。

然而,Taproot 和 MAST 升级的一个关键部分是,在它被花费之前,这个脚本不会在链上被揭示,因此您需要创建另一个交易来揭示信息。在此揭示交易中,由提交交易创建的输出被花费,从而在链上揭示了铭刻内容。

要发送和接收 BRC-20 代币,需要使用特殊的钱包,如 ordinal 钱包或 unisat 钱包。使用普通钱包将把代币视为常规硬币,可能导致铭刻数据的丢失。satoshi 的顺序至关重要,因为每个 satoshi 代表整体数据的特定部分。如果在交易过程中破坏了顺序,那么数据就无法重构。

假设您的 btc 钱包有多个 btc,共计 1 btc:

A 0.2、B 0.4、C 0.1、D 0.3

保持 ordinal 的准确顺序至关重要。为了说明这一点,让我们以狮子图像为例。想象一下,狮子的头发铭刻在硬币 A 上,而狮子的脸铭刻在硬币 B 上。当您发起交易时,处理该交易的矿工可能会优先处理最大的交易或将输出与您的输入相匹配。不幸的是,这可能导致数据丢失,因为如果硬币的顺序被破坏,您将无法重构出完整的狮子图像。

安全性

在安全方面,ordinal 的序列号和其数据插入到比特币交易的见证签名字段中。这些数据验证了合法的资金所有权,并防止了双重支付。铭刻的成本通常较低,因为网络费用取决于被铭刻的数据量,而不是像迷因币那样高。

看看这个 Bored Ape Yatch Club和它的见证数据

需要注意的是,当前的 BRC-20 标准尚未正式认可。因此,钱包提供商和其他基础设施服务需要就是否支持这一标准达成共识,或者等待潜在的新标准出现。

参考:

https://tara-annison.medium.com/a-comprehensive-explanation-of-ordinals-nfts-on-bitcoin-67b11868e74f

Last updated