当前位置:区块链之家 > 比特币 > Oridinals协议与BRC-20标准介绍

解读比特币Oridinals协议与BRC-20标准的原理创新与局限性

发布:2023-12-01 09:49:01 59


比特币Oridinals协议和BRC-20标准是加密货币领域的两个重要创新,Oridinals协议是一种解决比特币交易可追溯性问题的方案,通过对交易输出进行混淆,保护交易隐私,与传统的比特币交易相比,Oridinals协议改变了交易输入和输出的链接方式,使得交易无法被追溯到特定的输入,这种方式保护了用户隐私,但也引发了一些监管和合规方面的问题,另一方面,BRC-20标准是在以太坊网络上推出的一套代币发行规范,类似于以太坊的ERC-20标准,BRC-20标准使得代币的发行和交易变得更加简单和便捷,相比于以太坊的ERC-20标准,BRC-20标准在实现机制和技术层面上有所创新,但也存在一些局限性,比如在交易速度和扩展性方面仍有待提高,比特币Oridinals协议和BRC-20标准都是为了提升加密货币领域的隐私性和交易便捷性而进行的创新,但也需要在实际应用中不断探索和优化,下面看下详细内容。

Oridinals协议与BRC-20标准介绍

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.
——比特币创世区块

最近 BTC 上手续费区块收入占比最高到 74%,大约 4.85 BTC 手续费,而仅仅两个月前才 2% 左右,源于数个百倍币的诞生以及大众 fomo 的情绪,让 BRC20 的市场迎来爆发,5 月 7 日 Bitcoin 网络上有超过 40 万笔交易待确认,虽然他和我们熟知的 ERC20 虽然都被称为代币标准,但是实现的机制原理差异巨大,本文将从技术视角尝试解读其实现以及价值。

1、Ordinals 协议的核心思想

1.1、概述

每一枚比特币都是由一亿个「聪(Satoshis)」构成 (1 btc = 10^8 sat),这些 sat 每一个都有唯一标识且无法分割。

1、根据比特币里面 sat 的「序数(ordinal)」,

2、赋予每一个聪特定的含义「Inscriptions(铭刻)」

这就是 Ordinals 协议。

2、聪是如何编号的?

他借由比特币独特的出块流程和 UTXO 模型,从而让每一个「聪(sat)」具有独特的编号。

比特币是在「挖矿」中产生的,挖矿过程是矿工通过解决复杂的数学问题(POW)获得出块权,来验证新交易并添加到区块链中,比特币网络每 10 分钟左右会生成一个新的区块,每个区块包含一组新的交易和之前区块的哈希值,其中矿工的收益又被称为Coinbase 区块

在以太坊中采用「账户余额模型」,即每个地址有单独的存储结构和空间余额(balance)便是其中的一个字段。

这种模型的优点是:

  • 简单,非常容易理解和编码实现。
  • 高效,每笔交易只需要验证发送账户是否有足够的余额来支付交易;

缺点:会出现双重支出攻击。

但是比特币网络不同,他账户的余额并不是由一个数字表明,而是由当前区块链网络中所有跟当前账户有关的 UTXO(未花费的交易输出)组成。

2.1、比特币的 UTXO 模型

UTXO(Unspent Transaction Output)是一种账本模型,在比特币系统中,每一笔交易都会产生一些输出,比如转账交易的输出就是接收方的比特币地址和转账金额。这些输出被存储在 UTXO 集合中,用于记录未花费的交易输出。

每一笔交易都由若干个输入(Input) 和若干个 输出(Output) 构成。每一笔交易都要花费一笔输入,产生一笔输出,而其所产生的输出,就是「未花费过的交易输出」;一个 Input 指向的是前面区块的某个 Output,只有 Coinbase 交易没有输入,只有凭空输出。

UTXO 模型的优点是更加安全和隐私保护,因为它没有中心化的账户记录和传统账户模型可能泄露的账户余额信息。

UTXO 模型的缺点是增加了交易的验证成本和存储成本。每次交易时都需要验证交易的支付和接收是否合法,同时也需要存储大量的 UTXO 信息。

所以任何交易,总是可以由 Input 溯源到 Coinbase 交易 继而追溯每一个聪被挖矿挖出时的序号。

