比特币挖矿是比特币系统安全的一个关键部分

BTC的挖矿算法究竟是如何运算的?

比特币挖矿是比特币系统安全的一个关键部分。其原理是,比特币矿工将一堆比特币交易归为一个区块,然后反复执行一种叫做Hash的加密操作几十亿次,直到有人找到一个特殊的目标Hash值。至此,该区块即被开采并成为比特币区块链的一部分。Hash 任务本身并不能完成任何有价值的任务,但由于通过它找到一个成功的目标值非常困难,所以它确保了没有人拥有接管比特币系统的能力和资源。

Hash 函数是指输入一个数据区块并创建一个较小的、不可预测的输出。Hash 函数的设计使得没有 "捷径 "来获得所需的输出结果--你只能不断地对区块进行Hash操作,直到你通过蛮力找到有效的一个结果为止。对于比特币来说,Hash 函数是一个叫做SHA-256的函数。为了提供更高的安全性,比特币将连续重复SHA-256函数两次,这个过程被称为双SHA-256。

在比特币中,一个成功的Hash值是一个以足够多的零开头的数值。就像很少能找到一个以多个0结尾的电话号码或车牌一样,很少能找到一个以多个0开头的Hash。但比特币的难度是呈指数倍增加的。目前,一个成功的Hash必须从大约17个0开始。换句话说,找到一个成功的Hash比在地球上所有沙粒中找到某一粒沙子还要难。

下图显示了比特币区块链中的一个区块以及它的Hash值。黄色的字节经过Hash后生成区块Hash值。在这种情况下,生成的Hash值以足够多的0开始,因此此次挖矿成功。然而,Hash很难一次得到的,在这种情况下,矿工会改变nonce值或其他区块内容,然后进行反复尝试。

比特币使用的SHA-256Hash算法

SHA-256的Hash算法采用512位(即64个字节)的输入块,对数据进行加密组合,并产生256位(32个字节)的输出。SHA-256算法由重复64次的相对简单的回合组成。下图显示了一个回合,它需要8个4字节的输入--A到H,然后执行一些操作,并生成A到H的新值。

蓝色方框以非线性的方式将数值混合在一起,因此很难用密码学分析这些值。由于算法使用了几个不同的函数,所以发现攻击就更难了。(如果你能找出一种数学捷径来生成成功的Hash值,你就可以接管比特币挖矿了)。

Ma大多数框看A、B、C的位数,对于每个位置,如果多数位数为0,则输出0,否则输出1。也就是说,对于A、B、C的每个位置,看1位的数量。如果是0或1,输出0,如果是2或3,输出1。

Σ0框将A的位数反转,形成三个反转版本,然后将它们相加模数为2。换句话说,如果1位的数量是奇数,则和为1,否则为0,和中的三个值分别是A向右反转2位、13位和22位。

Ch "选择 "框根据输入E的值选择输出位,如果E的某位为1,则输出位为F的对应位,如果E的某位为0,则输出位为G的对应位,这样,F和G的位就根据E的值进行随机选择。

下一框Σ1对E的位进行反转和,除了移位是6位、11位和25位外,其他与Σ0类似。

红框执行32位加法,生成A和E的新值,输入Wt是基于输入数据,稍加处理。(这是输入块被输入到算法中的地方。)输入Kt是为每一轮定义的常数。

从上图可以看出,一轮中只有A和E是变化的。其他值不变通过,旧的A值变成新的B值,旧的B值变成新的C值,以此类推。虽然SHA-256的每一轮都不会对数据有太大的改变,但64轮之后,输入的数据将完全被扰乱。

这对挖矿的硬件意味着什么?

SHA-256的每一步在数字逻辑中都非常容易实现--简单的布尔运算和32位加法。(如果你学过电子学,你可能已经可以把电路可视化了)。出于这个原因,定制的ASIC芯片可以在硬件中非常高效地实现SHA-256算法,在一个芯片上并行地放上几百轮。

相比之下,Litecoin、Dogecoin和类似的altcoins使用Crypt Hash算法,该算法被有意设计成难以在硬件中实现的形式。它将1024个不同的Hash值存储到内存中,然后以不可预测的方式将它们结合起来,以获得最终结果。因此,与SHA-256 Hash相比,Scrypt需要更多的电路和内存。你可以通过查看挖矿硬件来了解其影响,Scrypt(Litecoin等)的计算速度比SHA-256(比特币)慢数千倍。

