天下财经网

ASICBoost是什么?

矿业前瞻 2021-07-27 18:25131www.yaxuan2010.com未知

前言

ASICBoost可以说是一次非常不错的洗大V,不少聪明的头脑也在其中变得无脑,没逻辑。建议先看这两篇理一下我们的思路。

https://medium.com/@samcole_74219/asicboost-655a73d48ae4

http://hackingdistributed.com/2021/04/05/bitcoin-drama-response/

大家先容易回顾一下BTC矿机制和SHA256算法。BTC的挖矿是对80字节的区块头计算两次SHA256的哈希值,即SHA256),这个运算的结果需要小于目前互联网困难程度对应的目的。区块头包括4字节的版本号,上一个区块头的哈希(32字节),目前候选区块打包买卖的Merkle Root(32字节),时间戳(4字节),困难程度(4字节),Nonce(4字节)。在每一轮挖矿过程中,版本号、上个区块头、困难程度都是确定的,矿工需要去不断修改Nonce来架构满足困难程度的区块头。而Nonce的搜索空间显然是不够的(2^ 32),因此矿工还需要修改Coinbase买卖,得到新的Merkle Root,即每2^32次哈希后更改一次。

ASICBoost

如此问题就变成能否高效找到后缀一样的Merkle Root?效率提高有多大?

Merkle Root是将区块中所有买卖计算出的Merkle树的根。

Merkle Tree(引用Mastering 比特币第7章)

ASICBoost的白皮书提到有非常高效的办法,并且给出了一张表:

ASICBoost白皮书的Merkle Root碰撞数目对效率影响

这里问题的本质是一个32位的哈希碰撞,依据“过生日悖论”,找到一组碰撞需要的尝试次数其实并不多,大家仅需77000次就有50%概率找到两个后缀相同的Merkle Root。当然对于一台矿机来讲,仅仅2个是远远不够的,若是矿场的话应该需要配备专门的硬件去产生足够的任务。尝试新的Merkle Root一般有两种办法:

修改Coinbase买卖,即图中的HA。这个办法好像最容易而且隐蔽,但白皮书觉得不够高效;

区块头

在计算这个区块头的SHA256时,大家需要先用固定的填充位补齐为128字节,之后SHA256会64字节一组去处置,可以容易觉得是 F /3 = 65%,提高了35%。

Merkle Root在图上看上去非常尴尬,假如中本聪设计的时候Version变成第三个字段该多好。如此后半段的前4个字节就固定了,假如大家对于时间戳需要不那样高,前12个字节可以完全固定下来了。对于芯片来讲可以节省更多的计算,也可以去掉对应的一些电路。ASICBoost将这个脑洞往实践推了一步:大家去构建一组后4个字节相同的Merkle Root。

打住吧。。。。

可以用ASICBoost+反对隔离见证 不等于 为了ASICBoost反对隔离见证。

你看到了两个事物同时存在,就感觉其中一个事物是另一个的起因。你的错误在于,同时存在的两个事物未必有因果关系。

交换任意买卖的顺序

白皮书只举例了办法2,其他办法并未给出。

注意无论是1和2,新的Merkle Root并无需从下而上全部计算。比如改变买卖A,大家仅需重新计算HA,HAB,HABCDEFGH和根。交换买卖(IJKL)和(MNOP)仅需重新计算HIJKLMNOP和根。

区块版本是不是正确

买卖顺序是不是符合默认的优先级

对于修改Coinbase的好像没办法测试,但这个办法效率低于办法2

那样说到目前,这事和隔离见证有哪些关系?隔离见证引入了”witness tx id”,买卖在原有ID以外有了另一个新的ID,即用新的买卖序列化格式(不包含签名部分)得到的买卖哈希。相应的,大家也有了一个新的Witness Merkle Tree,与Witness Merkle Root。因为软分叉达成,大家不可以替换现有些Merkle Root,而是在Coinbase买卖中增加一个OP_Return的输出,写入这个“WMR”。而这也致使对任何买卖或者买卖顺序的改动,大家都要从下而上重新计算“WMR”,大大减少了伐木效率。

好啊,知晓你们为何要阻止隔离见证了,原来就是要偷着用ASICBoost啊,你们不只会阻止隔离见证,还会阻止所有BTC的进步。

此文出于传递更多信息之目的,并不意味着同意其看法或证实其描述。本网站所提供的信息,只供参考之用。

上一篇:没有了 下一篇:没有了

天下财经网-专业金融|投资|区块链|财经资讯门户网站 Copyright © 2002-2021 天下财经网 (http://www.jmyiwangtong.com) 网站地图 TAG标签 备案号