BRC-20的数据安全性:实践中被彻底删除可能性有限
在前面介绍BRC-20/Ordinals的文章中,我写到理论上BRC-20/Ordinals的数据有可能被删掉。在文章末尾,有读者提出了不同的意见。
首先要谢谢这位读者指出这个涉及资产安全的关键问题。这个问题的提出让我觉得很有必要深入了解协议的原理,弄清它的数据安全性。因为对这样的虚拟资产而言,它们未来的潜在价值和其技术对数据安全的保障高度相关。
在查过相关资料后,我了解到的情况如下:
在2017年以前,比特币的签名数据是包含在交易数据中的。在这样的机制下,当网络交易量大的时候,比特币的区块空间会被交易数据严重挤占,从而影响比特币全网的性能。
因此,核心开发者们提出了对此的改进意见,也就是业界经常提到的隔离见证。隔离见证将比特币的签名数据单独抽出来,不再放到交易数据中。这样交易数据量就大大减少,网络性能就能得到极大提升。
被抽出来的签名数据会被另存到一个被称为“见证区块”(Witness Block)的数据结构中。见证区块又会被进行一次哈希计算,其哈希值会被加入到交易数据中。然后这个见证区块会被附到交易数据中一起发送给全网所有节点。
当全网的节点接到交易数据后,会检验交易数据中包含的哈希值。而在验证哈希值时,节点又需要用到见证区块。
这个时候,如果节点自己因为种种原因没有这个见证区块的数据则会向网络中的其它节点请求该数据。当节点拿到见证区块的数据,验证完哈希值后,它就可以任意处理这个见证区块。比如,如果节点认为见证区块太占用空间,它就可以删除这个见证区块;如果节点认为这不是问题,它就有可能继续保存这个数据。
隔离见证这个特性于2017年被引入比特币系统中。
但是它被引入的方式不是硬分叉而是软分叉。也就是说网络中的节点并不必须支持这个特性。当节点支持这个特性时,它既可以验证非隔离见证交易,也可以验证隔离见证交易;而当它不支持这个特性时,它就只能验证非隔离见证交易。
在极端情况下,假如比特币全网所有的节点都删掉了历史交易所关联的见证数据,这时新的节点想要加入比特币网络,它就只能验证过往那些非隔离见证交易。
不过只要全网有一个节点保存了隔离见证数据,这个极端状况就不会发生。
所以按照我的理解,BRC-20/Ordinals的数据理论上确实存在被删除的可能,但在实践中被彻底删掉的可能性很有限。
不过这个理论上的可能性在海外的社区中被看得非常重要,海外的爱好者经常会围绕这个问题进行激烈的争论。
近日,比特币社区传出新消息:掌控比特币代码更新权的核心开发者们想在比特币代码中加入新特性,限制BRC-20/Ordinals的使用。
不过这样的改动要得到实施最终还需要整个社区的支持,尤其需要矿工们的支持。而矿工又是这些协议最大的受益群体。
在这种情况下,即便核心开发者们真的动了这个念头,矿工们会支持吗?届时会不会又出现一次比特币的分裂?
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场