LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > BRC-20和「客户端验证」:你不该继续购买用这些「协议」发行的Token

BRC-20和「客户端验证」:你不该继续购买用这些「协议」发行的Token

2023-05-09 区块律动BlockBeat 来源:区块链网络

原文来源:@AurtrianAjian,BTCStudy内容贡献者


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


比特币协议中有且只有一种东西:UTXO,比特币交易的输出,它的数额代表它的价值(以「聪」为单位),它的「ScriptPubKey(脚本公钥)」表示它的花费条件(解锁条件)。

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


也就是说,比特币脚本并不能用来创造一种不是比特币的 UTXO,也不能用来制作任意的安全机制(其实这两者是一回事)。 所以,如果你想要在比特币链上发行资产,你永远只能依靠「链下协议」,举凡 Omni、Counterparty、RGB、Taro、Ordinals,都不例外。


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


Omni 协议使用 OP_RETURN 输出记录交易数据、Ordinals NFT 利用特定的格式(inscription)加载内容,但这些东西都无法进入脚本公钥,都无法成为有意义的安全机制。 那么,如何增设这些自定义的规则呢?


答案是:


(1)我们要让资产的买方运行额外的验证程序(证据由买方提供),验证卖方所卖出的资产的属性,这就是所谓的「客户端验证(client validation)」。比如,买方验证卖方所卖出的资产具有资产发行者的签名,以验证它是「真币」;


(2)要让资产「附身」于某一个 UTXO,从而让比特币交易变成链外交易的证据(witness)、防止同一个资产被重复花费(因为一个 UTXO 不可能被花两次)。


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


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


(1)将资产附着到 UTXO 上并不需要你将资产的内容完全公布上链;


(2)将为资产转移而提供的数据写到链上将耗费大量空间,经济性极差。这都是没有意义的事,将这些数据在链下提供给买方就可达成同样的效果(认为放在链上可以防止丢失的观点也是可疑的,它存在不意味着你就能找回来)


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


许多朋友从别的社区进入这个生态,往往带着固有的认知来理解比特币,但在别的链上有意义的事,在比特币上不一定有意义。 请好好理解比特币,理解客户端验证范式,理解将一切其余资产都交给链外协议的智慧。通过消耗区块空间(共识资源)来获得可编程性的做法,注定在可扩展性和隐私性上面临可悲的结局。


如果你想寻找在「客户端验证」上最完整的想法,请了解 RGB 协议: https://btcstudy.org/tags/RGB/,


RGB 的钱包和工具库:https://rgb.info/zh/home/


另一个 RGB 网站: https://t.co/8SG3T1ld6k


原文链接


BTC

比特币

Ordinals

brc20

BRC-20

比特币

关于比特币的一切

—-

编译者/作者:区块律动BlockBeat

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...