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

栏目: 数据库 · 发布时间: 6年前

内容简介:昨晚的一则快讯引爆了矿圈,快讯称比特大陆发布了S9新固件,新固件用于实现“显性Asic Boost”功能。不少朋友问我这是项什么技术,大家如此关注。其实简单的从矿工朋友切身利益来说,就是使用该项技术可以降低功耗10%-20%(AsicBoost官网数据显示)。那么AsicBoost到底是什么,今天我们就来揭开它的神秘面纱。一、比特币的核心算法:SHA256

昨晚的一则快讯引爆了矿圈,快讯称比特大陆发布了S9新固件,新固件用于实现“显性Asic Boost”功能。不少朋友问我这是项什么技术,大家如此关注。其实简单的从矿工朋友切身利益来说,就是使用该项技术可以降低功耗10%-20%(AsicBoost官网数据显示)。那么AsicBoost到底是什么,今天我们就来揭开它的神秘面纱。

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

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

首先我们来简要梳理下比特币的挖矿原理,比特币的挖矿是对区块头(blockheader)做两次SHA256运算,运算出来的结果必须小于当前难度周期所对应的难度目标。区块头有80个字节,包括4字节的版本号(Version)、32字节的父区块哈希(Previous Hash),32字节的当前候选区块打包交易的Merkle Root,4字节的时间戳(timestamp),4字节的难度,4字节的随机数(Nonce)。在挖矿过程中,版本号、父哈希、难度都是确定的,矿机需要去不断修改随机数来运算,而随机数只有4字节,只能做2^ 32次运算。因此矿工还需要修改Coinbase交易,得到新的Merkle Root,即每2^32次哈希后更改一次。随着算力的暴涨,独立矿机已经几乎不能出块,矿工都选择加入矿池来挖矿。挖矿过程就变成了矿池给不同的矿机发送不同的job,矿机计算出的share提交即可。

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

在做区块头的SHA256时,需要64字节一组去处理,很明显80字节超出了,这就需要用48字节的填充位将块头补充至128字节,填充位全填写0,所以被称作padding-zero。

这样区块头就被分成了前后两组来运算,结合上图可以看出,Merkle Root的前28个字节和后4个字节被分开了。

二、AsicBoost

从图2中我们不难看出,Merkle Root很尴尬,被分割在两个组中,而区块头的结构是写死不能修改的,于是AsicBoost就诞生了,2016年3月Dr. Timo Hanko提出了白皮书,后经过不断完善,最终确定了两种优化的方法,一种就是Version-rolling,另一种是Merkle Root Collisions。不过目前都是第一种实现方式,第二种暂时没人宣称使用。

这边就重点介绍一下Version-rolling。

Version-rolling(版本轮动)。4字节的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交易的时候,要保证Merkle Root后4个字节要容易的很多;第二是交换任意交易的顺序,这种方法的问题是,在隔离见证(Segwit)中,哈希运算量会增加一倍。隔离见证引入了一个全新的Witness Merkle Tree和Witness Merkle Root(见图3),如果修改交易顺序,那么Witness Merkle Tree也会更改,这就导致了在原有Merkle Tree中的coinbase交易进一步更改,从而使得整个Merkle Tree需要从下到上重新计算一次,增加了一倍的工作量,而我们都知道在之前更新的bitcoin core version中,早已经全面支持了隔离见证。

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

昨日官方公告还表示R4、T9、T9+、S9i、S9j能激活“显性Asic Boost”功能的新固件也将在本周内发布,而币印矿池(Poolin.com)已率先支持Asic Boost,矿工更新固件后不需要多余操作,连接矿池就可直接开挖!

参考链接

固件下载地址:

https://service.Bitmain.com/support/download

官方公告:

https://blog.bitmain.com/en/new-firmware-activate-overt-asicboost-bm1387-antminer-models/

AsicBoost官网:

https://www.asicboost.com/

BDPL官网:

https://github.com/slushpool/stratumprotocol/blob/master/stratum-extensions.md

Slushpool的stratum扩展协议:

https://github.com/slushpool/stratumprotocol/blob/master/stratum-extensions.md

Bitmex关于隐形AsicBoost的论述:

https://blog.bitmex.com/graphical-illustration-of-a-bitcoin-block/

Gregory Maxwell关于AsicBoost的提案:

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-April/013996.html

来源:微信公众号币印矿池

AD:

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


以上所述就是小编给大家介绍的《AsicBoost到底是个什么技术?让矿圈炸了。》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

离心力:互联网历史与数字化未来

离心力:互联网历史与数字化未来

[英] 乔尼·赖安(Johnny Ryan) / 段铁铮 / 译言·东西文库/电子工业出版社 / 2018-2-1 / 68.00元

★一部详实、严谨的互联网史著作; ★哈佛、斯坦福等高校学生必读书目; ★《互联网的未来》作者乔纳森·L. 齐特雷恩,《独立报》《爱尔兰时报》等知名作者和国外媒体联合推荐。 【内容简介】 虽然互联网从诞生至今,不过是五六十年,但我们已然有必要整理其丰富的历史。未来的数字世界不仅取决于我 们的设想,也取决于它的发展历程,以及互联网伟大先驱们的理想和信念。 本书作者乔尼· ......一起来看看 《离心力:互联网历史与数字化未来》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具