关于Ordinals和比特币隔离见证的认知误区_EFI:nSights DeFi Trader

注:本文来自@AurtrianAjian推特,MarsBit整理如下:

自2017年以来,中文世界里流传着一种关于比特币的阴谋论:bitcoincore开发者控制着整个比特币网络,随心所欲地审查他们不喜欢的行为;他们最明显的指向是反对区块体积扩大。

真是如此吗?

显然这种说法跟“区块体积战争”和“隔离见证”有关。但如果你真的了解隔离见证,你不会这么认为

先解决一个小问题:bitcoincore开发者反对一切导致区块体积扩大的技术/活动吗?

另一个相关的问题是:bitcoincore开发者是最介意区块体积扩大的团体吗?

答案都是否定的。

有关隔离见证技术的辩护理由,最全面的资料当属这一份:<https://btcstudy.org/2022/10/07/segregated-witness-benefits/…>。下文完全依据这份资料

事实1:如果你使用的是支持隔离见证的节点,那么隔离见证软分叉之后,你收到的“完整区块”体积几乎都是大于1MB的。这是因为segwit改变了区块体积的计量方式,将segwit输入的脚本签名数据体积计量为实际字节数的四分之一

而前隔离见证的交易和隔离见证交易的实际含义部分则依然按字节数计算。因此,在不支持隔离见证升级的节点那里,1MB的区块体积上限得到了保留;但在支持隔离见证的节点那里,区块的实际字节数会超过这个1MB的限制

超出多少,会跟witness数据的占比有关;当区块完全由witness数据构成时,它最大可以达到4MB。

你从上面那份资料可以看出,开发者非常清楚这样的机制会让“完整区块”的体积变大。并且预测了实际的区块体积会在1.6MB到2MB之间。

这就是为什么你可以看到有些人的推特名字挂着“NOSegWit2x”的后缀——他们反对隔离见证把区块变大了。

也就是在这些人看来,隔离见证支持者捍卫小区块还不够彻底。

事实2:隔离见证改变了sighash的工作方式,使签名验证时候的哈希计算量不会呈平方级增长。

如无这个改动,假定交易的体积翻倍,那么签名的数量可能会翻倍,而哈希运算的次数会变成4倍。

这个改动的好处是什么?

资料写的很直白:“让区块的体积可以安全地提高。扩大区块而不限制交易的体积。”

从上面两个事实中,你找不到任何一个迹象表明隔离见证的支持者反对一切扩大区块的操作。隔离见证明明白白就是扩大了区块。

你可以认为,他们只是反对不经过技术上的改进、不考虑资源开销的平衡就直接提高区块体积限制的方案。

比如,假设你直接将区块体积从1MB提高到2MB,而不设任何技术上的改进,那么上述的sighash计算量呈平方级增长的事实就会让你陷入窘境。在隔离见证以前,已经有人利用它构造出了需要3分钟才能验证完的一笔交易。

可笑的是,近期出现的通过witness字段向区块塞入大体积数据的操作正是因为隔离见证才成为可能的,一些人却还在臆想bitcoincore开发者会出来表示反对

如果你们还要编造关于bitcoincore开发者的阴谋论,请学学外网,把隔离见证/taproot说成垃圾,说成是粗心的工程师缺乏敬畏之心的表现。

但是,不好意思,我要指出的是,上面那份关于隔离见证的资料表明,这种理解同样是无稽之谈。比特币开发者们很清楚自己在做什么。

事实3:上面那份资料的最后一部分是“通往综合的区块限制”,大意是说,比特币的共识给区块和交易的资源开销做了各种各样不规整的限制,比如单个区块内的签名验证的次数是有上限的。这些限制是制约人们利用比特币可编程性的因素

而隔离见证,是向综合性的资源开销限制迈出的一步。我相信,正是出于这种目的,taproot进一步解除了这些不规整的限制。

在隔离见证升级中,单个输入的witness的大小是有单独的限制的;但是在taproot升级中,这个限制被取消了,从而允许人们编程更大体积的脚本

前一段时间,有人利用这一点,构造了一个使用999个公钥的多签名合约,在验证时也成功通过了。

Ordinals使用者之所以能一次性塞入大体积的数据,也是因为taproot解除了这个限制。

但其实,利用隔离见证,不连续地在witness中塞入大体积数据,跟利用taproot一次性塞入,在经济性上没有太大差别

所以,取消对witness体积的单独限制,不是粗心大意,也不是缺乏敬畏之心,而是自隔离见证v0起,开发者希望进一步释放比特币可编程性的结果。

至于通过witness塞入大体积数据所导致的区块体积膨胀,可以指出的是:1.没有证据表明这样的区块对隔离见证节点来说验证起来更难;2.实际上没有很好的技术手段来阻止人们这样做。

总之,请多了解一些技术,少相信一些阴谋论。比特币有开放的社区和尊崇理性的开发者文化,如果你抱有怀疑,不妨多找点资料看看。例如关注http://btcstudy.org和https://bitcoinops.org/zh/newsletters/

最重要的是,你的比特币节点掌控在你手里,你想升级就升级,不想升级就不升级,甚至于你还可以回退版本。没有任何人可以用技术手段将你踢出这个网络。这是比特币网络之所以健壮、之所以能容纳不同观点的技术基础。

哦,差点忘了说,比特币有很多种开发者:有些人为bitcoincore客户端贡献代码,有些人为别的客户端贡献代码,有些人不贡献代码但开发相关的技术,有些人很少贡献代码但参与各种各样的讨论。他们都是具体的人,为自己的比特币理想而奋斗,在一个基于说服而非强制的文化中,追求来自自由人的认同。

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

金智博客

[0:0ms0-7:403ms