所以我们说自己有多少比特币(bitcoin)实际上是指的我们拥有所有权的那些 UTXO 中所指明的比特币(bitcoin)的数量,因此如果我们想要统计一个地址的 BTC 数量:

  • 从创始块开始扫描;
  • 遇到某笔交易的某个 output 是指定的地址,余额增加;
  • 遇到某笔交易的某个 input 是指定的地址,余额减少;

2.2、sat 和 UTXO 的关系

注意是每一个 sat 不是 UTXO! 由于 UTXO 是不可再分的最小交易单元,因此 sat 只能存在于 UTXO 中,且 UTXO 包含了一定范围的 sats,且只能在花费某一 UTXO 后产生新的输出中对 sats 编号进行拆分

比如我在创世块或者 CoinBase 区块获得了 50 个 BTC 的奖励,对应的 Input 和 Output 则是

### inputs // 为空

### outputs :addr_a:[0 -> 4,999,999,999] sats

如果我进行一笔 20BTC 的转账给 B 地址,则 UTXO 集中会呈现,这里的 input 是上一笔的 output

### inputs"

addrA: [0 -> 4,999,999,999] sats

### outputs

# 30 btc to addrA, index=0

addrA: [0 -> 2,999,999,999] sats

# 20 btc to addrB, index=1

addrB: [3,000,000,000 -> 4,999,999,999] sats

这里的 sats 消耗顺序,是基于 FIFO「先进先出」(First-In-First-Out )原则,在交易费用相同的情况下,较早的 UTXO 将比较晚的 UTXO 更优先被用于交易。

这些就是 Ordinal NFT 的核心技术支撑,非常的简洁但是却能衍生出很多好玩的东西! 这个 Ordinal Number 甚至可以用来表示域名等。

2.3、Ordinal number 的表示方法

Ordinal Number 则有很多种表示方式,比如度数表示法(Degree Notation)

A°B′C″D‴

│ │ │ ╰─ Index of sat in the block( 每 10 分钟一个块 )

│ │ ╰─── Index of block in difficulty adjustment period( 每 2016 个块调整一次,~2 周 )

│ ╰───── Index of block in halving epoch( 每 210,000 个块减半,~4 年一次 )

╰─────── Cycle, numbered starting from 0( 减半和难度调整时间重合,~24 年一次 )

这种表示法有趣的地方在于,它根据比特币自身的周期性特征,人为地为 sat 创造了一种稀缺性:

common: 所有不是区块 mint 出的第一个 sat 的 sats

uncommon: 该 sat 是某区块挖出的第一个 sat(D==0)

rare: 难度调整时挖出的第一个 sat(C==0&&D==0)

epic: 减半时挖出的第一个 sat(B==0&&D==0)

legendary: 发生 Cycle 轮换时挖出的第一个 sat(B==C==D==0)

mythic: 创世区块挖出的第一个 sat(A==B==C==D==0)

比如:https://ordinals.com/sat/1°0′0″0‴,所以目前产生 Fomo 追逐的核心点并非是 mint 的内容中包含什么东西,而是对应的 Ordinal Number 这样的序号值。

如果说序号是结合了比特币原生的诸多技术特性产生的,那么铭刻(Inscriptions)则是注入 sat 具体内容的方法,所以问题便来到,有了唯一标识的 sat 如何定义其绑定的任意内容呢?

3、如何 Inscriptions(铭刻)任意内容

在讨论铭刻之前,咱们先了解下比特币扩容的两次重大升级:SegWit 和 Taproot

3.1、SegWit(隔离见证)

他是比特币的一个重大升级于 2017 年 8 月激活,主要目的是优化比特币的交易处理能力、降低交易费用,并在更安全的条件下实现比特币的扩容。SegWit 是一个软分叉(Soft Fork)升级,涵盖多个 BIP(141、142、143、144 和 145),所谓软分叉也就是可以兼容老版本的比特币客户端,没有破坏比特币网络的兼容性。

它的核心改变是把交易中的签名(Witness Data)从交易数据中分离出来,使交易数据更小,从而减少交易费用,并提高比特币网络的容量。

SegWit 的实现方式是将所有的交易数据分为两部分,一部分是交易的基本信息(Transaction Data),另一部分是交易的签名信息(Witness Data),并把签名信息保存在一个新的数据结构中,是被称为「隔离见证(witness)」的新区块中,并与原始交易分开传输。

