Cregis Research:解读 BRC-20 的前世今生

Cregis
2023年5月22日 21:16
收藏
BRC-20 近期爆火的原因在于它是基于比特币的代币标准,将 NFT 和其他代币引入了比特币生态。

作者:Cregis Research

 

一、BRC-20 背景与发展历程

 

随着区块链技术的快速发展,各种加密货币和代币协议不断涌现。在以太坊的 ERC-20 代币协议成为行业标准之际,比特币社区也迎来了实验性质的 BRC-20 代币标准。BRC-20 标准采用简洁、安全的设计理念,实现了代币的部署、铸造和转移。BRC-20 基于比特币网络,通过在聪(Satoshis)上记录数据的方式实现代币的发行和管理。本文将介绍 BRC-20 的原理和应用以及优势和缺陷等方面的内容,以期为读者提供全面深入的了解。

长期以来,人们觉得比特币生态相对于以太坊来说不具有扩展性,因为除了转账交易以外,区块上几乎无法保存任何数据。BRC-20 近期爆火的原因在于它是基于比特币的代币标准,将 NFT 和其他代币引入了比特币生态。

重要的里程碑:

2020 年 1 月,比特币核心开发者 Pieter Wuille 发布了 BIP 341 和 BIP 342 比特币改进提案为比特币生态带来了可能性。

2022 年 6 月,Casey Rodarmor 对 BIP 342 中的 Tapscript 做了技术延伸与扩展,并且提出新的比特币改进方案 ordinal (序数)和 inscription(铭文),主要实现了比特币链上存储数据的功能。

2023 年 3 月,Domodata 进行 ERC-20 实验,通过 Ordinal 协议和 inscriptions 功能,向比特币链上存储 json 数据,证明链下代币余额状态,变相的实现了向比特币生态发布代币的功能。

Domodata(BRC-20 作者)认为 BRC-20 标准只是个有趣的实验,通过实验向我们展示了可以通过以创建链上铭文的方式证明链下代币余额的状态。他觉得这只是一次尝试,BRC-20 标准不应该被认为是唯一标准,同时鼓励比特币社区的人们共同努力修补和优化标准,并且 BRC-20 的作者还认为在比特币上发行资产目前是存在着更好的方案的。

 

二、BRC-20 前置知识

 

BRC-20 是基于 Ordinal 协议的代币标准。Ordinal 协议是一种针对比特币网络的扩展协议,它允许在比特币聪上铭刻数据。基于 Ordinal 协议,BRC-20 可以实现代币的发行、转移和交易。

BRC-20 的原理相对复杂,需要了解比特币网络上的一些概念,比如聪(Satoshis)、Ordinal、Inscription 和 Taproot 升级等。其中,聪是比特币网络的最小单位,Ordinal 理论对每个聪进行编号,Inscription 则是将数据刻在每个聪上,而 Taproot 升级相关的技术则是控制这些 Inscription 的机制。这些概念共同构成了 BRC-20 标准的运作逻辑。

(一)Satoshis( 聪 )

Satoshis(聪)不是比特币,而是比特币的最小单位, 1 个比特币可以分割成 1 亿个聪。

(二)Ordinal( 序数 )

序数理论是一种协议,用于将序列号分配给 satoshis(比特币的最小细分),并在交易花费时跟踪这些 satoshis。这些序列号都是很大的数字,比如这个 804766073970493 。每个聪,也就是一个比特币的 ¹⁄₁₀₀₀₀₀₀₀₀,都有一个序号。

