技术|吴忌寒又使用这种“卑鄙”的新技术了?

技术|吴忌寒又使用这种“卑鄙”的新技术了?
2018年09月11日 09:48 财链社官微

作者丨浮泩

编辑|熊吉

01

比特大陆使用“卑鄙”的新技术,挖矿效率提升20%?

毋庸置疑的是,时下整个区块链行业的目光都集中在了比特大陆IPO的进程上面。但令人感到困惑的是,比特币大陆这家公司让人越来越看不懂了。

就比如说,至今为止,关于到底是谁投资了比特大陆这件事,没有一个人知道。在腾讯、软银、淡马锡陆续否定投资过比特大陆路后,这家神奇的公司越来越神秘了,关于IPO也画上了一个大大的问号。

不仅如此,最近比特大陆又做了一件极其有争议的事——激活了“卑鄙”的AsicBoost算法。

根据很多家媒体报道,目前比特大陆旗下的蚂蚁矿池(AntPool)已经为其采矿业务激活了AsicBoost算法。

报道中称:“在过去的一周时间里,蚂蚁矿池大约有4%的比特币区块是通过AsicBoost算法开采出来的。”

要知道AsicBoost算法的采矿效率相比传统挖矿算法的效率提高了20%。但值得注意的是,这种算法一直存在着很强的争议性,甚至被一些加密货币社区的人称之为“卑鄙”的新技术。

02

比特币挖矿原理

要了解AsicBoost的原理,就要先了解一下比特币的挖矿机制SHA256算法。

中本聪在设计比特币挖矿机制时,是针对80字节的区块头计算两次SHA256的哈希值,即(SHA256(BlockHeader)),这个运算的结果必须小于当前网络难度对应的目标。

区块头包括4字节的版本号,上一个区块头的哈希(32字节),当前候选区块打包交易的Merkle Root(32字节),时间戳(4字节),难度(4字节),Nonce(4字节)。

在每一轮挖矿过程中,版本号、上个区块头、难度都是确定的,矿工需要去不断修改Nonce来构造满足难度的区块头。而Nonce的搜索空间显然是不够的(2^ 32),因此矿工还需要修改Coinbase交易,得到新的Merkle Root,即每2^32次哈希后更改一次。

简单来说比特币挖矿就是通过不断更改Nonce来改变块hash以寻找小于当前难度的Block Header,但是Nonce的搜索空间太小了,在做完232次哈希没有找到对应的块头就需要变更Merkle Root重新计算。

03

AsicBoost算法

在计算这个区块头的SHA256时,我们需要先用固定的填充位补齐为128字节,之后SHA256会64字节一组去处理,可以简单认为是 F ( F(SHA256规范的初始值,前半部分), 后半部分)。F又需要对这64字节先按4字节一组拆分,进行64轮计算。

结合上图,我们不难发现,Merkle Root的前28个字节和后4个字节被分开了,在修改Nonce过程中,前半部分是不变的,而后半部分的前12个字节也是不变的。

因此目前几乎所有的芯片都已经做了这两个优化,即前半部分的处理结果(getwork中的midstate)和后半部分的前3轮结果(midstate3)。这样的优化效果是 (61/64+1)/3 = 65%,提升了35%。

而AsicBoost在这个优化的基础上又延伸了思路,找到了另一种优化方法:

timestamp来在一轮挖矿过程中它基本是不变的,而Nonce是在232内搜索空间内遍历的,剩下的问题就是要找到足够多的后四位相同的`Merkle Root,这样在每次遍历Nonce时就可以复用后部分的计算结果,就有效的减少了计算,提高了找到块hash的概率。

通过改变交易顺序、更改Coinbase等方式得到新的Markle Root,这样就可以通过碰撞找到后4位相同的Merkle Root,那通过碰撞找到后4位相同的hash。

根据”生日悖论”(后4位相同的bytes就是32 bits相同的概率),大概碰撞77000次就有50%的概率会出现后四位相同的hash,这种优化理论上能够提高20%的碰撞效率,而合并的性能提升大概是7%左右。AsicBoost可以在软件上实现,也是通过芯片(硬件)上实现。

04

有争议的AsicBoost算法

实际上AsicBoost是一种基于比特币块头和SHA256算法做出的一种算法优化。

从客观角度分析AsicBoost的话,AsicBoost既没有破坏比特币的协议,也没有生产出不可用的块,也不会出现针对比特币安全的问题,但比特币社区对于这种算法还是存质疑的态度的,因为隔离见证与AsicBoost算法不兼容,具有潜在的破坏力,在给扩容争议施压。

现在关于AsicBoost具有不同的观点。一部分人认为,AsicBoost是可行的算法,可以大大提升挖矿的效率。而大多数人则认为,AsicBoost算法违背了中本聪设计比特币时的初衷,认为AsicBoost算法是在攻击比特币系统。

所以,到目前为止,这种争论尚未得出结论,而AsicBoost算法目前来看也是被禁用的。

05

比特大陆多倍被指控使用AsicBoost

实际上,这已经不是比特大陆第一次被指控使用AsicBoost算法了。

早在去年比特币的社区内就有人指控一些矿工正在从事一些有损于网络公平的活动,而邮件所指的正是比特大陆。

消息一出,顿时引爆了社区。该帖指出,一家矿机制造商私下利用比特币PoW(工作量证明算法)的漏洞(此前已知的),将其挖矿速度加快了足足20%,远超同类竞争者。

但很快比特大陆的联合创始人吴忌寒强烈驳斥了这一观点,称比特大陆没有在比特币区块链上使用AsicBoost。吴忌寒还认为“隔离见证与AsicBoost之间没有任何关系。”

同时,比特大陆也发布了补充声明称比特大陆在测试网络( Testnet)上测试过ASICBOOST,但从未在比特币主网络上使用AsicBoost。还补充道比特大陆曾在香港圆桌会议的协议书上签字:并不反对隔离见证。

即便如此,到现在为止一年过去了,双方还是各执一词。同样的,在外界看来,对于这件事依然保持着不同的支持者,也有各自的论证来证明自己是正确的,但都无法说服对方妥协。

实际上,归根结底。争论的初衷无非于利益,使用AsicBoost确实可以快速提高比特币的挖矿效率,而这对于那些普通矿工来说并不公平。但至于,AsicBoost的合理性至今还是无法做出绝对的判断,但对于正在为IPO铺路的比特大陆来说,再次使用AsicBoost算法挖矿的消息被爆出,不知道是福是祸?

本文技术部分综合自《技术指南》;文章转载、内容合作请联系微信:sueyus。未经授权转载本平台原创文章,依法必究。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部