长推:BRC-20、上链的意义与 “客户端验证”_比特币:LACE币

注:本文来自@AurtrianAjian推特,其贡献于BTCStudy.org,原推文内容由MarsBit整理如下:

BRC-20、上链的意义与“客户端验证”:为什么你不该继续购买用这些“协议”发行的token——它们根本不能被称为协议

比特币协议中有且只有一种东西:UTXO,比特币交易的输出,它的数额代表它的价值,它的“ScriptPubKey”表示它的花费条件。

可以用来编写脚本公钥的操作码是由比特币的共识规则提供的。这些操作码的意义在于编程验证条件,从而为一笔比特币UTXO设定花费条件;但它并不能用来定义任意我们想要的规则。

也就是说,比特币脚本并不能用来创造一种不是比特币的UTXO,也不能用来制作任意的安全机制。

所以,如果你想要在比特币链上发行资产,你永远只能依靠“链下协议”,举凡Omni、Counterparty、RGB、Taro、Ordinals,都不例外。

关键在于,既然脚本公钥不能被任意编程,则这些链下协议所发行的资产,无论往链上写入什么数据,都不可能转化成这些资产的安全机制。举例,假如你发行了一种资产,无论你往链上写入什么数据,都不可能要求比特币网络来控制这种资产不通胀。

Omni协议使用OP_RETURN输出记录交易数据、OrdinalsNFT利用特定的格式加载内容,但这些东西都无法进入脚本公钥,都无法成为有意义的安全机制。

那么,如何增设这些自定义的规则呢?

答案是:我们要让资产的买方运行额外的验证程序,验证卖方所卖出的资产的属性,这就是所谓的“客户端验证”。比如,买方验证卖方所卖出的资产具有资产发行者的签名,以验证它是“真币”;

要让资产“附身”于某一个UTXO,从而让比特币交易变成链外交易的证据、防止同一个资产被重复花费。

这些自定义的规则,假设它能在客户端验证的基础上支撑其一个安全的协议,当然可以写入到比特币区块链,但是,这样的操作并不能增加安全性,因为真正的安全性来自于客户端验证。比特币协议做的事情,只是阻止UTXO重复花费,同时允许运用比特币脚本,为这样的资产编写在比特币链上转移的方法。

当前Inscription将内容通过见证脚本暴露出来的方法,仅仅起到了上文所述的的作用,即标记特殊的比特币交易、阻止重复花费,但是,只要它不要求客户端运行额外的验证,就无法为这些NFT也好FT也好增加定制化的规则。

然而,将资产附着到UTXO上并不需要你将资产的内容完全公布上链;将为资产转移而提供的数据写到链上将耗费大量空间,经济性极差。这都是没有意义的事,将这些数据在链下提供给买方就可达成同样的效果

所以,请停止买入使用Inscription方法发行的Token,直到这些Token的开发者提供允许客户端验证的规则,否则你买入的就是空气,得不到任何的保护。开发者们,如果你真的在乎你的用户,请先设想这样的客户端验证规则并实现这样的客户端。

许多朋友从别的社区进入这个生态,往往带着固有的认知来理解比特币,但在别的链上有意义的事,在比特币上不一定有意义。

请好好理解比特币,理解客户端验证范式,理解将一切其余资产都交给链外协议的智慧。通过消耗区块空间来获得可编程性的做法,注定在可扩展性和隐私性上面临可悲的结局

如果你想寻找在“客户端验证”上最完整的想法,请了解RGB协议:

https://btcstudy.org/tags/RGB/

RGB的钱包和工具库:

https://rgb.info/zh/home/

另一个RGB网站:https://rgb.tech/

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

金宝趣谈

[0:0ms0-4:394ms