BTC挖矿算法的运算原理是什么

WB3交流加微信:WX-93588,⬅️此处为全站广告位,与正文项目无关
注册并登录App即可领取高达 60,000 元的数字货币盲盒:点击此处注册OKX

比特币挖矿是比特币体系安全的一个关键部分。其原理是,比特币矿工将一堆比特币交易归为一个区块,然后重复履行一种叫做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运用CryptHash算法,该算法被有意规划成难以在硬件中完结的形式。它将1024个不同的Hash值存储到内存中,然后以不行猜测的方法将它们结合起来,以获得最终成果。因而,与SHA-256Hash相比,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美元/千瓦时,

此时快讯

【马来西亚砂拉越警方和能源公司捣毁非法采矿作业】金色财经报道,马来西亚砂拉越能源公司和警方在美里发现非法加密货币挖矿营地。国家公用事业公司砂拉越能源公司和当地警察局宣布拆除在马来西亚砂拉越州美里设立的涉嫌未经授权的加密货币挖矿营地。据称,在执法部门继续调查期间,从这些站点查获了137台ASIC设备。

版权声明:本文收集于互联网,如有侵权请联系站长删除。
转载请注明:BTC挖矿算法的运算原理是什么 | 币百度

相关文章