SHA-256算法出乎意料的简单,很容易手动完成。(用于签署比特币交易的椭圆曲线算法用手计算会非常痛苦,因为它有很多32字节整数的乘法)。手工做一轮SHA-256花了我16分45秒。按照这个速度,Hash一个完整的比特币区块(128轮)需要1.49天,每天的Hash率为0.67次(虽然我可能会通过练习变得更快)。相比之下,目前的比特币挖矿硬件每秒可以做到几兆次的Hash,比我的手动Hash快了约五千万倍。不用说,手动比特币挖矿根本不实用。

有Reddit读者问到我的能量消耗。其实不需要太多能量消耗,所以假设静止代谢率为1500kcal/天,人工Hash的能耗差不多为10兆焦耳/Hash。一般挖矿硬件的能耗是1000兆焦耳/Hash。所以,我的能源效率低了10¹⁶。接下来的问题是能源成本。一个便宜的食物能量来源是甜甜圈,200千卡的热量是0.23元。这里的电是0.15美元/千瓦时,便宜了6.7倍--比我预期的要接近。因此,我每Hash的能源成本大约是挖矿硬件的67倍。很明显,我不会靠人工挖矿发家致富,我甚至还没有包括我需要的所有纸和铅笔的成本。

作者:Sajjad Hussain

翻译:李翰博

编辑:Olivia

24小时热点

狗狗币一夜暴涨700倍创下历史新高!

最近一段时间狗狗币暴涨幅度达到700倍,出现了巨大的涨幅,这 ...

3186796

波场区块链浏览器

诈骗披露:成功学周文强

又一个“成功学”大师周文强翻车 你想一夜暴富吗?你想年薪百 ...

3855809

Lazy Lions

链圈打诈之缅北将女子虐待打傻后开火车、四轮定位

缅北将女子虐待打傻后遣返,不能正常进食享受电击,回国时人已疯 ...

1481976

抹茶

链圈打诈之缅北十大酷刑之:吃冰棍

吃冰棍 对女孩的另一种残忍惩罚,先用模型注水放进冰箱 ...

2406116

中币交易所

2024年美元兑人民币汇率预测:会涨到8元吗?市场密切关注

2024年美元兑人民币汇率吸引了许多投资者的关注,涨到8元的 ...

4251335

波场区块链浏览器

F8Coin货币交易所交易量如何?

F8Coin是一种加密货币,它是在比特币发展了八年之后推出的 ...

209901

YoBit

中国十大传销币之:派币(π币、pi币、pi network、兀币)

是骗局。pi币”的数字货币,有不少人在购买,不知道是不是所谓 ...

692511

中值联资讯

链圈打诈:缅北恐怖视频截图

缅北诈骗集团真实画面,电击剁手只算最轻惩罚,自杀都成一种奢望 ...

949949

ZPLAN元宇宙

链圈打诈之缅北十大酷刑之:开火车

缅北美梦,女性酷刑:吃冰棍,开火车,喝珍珠奶茶... ...

1640641

ZT GLOBAL 交易所

Token在线解析

Token在线解析是一种在线token解析工具,可以帮助用户 ...

1228410

IOST

热点专题

2024年美元兑人民币汇率预测:会涨到8元吗?市场密切关注

2024年美元兑人民币汇率吸引了许多投资者的关注,涨到8元的 ...

4247167

波场区块链浏览器

诈骗披露:成功学周文强

又一个“成功学”大师周文强翻车 你想一夜暴富吗?你想年薪百 ...

3855530

Lazy Lions

狗狗币一夜暴涨700倍创下历史新高!

最近一段时间狗狗币暴涨幅度达到700倍,出现了巨大的涨幅,这 ...

3186312

波场区块链浏览器

专门忽悠企业家的中国十大骗子大师

区块链网创立于2015年初,为国内第一批有资质的区块链媒体, ...

2825546

希壤

中国十大骗局之pi network(π币、pi币、派币、兀币)

中国十大骗局之pi network(π币、pi币、派币、兀币 ...

2578800

Gemini 交易所

2023年打假总结:Pi Network项目的传销性质Pi币

曾经,号称“走路就能赚钱”拥有大量用户和广泛影响的国内APP ...

2471845

文昌链

国内460种传销币套路和骗子币名单大曝光

打着区块链旗号,以聚集性传销、网络传销为手段,以每枚3元的价 ...

2173330

Coin Metrics

原力元宇宙佛萨奇骗局

原力元宇宙佛萨奇骗局是一种不可思议的幻想计划,它由一群英勇可 ...

2108576

聚币网

柴犬币SHIB来了

因其可爱形象和马斯克代言,近段时间最耀眼的加密货币非狗狗币莫 ...

1295270

Luart

链圈打诈:3000名解放军去缅甸真的假的?

3000名解放军去缅甸这个是假新闻,出兵这是个大问题,如果我 ...

1231199

a16z