为什么说在比特币上发展生态是缘木求鱼?_DINA:DigiDinar Token

作者:MiddleX

最近,从BRC20到ORC20,从“巫师”到“青蛙佩佩”,这些比特币生态的meme以涨服人,让市场彻底FOMO了。与此同时,除了Ordinals协议之外、已经被遗忘的比特币铭文协议RGB、还有各种比特币L2项目纷纷成了新的热门,也有一些新项目杀入其中,希望能参与Build比特币生态,从新叙事中分一杯羹。

比特币铭文的技术实质是什么,是在“聪”上面铭刻吗?比特币L2是怎么回事?比特币上可以构建生态吗?咱们来扒一扒。

什么是比特币“铭文”

比特币是一个去中心化的账本,记录着发生在其中的每一笔交易。每一笔交易在提交时,比特币网络除了基本的交易元数据之外,还允许提交一串自定义字符,可以理解为交易备注。这个交易备注字段曾经主要是“OP_Return”字段,在Taproot升级之后,也可以是交易witness字段。不管存在哪里,这部分是作为交易的一部分,存储在比特币链上的。

那在“聪”上铭刻是怎么一回事呢?其实Ordinal协议最早是用来发NFT的,在mintOrdinalNFT的过程中,你会获得1聪,这1聪的交易上铭刻了NFT的元数据,这样这1聪就和该NFT绑定起来了。如果你愿意支付更高的成本,你也可以铭刻NFT的完整数据,witness字段最多支持铭刻4M的内容。

但请注意,比特币网络不会识别OrdinalsNFT和聪的这种绑定关系,当你给别人转账这1聪的时候,比特币网络不会区分这是绑定了NFT的聪,还是普通的聪。这意味着,你可能在转账的时候,不小心把这个特殊聪支付掉。

众所周知,比特币的账本是UTXO模型,这是一种模拟物理现金的记账模型。每个人账户里放的不是比特币,而是一个一个的UTXO,就像一张一张的纸钞。当你需要给别人支付时,如果你账户里有多张纸钞,你是可以选择用哪张纸钞的。此外,你可以用一张纸钞去支付一笔交易,也可以用多张纸钞组合支付一笔交易,如果你要支付的金额小于你手里的最小纸钞金额,你还可以将该钞票一分为二,一张支付给对方,一张支付给自己。

大多数比特币钱包,并不会把支付时自选UTXO功能放在很显眼的位置,而是藏在高级设置里,钱包默认会按照自己定义的一套随机规则去自动选择使用哪个或哪几个UTXO来支付。

为了避免把特殊聪当做普通聪被错误的支付掉,需要“客户端验证”。如果钱包支持Ordinals协议,那么就会在支付时,避开特殊聪。如果你要转账这一个特殊聪,钱包也会提示你,你正在转账一个NFT。也就是说,支持Ordinals协议的钱包客户端要负责维护和识别NFT与特殊聪的绑定关系。

RGB和OrdinalsNFT原理相同,都是靠客户端验证来验证NFT和聪的绑定关系。而这本质上是一种链下共识。

BRC20代币是在“聪”上铭文吗?

无论是OridnalsNFT还是BRC20代币本质上都是在比特币交易中铭文,而非在“聪”上铭文,只是OrdinalsNFT会建立NFT与聪的绑定关系。BRC20代币则不同,不存在代币与聪的绑定关系。BRC20代币是通过铭文的方式来实现部署、铸造、转账等操作。具体而言,通过在比特币交易中写入Jason格式的状态转换数据来实现。如下图:

任何人都可以在比特币链上铭文,不一定要通过特定客户端。如果有人通过铭文mint已铸造完毕的BRC20代币,亦或者transfer自己本不拥有的BRC20代币。这笔mint或者transfer是无效的。但比特币链本身不处理这些代码,也不会验证BRC20代币的mint、transfer是否有效。

验证铭文有效性的工作是由支持Ordinals协议的钱包客户端或浏览器来完成的。

可以这么理解,Ordinals协议实际上把比特币协议当硬盘,在比特币链上记录自己的账本,但对账本的解释规则是在本地,不在比特币链上。或者我们可以用模块化区块链的思路去理解:比特币链只是BRC20代币的数据可用性层,Ordinals协议自身才是真正的共识层,这个逻辑和Celestia提出的“主权Rollup”的概念是很相似的。