这样,比特币交易的交易数据大小提高了上限,同时降低了签名数据的交易费用。在 SegWit 升级之前,比特币的容量上限是 1MB,而 SegWit 之后,比特币交易的容量上限达到了 4MB。

所以 Oridnals Inscription 的本质就是把铭刻数据藏在见证数据中。

3.2、Taproot 升级

与 SegWit 升级类似,Taproot 升级同样是一种软分叉升级,是 Bitcoin Core 贡献者 Gregory Maxwell 在 2018 年提出的比特币升级提案,它并不会改变比特币协议本身,而是对现有的比特币交易机制进行改进。

该升级主要包含 3 个技术概念 —— P2SH、MAST 和 Schnorr 。其结果是让复杂的交易如多签名交易、时间锁交易看起来如同普通的比特币交易,增强了比特币的隐私性,目的是推动了比特币实现智能合约部署、拓展用例等各种场景升级。

在 SegWit 升级中,比特币协议增加了一个新的版本号,用于表示新的交易格式。在 Taproot 升级中,比特币协议最重要的更改是将脚本验证程序从 ScriptVerify flag 更新为 ScriptVerifyv2 flag,以支持 Tapscript。

一个Tapscript的上链需要分为两个步骤:commit 和 reveal。而 Inscription(铭刻)的内容则包含在 reveal 交易的第一个输入中,从而铭刻在此交易的第一个输出的第一个 sat 上。比如

OP_FALSE

OP_IF

OP_PUSH "ord"

OP_1

OP_PUSH "text/plain;charset=utf-8"

OP_0

OP_PUSH "Hello, world!"

OP_ENDIF

这里有多个操作指令,但是开头必然是OP_FALSE此指令被推入执行栈后脚本就会停止运行,但仍然被存在了链上。

所以 Ordinal Inscription 的本质是:在比特币网络上借助一个永远不会被执行的脚本 tapscript,搭建了一个简易的记账层 ,进行资产和数据的统计和记录。

由于只有记账,这就意味着不会有类似智能合约的脚本执行以及验证的过程,必然高度依赖链下的中心化管理和上报结果。

4、什么是 BRC20?

BRC-20 的名字乍一看很像以太坊的 ERC20,但其实两者技术差别非常大,ERC-20 代币的持有状态保存于链上 ,能在链上得到网络共识。而 BRC20 则是借助 Ordinals 协议铭刻的 JSON 格式铭文,该规范只是定义了 brc-20 代币的部署、铸造和转账行为, 且 BRC-20 代币的持有状态由链下服务维护 。

部署的 json 是什么样的?

{

"p": "brc-20",//Protocol: 帮助线下的记账系统识别和处理 brc-20 事件

"op": "deploy",//op 操作: 事件类型 (Deploy, Mint, Transfer)

"tick": "ordi", //Ticker: brc-20 代币的标识符,长度为 4 个字母(可以是 emoji)

"max": "21000000",//Max supply: brc-20 代币的最大供应量

"lim": "1000"//Mint limit: 每次 brc-20 代币铸造量的限制

}

对应的 op 还有 Mint 和 Transfer,两个格式几乎一致,当然如果熟悉以太坊上交易的话,会觉得奇怪,这里的转账接收方 to 怎么表示呢?

这是因为转账交易生效时,就是该铭文内容对应的 sat 被交易的时候,所以铭文对应的 sat 被谁接收,谁就是 transfer 的对象 ,因此 brc-20 的转账必须伴随比特币所有权的转移 (不是只是作为手续费被消耗)。

中心化机构则依据链上登记的各个 op 来推导出用户当前应该有的余额。

如 unisat.io 这样客户端软件(索引器),根据mint、transfer 事件进行统计获得。如:UTXO 中包含 mint 铭文,就为第一个所有者添加,transfer 则在发起者的地址上扣除余额,接收者地址加上余额。

拓展阅读:【源码解读】你买的 NFT 到底是什么?

在这个过程中,铭文是 ‘附加’ 交易(聪)上的,比特币的矿工并不会处理这些铭文,从链上来看跟其它聪依然是没有分别的,他们都是当做普通的聪来转移的。

