他是比特币的一个重大升级于2017年8月激活,主要目的是优化比特币的交易处理能力、降低交易费用,并在更安全的条件下实现比特币的扩容。SegWit是一个软分叉(SoftFork)升级,涵盖多个BIP(141、142、143、144和145),所谓软分叉也就是可以兼容老版本的比特币客户端,没有破坏比特币网络的兼容性。
它的核心改变是把交易中的签名(WitnessData)从交易数据中分离出来,使交易数据更小,从而减少交易费用,并提高比特币网络的容量。
SegWit的实现方式是将所有的交易数据分为两部分,一部分是交易的基本信息(TransactionData),另一部分是交易的签名信息(WitnessData),并把签名信息保存在一个新的数据结构中,是被称为「隔离见证(witness)」的新区块中,并与原始交易分开传输。
这样,比特币交易的交易数据大小提高了上限,同时降低了签名数据的交易费用。在SegWit升级之前,比特币的容量上限是1MB,而SegWit之后,比特币交易的容量上限达到了4MB。
所以OridnalsInscription的本质就是把铭刻数据藏在见证数据中。
与SegWit升级类似,Taproot升级同样是一种软分叉升级,是BitcoinCore贡献者GregoryMaxwell在2018年提出的比特币升级提案,它并不会改变比特币协议本身,而是对现有的比特币交易机制进行改进。
该升级主要包含3个技术概念P2SH、MAST和Schnorr。其结果是让复杂的交易如多签名交易、时间锁交易看起来如同普通的比特币交易,增强了比特币的隐私性,目的是推动了比特币实现智能合约部署、拓展用例等各种场景升级。
在SegWit升级中,比特币协议增加了一个新的版本号,用于表示新的交易格式。在Taproot升级中,比特币协议最重要的更改是将脚本验证程序从ScriptVerifyflag更新为ScriptVerifyv2flag,以支持Tapscript。
一个Tapscript的上链需要分为两个步骤:commit和reveal。而Inscription(铭刻)的内容则包含在reveal交易的第一个输入中,从而铭刻在此交易的第一个输出的第一个sat上。比如
OP_FALSE
OP_IF
OP_PUSHord
OP_1
OP_PUSHtext/plain;charset=utf-8
OP_0
OP_PUSHHello,world!
OP_IF
这里有多个操作指令,但是开头必然是OP_FALSE此指令被推入执行栈后脚本就会停止运行,但仍然被存在了链上。
所以OrdinalInscription的本质是:在比特币网络上借助一个永远不会被执行的脚本tapscript,搭建了一个简易的记账层,进行资产和数据的统计和记录。
由于只有记账,这就意味着不会有类似智能合约的脚本执行以及验证的过程,必然高度依赖链下的中心化管理和上报结果。
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,//Maxsupply:brc-20代币的最大供应量
lim:1000//Mintlimit:每次brc-20代币铸造量的限制
}
对应的op还有Mint和Transfer,两个格式几乎一致,当然如果熟悉以太坊上交易的话,会觉得奇怪,这里的转账接收方to怎么表示呢?
这是因为转账交易生效时,就是该铭文内容对应的sat被交易的时候,所以铭文对应的sat被谁接收,谁就是transfer的对象,因此brc-20的转账必须伴随比特币所有权的转移(不是只是作为手续费被消耗)。
中心化机构则依据链上登记的各个op来推导出用户当前应该有的余额。
如unisat.io这样客户端软件(索引器),根据mint、transfer事件进行统计获得。如:UTXO中包含mint铭文,就为第一个所有者添加,transfer则在发起者的地址上扣除余额,接收者地址加上余额。
拓展阅读:【源码解读】你买的NFT到底是什么?
在这个过程中,铭文是‘附加’交易(聪)上的,比特币的矿工并不会处理这些铭文,从链上来看跟其它聪依然是没有分别的,他们都是当做普通的聪来转移的。
BRC-20及OrdinalsNFT,给比特币带来了很多争论,基本分成两种阵营:
支持方认为,只要你支付手续费,你就有全权以任意的方式使用区块空间,不论交易是什么内容,他们认为BRC-20与NFT给比特币带来了新的文化与叙事,有利于提高比特币的实际应用价值。
反对方认为,这些BRC-20与NFT毫无价值是垃圾交易,过多的垃圾交易会抢占交易带宽,导致交易入块时间变长以及手续费变高。
笔者看来,通过上文的技术实现路线可以显然感受到,虽然新生事物在价格上爆火,但是其技术缺陷也十分显著
Ordinals协议,必须基于比特币网络之外的线下服务进行状态维护。如果底层的状态服务不可用或者有缺陷,可能导致资产损失,因为比特币网络没办法阻止失效铭文上链,中心化平台要裁定谁的铭文有效,在该平台上就是有效的。
不是采用智能合约公开透明的代码规则,所以该协议无法满足共识、防止双花等资金安全的需求。
目前比特币出块间隔长达十分钟,交易确认的速度过慢,也会导致交易体验不佳。而且比特币的交易成本太高,并且,一笔成功的上链铭文交易要扣掉三方抽成,平台网络数据延迟,以及各种卡顿带来的预估差错成本,所以矿工费拉满至少要2-3倍才行
比如作为token最核心的交易和定价服务,现在是主要依靠交易平台的订单系统保障,完全中心化的结果缺乏权威的交易方法和定价方法。比如其交易场景若没有中心化平台裁定极易被双花作恶。铭文先到先得的fomo机制和矿工按矿工费优先打包的机制存在的逻辑悖论,这就决定了mint并不一定是公平的
BRC20容易让用户产生错觉,使其认为BRC20是利用了比特币的安全性进行创造的代币,会和比特币一样的安全以及稳定,但其实它与BTC并不一样,BTC的安全是建立在加密以及共识算法所支撑之上,已经相对稳定运行了相当长的时间,经受住了时间的考验,而BRC20是利用Ordinals协议与BTC进行绑定,Ordinals协议目前运行时间短,还在发展初始阶段,其中可能会存在一些安全隐患还未被发现。
慢雾也发出BRC20存在的安全风险的提醒:
近期BRC-20比较火,我们注意到BRC-20从Mint代币到交易,可能存在安全风险:Mint代币上,相关的BRC20代币铸造平台安全性存疑,防御措施较为薄弱,容易被恶意攻击篡改代码,从而导致用户Mint时资产被盗。在交易方法上,有两种方式:一是私下找第三方担保交易,很容易遇到骗子、假币等;二是去专门的交易平台挂单交易,这些交易平台的安全性无法得到保证。
笔者虽然并不看好眼前的Ordinals,毕竟他对区块空间的应用还是太单调只是把图片、NFT放进去并没有产生更多价值。但是作为一个有趣的尝试,如此破圈的创新也能重新引发大家的思考:
如何利用比特币可编程性?毕竟如今的公链中不会有比比特币更强的共识与安全性了。
都是存储空间的利用,其实Ordinals协议在OP-Ruturn输出的金融交易,这在本质上和全节点存储的其他东西没有什么不同,但是是否比特币只能为高净值交易服务?是否可自由的将区块空间去存储和执行一些低成本的数据?
这也让我想起曾经Vitalik为代表提出的:「当你合理地使用技术并且支付了相应的花费,那你的行为就是有合法性的。」
附录
https://docs.ordinals.net/introduction.html
https://github.net/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.net/index.php?m=content&c=index&a=show&catid=6&id=13659
https://learnblockchain.cn/article/5376
以上就是解读比特币Oridinals协议与BRC-20标准的原理创新与局限性的全部内容,望能这篇解读比特币Oridinals协议与BRC-20标准的原理创新与局限性可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。