BRC20和OrdinalsNFT的区别在于OrdinalsNFT的转账不是通过铭文实现的,不需要transfer函数,只需要转移特定聪就相当于转账了对应的NFT,这种结构是天然支持闪电网络的。BRC20代币则不与聪绑定,通过铭文来记录转账信息,需要做特定的兼容性开发才能支持闪电网络。

“铭文”代币安全吗?

无论是OrdinalsNFT还是BRC20代币,尽管账本存在比特币上,但共识规则都是在链下的。所以“铭文”式代币并不完全与比特币共享安全性。

比特币链作为数据可用性层,并不会对铭文作任何验证,有效的铭文、无效的铭文都会提交上来,比特币链本身没有能力区分铭文是否有效。因此,比特币上尽管存储了Ordinals协议的账本,但存储的是一个“脏账本”,所有有效数据都被存储在上面,但并非所有被存储的数据都有效。对于“脏账本”的过滤是通过“客户端验证”来完成的。

这个“过滤规则”,或者说对链上数据有效性的“解释规则”,才是Ordinals协议的本体。只有Ordinals协议所定义的这套规则本身有很强的社会共识时,“铭文”代币才是安全的。

比特币上可以构建生态吗?

Ordinals协议目前只能用来发Token,但如果Ordinals将铭文系统,也就是规则系统做的足够复杂的话,是可以用来做DeFi的,Ordinals把规则的复杂性做到极致,甚至可以让自己图灵完备,可以实现任何合约逻辑。

但我不认为这是比特币生态!这只是Ordinals生态。如果其他铭文系统,比如RGB,也做了这样一套规则,那是RGB生态,而不是比特币生态。RGB生态和Ordinal生态不互通,也不能依靠比特币提供互操作性。这种感觉就像,以太坊上的一个合约无法访问和调用另一个合约…

比特币L2是什么?

首先要定义一下L2,L2是指将安全性依附于其他L1的链。比特币L2就是安全性依附于比特币的链,或者说比特币L2是与比特币共享安全性的链。

如果以这个标准来看,Rootstock、Liquid、Stack都不是比特币的L2,只能算是比特币的侧链。Stack宣称在下一个版本的更新中会实现与比特币的共享安全性,但没有披露具体方案。

目前各种宣称是比特币L2,事实上是侧链的项目提出的各种花里胡哨的方案都没有办法与比特币共享安全性,包括:

把区块头写比特币链上

用比特币来作为网络质押代币

在比特币链上选举出块人

与比特币链同步出块

激励比特币矿工成为L2网络验证者

无效行为

想要与比特币共享安全性,并不是没有办法。我们可以试想,如果Ordinals协议不止在比特币链上通过铭文来存储账本数据,而是将Ordinals的整个定义数据有效性的规则也放到比特币链上呢?

在这种情况下,尽管依旧需要通过“客户端验证”来实现一系列操作过程中的验证。但任何主体都可以通过写在链上的“规则”和脏账本,运行出一个干净的账本来,并得到一个一致的状态转换记录和最终状态。

这种形式并不是新事物,而是Arweave提出的存储共识范式——SCP,这种方式适用于构建对互操作性要求不高,但对性能要求较高的重型应用。Arweave积累多年,其上已经有100+SCP应用。

如果要基于比特币去构建SCP应用,技术上是可行的,但经济上受到制约,只能构建形态较为简单的应用,因为频繁的在比特币上铭文不是一般的贵。

小结

说了这么多,我并不是想彻底否定在比特币上构建各种服务的努力。我理解PoW支持者对以太坊升级的不满,也理解比特币矿工在减半预期之下寻求增收的需要,比特币网络当然可以通过铭文的方式去做一些meme代币和收藏品,但故事应该适可而止,不应该再去浪费时间在比特币上复刻以太坊生态,因为这并不能给整个Web3创造什么新的价值。

归根结底,在比特币上做生态,相当于以一个蹩脚且成本更高的方式在做以太坊本就可以做的事情,在比特币生态中,诞生不了什么新事物。我不否认围绕“比特币生态”概念的价格奇迹和造富神话可能会继续,但作为长期主义者,我更关注能创造实际价值,拓宽Web3使用场景、让Web出圈的新叙事。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-3:196ms