5、如何评价 Ordinals 与 BRC20

BRC-20 及 Ordinals NFT, 给比特币带来了很多争论,基本分成两种阵营:

支持方认为,只要你支付手续费,你就有全权以任意的方式使用区块空间,不论交易是什么内容,他们 认为 BRC-20 与 NFT 给比特币带来了新的文化与叙事,有利于提高比特币的实际应用价值。

反对方认为,这些 BRC-20 与 NFT 毫无价值是垃圾交易,过多的垃圾交易会抢占交易带宽,导致交易入块时间变长以及手续费变高。

笔者看来,通过上文的技术实现路线可以显然感受到,虽然新生事物在价格上爆火,但是其技术缺陷也十分显著

1、过于中心化

Ordinals 协议,必须基于比特币网络之外的线下服务进行状态维护。如果底层的状态服务不可用或者有缺陷,可能导致资产损失,因为比特币网络没办法阻止失效铭文上链,中心化平台要裁定谁的铭文有效,在该平台上就是有效的。

2、缺乏可信验证机制

不是采用智能合约公开透明的代码规则,所以该协议无法满足共识、防止双花等资金安全的需求。

3、比特币网络性能局限

目前比特币出块间隔长达十分钟,交易确认的速度过慢,也会导致交易体验不佳。而且比特币的交易成本太高,并且,一笔成功的上链铭文交易要扣掉三方抽成,平台网络数据延迟,以及各种卡顿带来的预估差错成本,所以矿工费拉满至少要 2-3 倍才行

4、缺乏基础设施

比如作为 token 最核心的交易和定价服务,现在是主要依靠交易平台的订单系统保障,完全中心化的结果缺乏权威的交易方法和定价方法。比如其交易场景若没有中心化平台裁定极易被双花作恶。铭文先到先得的 fomo 机制和矿工按矿工费优先打包的机制存在的逻辑悖论,这就决定了 mint 并不一定是公平的

5、缺乏安全性

BRC20 容易让用户产生错觉,使其认为 BRC20 是利用了比特币的安全性进行创造的代币,会和比特币一样的安全以及稳定,但其实它与 BTC 并不一样,BTC 的安全是建立在加密以及共识算法所支撑之上,已经相对稳定运行了相当长的时间,经受住了时间的考验,而 BRC20 是利用 Ordinals 协议与 BTC 进行绑定,Ordinals 协议目前运行时间短,还在发展初始阶段,其中可能会存在一些安全隐患还未被发现。

慢雾也发出 BRC 20 存在的安全风险的提醒:

近期 BRC-20 比较火,我们注意到 BRC-20 从 Mint 代币到交易,可能存在安全风险:Mint 代币上,相关的 BRC20 代币铸造平台安全性存疑,防御措施较为薄弱,容易被恶意攻击篡改代码,从而导致用户 Mint 时资产被盗。在交易方法上,有两种方式:一是私下找第三方担保交易,很容易遇到骗子、假币等;二是去专门的交易平台挂单交易,这些交易平台的安全性无法得到保证。

笔者虽然并不看好眼前的 Ordinals,毕竟他对区块空间的应用还是太单调只是把图片、NFT 放进去并没有产生更多价值。但是作为一个有趣的尝试,如此破圈的创新也能重新引发大家的思考:

如何利用比特币可编程性?毕竟如今的公链中不会有比比特币更强的共识与安全性了。

都是存储空间的利用,其实 Ordinals 协议在 OP-Ruturn 输出的金融交易,这在本质上和全节点存储的其他东西没有什么不同,但是是否比特币只能为高净值交易服务?是否可自由的将区块空间去存储和执行一些低成本的数据?

这也让我想起曾经 Vitalik 为代表提出的:「当你合理地使用技术并且支付了相应的花费,那你的行为就是有合法性的。」

附录

https://docs.ordinals.com/introduction.html

https://github.com/casey/ord/blob/master/bip.mediawiki#specification

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

https://learnblockchain.cn/article/3050

https://www.wu-talk.com/index.php?m=content&c=index&a=show&catid=6&id=13659

https://learnblockchain.cn/article/5376

以上就是解读比特币Oridinals协议与BRC-20标准的原理创新与局限性的详细内容,更多关于Oridinals协议与BRC-20标准介绍的资料请关注码农之家其它相关文章!