ord 是一个开源项目(https://github.com/casey/ord)。该项目包括几个部分一个是 ordinal 方案对比特币的改进建议,另外一个是用 rust 开发的 ord 工具,集成了索引、区块浏览器和命令行钱包的功能。后面我们会讲解到如何通过 ord 工具包刻录自己的铭文。

 

(三)inscription( 铭文 )

Ordinal 协议通过为每个聪分配唯一编号并添加注释来实现扩展功能。这个过程被称为铭文 (inscription),即为聪赋予衍生含义。注释即铭文内容写在了交易见证 (witnesses) 当中,使得聪可以刻写任何类型的内容。铭文内容大小限制在 3.9 M 以下会比较安全,因为铭文内容是包含在交易中的,所以内容越大,铭文交易需要支付的手续费就越高。

 

我们可以通过下载 Bitcoin Core 和 ord,创建自己的 Inscriptions。

#安装 ord

curl --proto '=https' --tls v1.2 -fsLS https://ordinals.com/install.sh | bash -s

#打印 ord 版本号

ord --version

#创建比特币核心钱包

ord wallet create

#获取钱包地址

ord wallet receive

#查看待处理交易

ord wallet transactions

#创建 Inscriptions( 铭文 )

ord wallet inscribe --fee-rate FEE_RATE FILE

#发送铭文

ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>(四)BIP 341 和 BIP 342 

BIP 341 和 BIP 342 是两个与比特币改进相关的提案。BIP 全称为 Bitcoin Improvement Proposal(比特币改进提案),用于描述比特币协议、客户端或环境的新特性、流程或规范。BIP 341 和 BIP 342 与 Taproot 升级有关,主要目的是提高比特币的隐私性和扩展性,而不是直接用于向区块链写入数据,但是 Taproot 升级可以使用比特币脚本和通过交易向区块链低成本写入数据,为 brc-20 标准进行了技术铺垫。

  • BIP 341 :Segregated Witness(隔离见证)输出,这个提案定义了新的输出类型,该输出类型实现了 Taproot 功能。这使得支持 Taproot 的交易可以与其他类型的交易在一个区块中共存,同时维持向后兼容性。BIP 341 为新的输出类型提供了详细的描述和规范。
  • BIP 342 :Tapscript,这个提案描述了 Taproot 内部的脚本语言,称为 Tapscript。Tapscript 基于比特币的现有脚本语言,并对其进行了扩展和优化。BIP 342 定义了 Tapscript 的语法、运行环境和执行规则。这些改进使得在比特币网络中执行复杂的智能合约变得更加高效和隐私。

常规我们可以使用 OP_RETURN 操作码将一小段数据(最多 80 字节)附加到交易输出中,从而将数据永久写入比特币区块链中。如果需要存储更多的数据我们需要采用数据分割的方式,创建多个包含 OP_RETURN 的交易,向每个小块分别写入一段数据,这种方法会大大增加交易费用。

当 BIP 341 和 342 出现时,我们可以使用 P 2 WSH(Pay-to-Witness-Script-Hash),P 2 WSH 是 Segregated Witness(隔离见证)的一部分,他允许你创建一个比特币地址,该地址表示 Witness-Script(见证脚本)的散列值,要花费这个地址的资金,必须提供满足该脚本的解锁条件的输入。具体流程如下:

  1. 创建一个包含您要存储的数据的见证脚本。您可以使用 OP_PUSHDATA 操作码将数据嵌入脚本中。
  2. 计算见证脚本的散列值(SHA-256 )。
  3. 使用散列值创建一个 P 2 WSH 地址。
  4. 创建一个比特币交易,将资金发送到 P 2 WSH 地址。
  5. 广播交易到比特币网络。

我们进行交易时,将解锁脚本从交易主体中分离,存储在 Witness(见证数据)中。通过该技术我们可以在任何比特区块的 Witness 部分存储高达 4 MB 的任意数据。这构成了任何比特币 Inscriptions(铭文)的上限为 4 MB。

 

三、BRC-20 的技术原理

 

基于 ordinal 铭文的 BRC-20 标准,利用 Satoshis( 聪 ) 来存储和管理代币的各种信息,如代币名称、符号、总量等,将这些信息以 JSON 格式编码后写入 Satoshis( 聪 ) 中,组成了一个一个的铭文 (inscriptions)。最后通过汇总所有铭文 (inscriptions) 的活动,便可以找到 BRC-20 通证的余额状态,从而实现了代币的部署、铸造和转账。

 

BRC-20 是一种基于比特币的实验性代币标准,核心思想是通过序数理论 (ordinal theory) 创建、铸造和转移 BRC-20 通证来实现在比特币区块链上进行资产管理。该实验主要包括以下几个方面:

 

部署(Deploy):创建 BRC-20 通证,需要设置通证参数,如代币符号、最大供应量和铸币限制等。部署过程仅用于初始化 BRC-20 ,不影响状态。

{

 "p": "brc-20",

 "op": "deploy",

 "tick": "ordi",

 "max": "21000000",

 "lim": "1000"

}

*************** 注释 ****************

"p": "brc-20":指定协议为 BRC-20 ,有助于其他系统识别和处理 BRC-20 事件。

"op": "deploy":指定操作类型为部署。

"tick": "ordi":指定通证的 4 个字母标识符,这里用"ordi"作为演示文档中的示例,它的最大供应量已达到。

"max": "21000000":设置通证的最大供应量为 21, 000, 000 。

"lim": "1000":设置每个序数的铸币限制为 1000 。

铸造(Mint):使用铸造功能铸造一定数量的 BRC-20 通证。铸造操作向铸币功能的初始所有者提供相应余额。若通证设有铸币限制,请确保不超过该限制。

{

 "p": "brc-20",

 "op": "mint",

 "tick": "ordi",

 "amt": "1000"

}

*************** 注释 ****************

"p": "brc-20":指定协议为 BRC-20 ,有助于其他系统识别和处理 BRC-20 事件。

"op": "mint":指定操作类型为铸造。

"tick": "ordi":指定通证的 4 个字母标识符,这里用"ordi"作为示例。

"amt": "1000":设置铸造的通证数量为 1000 。

转移(Transfer):通过转移功能转移 BRC-20 通证的一定数量。转移操作从发送者的余额中扣除通证,并将其添加至接收者的余额。转移功能仅在第一次转移时生效。

{

 "p": "brc-20",

 "op": "transfer",

 "tick": "ordi",

 "amt": "100"

}

*************** 注释 ****************

"p": "brc-20":指定协议为 BRC-20 ,有助于其他系统识别和处理 BRC-20 事件。

"op": "transfer":指定操作类型为转移。

"tick": "ordi":指定通证的 4 个字母标识符,这里用"ordi"作为示例。

"amt": "100":设置转移的通证数量为 100 。

状态追踪:我们创建链上铭文 (inscriptions),向其中存储符合 BRC-20 标准的 json 数据的方式,可以证明链下代币部署、铸造,转移的状态。通过汇总链上所有铭文 (inscriptions) 的活动,可以找到 BRC-20 代币的余额状态。

 

 

四、BRC-20 的应用与操作

 

(一)如何创建 BRC-20 钱包

1.下载并创建钱包:ordinalswallet.com2.点击您的钱包个人资料。3.点击「接收」。4.复制钱包地址。5.前往任何支持 taproot 的交易所并将一些 BTC 提现到此地址。(Binance、Bybit 等)

(二)如何购买 BRC-20 代币

1.点击 BRC 20 选项卡,从列表中选择任意代币。(以 $PEPE 为例)2.现在检查代币数量,每个代币价格。点击「立即购买」。3.确认密码。4.点击「立即购买」并确认交易。

(三)如何铸造自己的 BRC-20 代币

1.转到「铭文」部分。2.选择「BRC-20 」,输入代币简称(4 个字母)和数量,然后点击「提交」。3.选择网络费用,然后点击「铭文」。

(四)如何免费铸造其他代币

1.转到 BRC-20 列表,查看每个代币供应量下的进度条。(如果进度条不是 100% ,那么您可以铸造该代币)。2.点击代币>>检查详情>>铸币。3.设置费用>>铭文。4.确认交易。

 

五、BRC-20 的风险

 

(一)偏离去中心化原则

BRC-20 代币的发行和使用机制导致了某种程度的中心化。这是因为 BRC-20 代币需要依赖特定的平台和交易所进行发行、交易和管理,而这些平台和交易所往往掌握着更多的资源和权力。这与比特币去中心化的核心精神相悖,因为比特币的目标是实现一个去中心化、公平且开放的货币体系。

(二)缺失公平和安全性

BRC-20 代币的铭文先到先得机制可能导致不公平。这是因为在比特币网络上,矿工可以选择处理他们想要处理的交易,而 BRC-20 代币的铭文先到先得机制让矿工更倾向于处理那些支付更高费用的交易,而忽略了其他交易。这可能导致一部分用户因为支付不起高昂的交易费用而被排除在外。此外,BRC-20 代币的安全性不及比特币网络本身,因为其依赖于比特币网络之上的第二层技术,可能会存在安全漏洞和风险。

(三)风险

BRC-20 代币可能会引发名为 time-bandit attacks 的 MEV 策略攻击。这是因为 BRC-20 代币在比特币网络上的交易和应用可能导致矿工有机会利用 MEV(矿工可提取价值)策略攻击,通过操纵交易顺序来谋取利益。这对网络的整体安全性和可靠性产生负面影响。此外,BRC-20 代币还可能引起监管对比特币的打击风险。这是因为 BRC-20 代币的发行和交易可能涉及到一些非法活动,如洗钱、金融欺诈等,从而导致政府和监管机构对整个比特币网络产生担忧并采取措施进行打压。

 

六、BRC-20 投资建议

 

虽然 BRC-20 协议目前处于实验阶段,但 BRC-20 协议为比特币社区提供了一种新的代币实现方式,BRC-20 协议的出现有助于推动比特币生态的创新,吸引更多的开发者和用户加入比特币社区。未来,随着比特币社区对 BRC-20 协议的优化和改进,它将在加密货币领域发挥更大的作用。

目前面临的一些挑战。首先,与以太坊的 ERC-20 相比,BRC-20 无法与智能合约进行交互,无法执行自动化操作,如自动转账或分红等。这限制了 BRC-20 在某些场景下的应用潜力。其在去中心化金融(DeFi)和其他应用场景的应用可能受到限制。此外,由于 BRC-20 协议尚处于实验阶段,其可扩展性和兼容性仍需进一步探讨。

BRC-20 作为基于 Ordinal 协议的一个实验,其本质是对 Ordinal 协议的一次应用实验,该实验为我们提供了新的思路。投资者在进行投资时,应具备长期的视角。未来可能会有更多基于 Ordinal 协议的优化和创新出现,投资者应关注这些发展趋势,以做出更明智的投资决策。

关于 Cregis Research

Cregis 是web3.0 时代的资产管理协作平台,为用户提供 MPC 钱包+企业级财务 SaaS 工具,目前已安全运营 6 年。

Cregis Research 是旗下知识分享平台,希望为web3.0 爱好者提供 0 水分、 0 误导、 0 商业倾向的关于区块链和密码学底层技术的科普内容。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击 “举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界