主页 > imtoken钱包劫持 > 【转】AsicBoost是什么技术? 让地雷环爆炸。

【转】AsicBoost是什么技术? 让地雷环爆炸。

imtoken钱包劫持 2023-05-26 07:55:39

原始来源:

AsicBoost 技术到底是什么? 让地雷环爆炸。

2018-10-23 所属分类:矿业动态阅读(2226)

比特币核心算法_挖比特币用什么算法_比特币自动交易算法

挖比特币用什么算法_比特币自动交易算法_比特币核心算法

昨晚一则快讯引爆矿圈。 消息称,比特大陆发布了S9的新固件,用于实现“霸道Asic Boost”功能。 很多朋友问我这是什么技术,大家都很关注。 事实上,单纯从矿工的个人利益出发,使用该技术可以降低10%-20%的功耗(AsicBoost官网数据显示)。 那么AsicBoost到底是什么,今天我们就来揭开它的神秘面纱。

AsicBoost到底是个什么技术?让矿圈炸了。

挖比特币用什么算法_比特币核心算法_比特币自动交易算法

1、比特币的核心算法:SHA256

首先,我们简单回顾一下比特币的挖矿原理。 比特币挖矿是对区块头进行两次SHA256运算,计算结果必须小于当前难度周期对应的难度目标。 区块头80字节,包括4字节的版本号(Version)、32字节的父区块哈希(Previous Hash)、32字节的当前候选区块打包交易的Merkle Root、4字节的The时间戳(timestamp),4字节难度,4字节随机数(Nonce)。 在挖矿过程中,版本号、父哈希、难度都是确定的,矿机需要不断修改随机数才能运行,而随机数只有4个字节,只能进行2^32次运算。 因此,矿工也需要修改Coinbase交易以获得一个新的Merkle Root,每2^32 hashes改变一次。 随着算力的飙升,独立矿机难以出块,矿工选择加入矿池挖矿。 挖矿过程变成矿池向不同的矿机发送不同的作业,矿机算出的份额就可以提交了。

AsicBoost到底是个什么技术?让矿圈炸了。

比特币自动交易算法_比特币核心算法_挖比特币用什么算法

在做区块头的SHA256时,需要一组64字节来处理。 显然超过了80个字节,所以需要用48个字节的padding bits来补充block header到128个bytes,padding bits全部用0填充,所以称为padding-zero。

这样就把区块头分成两组进行计算。 从上图可以看出Merkle Root的前28个字节和后4个字节是分开的。

2.AsicBoost

挖比特币用什么算法_比特币自动交易算法_比特币核心算法

从图2我们不难看出,Merkle Root很囧,分为两组,而且区块头的结构是硬编码的,不可修改,于是AsicBoost诞生了。 2016年3月,Timo Hanko博士提出了白皮书,经过不断完善,最终确定了两种优化方式,一种是Version-rolling比特币核心算法,一种是Merkle Root Collisions。 不过目前是第一种实现方式,暂时没有人声称要用第二种。

在这里,我们将重点关注版本滚动。

版本滚动(版本轮换)。 4-byte Version一共32位,只有前3位是固定的,其他位用于技术升级或软分叉时的投票。 但是在实际应用过程中,不可能同时有29个软点。 分叉投票,如果我们只取4位来使用比特币核心算法,那么就会多出2^4次,也就是说,在接到同一个任务后,我们可以进行2^4轮2^32次计算,减少了次数矿工接收到的数据数量减少了功耗。 据 AsicBoost.com 称,它可以降低约 20% 的功耗。 当然,实际使用效果还需要长时间的检验。 随着越来越多的人涌入区块链世界,全网算力一直处于上升阶段,挖矿收益可能进一步下降,20%的省电对于矿工小钱来说可能是一笔财富。

比特币核心算法_比特币自动交易算法_挖比特币用什么算法

有兴趣的朋友也可以了解Merkle Root Collisions。 如图2所示,32字节的Merkle Root分为两组进行SHA256计算,第一部分28字节,第二部分4字节。 Merkle Root Collisions的原理是构造很多最后4个字节相同的Merkle Root,这样在随机数固定的情况下,我们只需要对区块头的前半部分进行SHA256运算,而后半部分保持不变不变。 这种方法的本质是32位哈希冲突。 根据“生日悖论”,找到一组碰撞所需的尝试次数其实并不多。 尝试新的Merkle Root通常有两种方式:一种是修改Coinbase交易,但是这里有个问题,矿池可能会恶意清空区块,因为当区块只有coinbase交易时,最后4个字符必须保证 Merkle Root 的第二个是交换任意交易的顺序。 这种方法的问题在于,在隔离见证(Segwit)中,哈希运算量会翻倍。 Segregated Witness 引入了全新的 Witness Merkle Tree 和 Witness Merkle Root(见图 3)。 如果修改了交易的顺序,Witness Merkle Tree也会发生变化,从而导致原Merkle Tree中的coinbase交易进一步发生变化,使得整个Merkle Tree需要从下到上重新计算,工作量成倍增加,并且众所周知,Segregated Witness在之前更新的bitcoin core版本中已经得到了全面的支持。

AsicBoost到底是个什么技术?让矿圈炸了。

昨日官宣还表示,R4、T9、T9+、S9i、S9j可开启“霸道Asic Boost”功能的新固件也将在本周内发布,矿池已率先支持Asic促进。 矿机更新固件后,无需额外操作,连接矿池后直接挖矿!