相关文章

  • 比特币现货交易是什么?

    比特币现货交易是什么?

    比特币发布:2023-08-18

    比特币作为第一种数字货币,已经在全球范围内引起了广泛关注。它的诞生和发展,不仅仅是一种支付工具的突破,更是一场金融革命。本文将为您介绍比特币的定义、特点、使用方式以及对全球经济的影响。通过阅读本文,您将更好地了解比特币的概念、技术原理以及其在数字经济时代的重要性。


  • 比特币虚拟机(BitVM)是什么?

    比特币虚拟机(BitVM)是什么?

    比特币发布:2023-11-10

    比特币虚拟机(BitVM)不同于以太坊虚拟机(EVM),BitVM 不是在链上执行运算,而是对其进行验证,这与Optimistic Rollups 的原理类似,想要了解更多,请参考本文内容


  • 方舟投资:比特币牛市短期内不会发生!

    方舟投资:比特币牛市短期内不会发生!

    比特币发布:2023-09-18

    欢迎阅读本文,我们将深入探讨比特币这一虚拟货币的币种介绍。比特币作为区块链技术的首个应用,已经在全球范围内引起了广泛关注。在接下来的内容中,我们将详细解释比特币的概念和特点,以及它如何在区块链网络中运作。我们还将探讨比特币的未来发展以及虚拟货币在现代金融体系中的重要性。让我们深入了解比特币这一虚拟货币的世界吧!


  • 正规比特币交易所前十排行

    正规比特币交易所前十排行

    比特币发布:2023-02-15

    这篇文章主要介绍了中国有正规的比特币交易所吗?正规比特币交易所前十排行的相关资料,需要的朋友可以参考下本文详细内容介绍


  • 比特币资讯交流平台有哪些?

    比特币资讯交流平台有哪些?

    比特币发布:2023-10-27

    随着比特币的兴起和发展,越来越多的人加入了比特币的投资和交易中,对于比特币投资者和爱好者而言,及时获取最新的比特币资讯和交流经验是非常重要的,为此,相对应的比特币资讯交流平台应运而生,本文将介绍一些知名的比特币资讯交流平台,供读者参考


  • 比特币ETF:贝莱德的申请及持有的币种意义?

    比特币ETF:贝莱德的申请及持有的币种意义?

    比特币发布:2023-10-31

    比特币ETF就是一种以比特币为基础资产的ETF,这类ETF的运作模式与其它ETF类似,投资者可以根据证券交易所选购比特币ETF的股票,得到比特币的盈利,有别于购买比特币,比特币ETF能够分散风险,减少经营风险,那么,比特币ETF包含哪些币种?贝莱德申请比特币ETF的意义是什么


  • 挖比特币矿机多少钱一台?

    挖比特币矿机多少钱一台?

    比特币发布:2023-10-30

    比特币挖矿是一种通过解决复杂算法来创建新比特币的过程,随着比特币的价值不断攀升,更多的人开始加入这个市场,购买比特币挖矿机,以期望从中获利,2023年,比特币挖矿机的价格预计会有所变化,那究竟挖比特币矿机多少钱一台呢?下面让我们一起来深入分析


  • 比特币交易会被判刑吗?

    比特币交易会被判刑吗?

    比特币发布:2023-08-09

    比特币是一种创新的数字货币,其交易方式也完全不同于传统货币。想要了解更多关于比特币的信息,包括其背后的技术原理、交易过程以及当前市场情况等等,请继续阅读以下内容。


  • 比特币(BTC)能否从2022年的深渊中继续复苏?

    比特币(BTC)能否从2022年的深渊中继续复苏?

    比特币发布:2023-09-06

    想要了解比特币的币种介绍和价格预测吗?不妨阅读以下内容,你将发现关于比特币的一切。


  • 2023年一枚比特币值多少钱?

    2023年一枚比特币值多少钱?

    比特币发布:2023-10-27

    比特币作为一种新兴的资产类别具有一定的吸引力,这也使得投资者对比特币的价格变动始终保持着浓厚的兴趣,想要了解2023年一枚比特币值多少钱?接下来小编就来为大家详细介绍一下这个问题


网友讨论

  • 扩展迷