Bitcoin Vault 比特币保险库 博客 Bitcoin比特币挖矿的相关知识:哈希函数、矿机、矿池、矿场等

Bitcoin比特币挖矿的相关知识:哈希函数、矿机、矿池、矿场等

比特币是基于密码学发明的数字货币,通过类似枚举法的运算不停尝试确定唯一值,获得比特币区块奖励,这个过程,就是俗称的“挖矿”。

目前,比特币挖矿需要专门的芯片机,矿机是配备针对比特币的哈希函数运算定制化的计算芯片,操作系统一般也是定制化的linux系统的紧凑型电脑。

我们平时所说的挖矿能力其实就是矿机可以执行的尝试次数来衡量的,这个能力就是算力。每秒可以承载多少次尝试,也就是算力大小的计量单位,我们称为哈希率或[H/S]。

1 H/S是指每秒进行一次Sha256哈希函数的运算。

哈希率单位之间的换算是:

哈希率单位/秒 哈希 每秒哈希运算次数
H/s (Hash) 1 一次
kH/s (KiloHash) 1,000 一千次:Thousand
MH/s (MegaHash) 1,000,000 一百万次:Million
GH/s (GigaHash) 1,000,000,000 一万亿次:Billion
TH/s (TeraHash) 1,000,000,000,000 一兆亿次:Trillion
PH/s (PetaHash) 1,000,000,000,000,000 One Quadrillion
EH/s (ExaHash) 1,000,000,000,000,000,000 One Quintillion
ZH/s (ZettaHash) 1,000,000,000,000,000,000,000 One Sextillion
YH/s (YottaHash) 1,000,000,000,000,000,000,000,000 One Septillion
  • 1 KH /S=每秒1024次;
  • 1 MH /S = 1,024 KH /S
  • 1 GH /S = 1,024 MH /S
  • 1 TH /S = 1,024 GH /S
  • 1 PH /S = 1,024 TH /S
  • 1 EH /S = 1,024 PH /S

目前,全网一共拥有大概112.42 EH/s算力,而矿机算力的计量单位目前以T作为度量较多(1E=1024*1024T)。

比特币算法——SHA256算法

SHA256的中文全称叫做“安全哈希算法”。所谓的“哈希”是Hash的音译,而Hash就是进行Hash函数的意思。通常来说,Hash函数的运算有一个共同特点。就是不论原始数据有多少位,只要通过Hash运算后,得到结果的长度都是固定的。

 

Hash函数的类型有很多种,包括SHA224、SHA256、SHA384、SHA512、SHA512/224、SHA512/256等。但是比特币仅选用了SHA256。这个256代表的意思是,数据经过函数运算后得到的结果必须是一个256位的2进制数字。也就是类似这样的结果:“001100……11011”,这其中一共有256位。

在比特币里,为什么要把数据转换成256位的数字呢?其实之所以选择SHA256,主要是为了验证两个文件是否相等。

矿池

挖矿大致可以分为两种两种方式,一种是 Solo(个人) 挖矿,一种是矿池挖矿。

最开始大家都是采用Solo模式,单打独斗,挖不到则矣,一旦爆块,记账权、区块奖励和转账费将全部获得。简单来说就是:All or nothing。

这问题也很突出,就拿比特币来说,矿工们自己计算,自己进行交易信息打包,但是随着算力增加,挖到比特币的概率越来越小。目前全网算力已经达到110Eh/s,蚂蚁大陆S9i算力只有13T,粗略估计爆块几率三十万分之一,矿工们真金白银投入买矿机,每天还有电费、网费、管理费的投入,所以很多矿工不会选择Solo挖矿这种风险投资。

矿工更多追求持续稳定的收益,于是矿池应运而生。简单来说,矿池就是算力的集合,大家把算力集中到矿池,能挖到区块的概率就会大大增加,然后把收益根据每个人的算力占比去分配。

矿池的核心工作是给矿工分配任务,统计工作量并分发收益。和Solo模式相比,矿工收益的期望值没有变,但收益更加持续稳定。

矿池中任务分发以及收益结算

任务分配原理

图片来源:菜根谭文章“深度解析挖矿的逻辑和技术实现”

通过前面学习我们知道,挖矿实际就是计算机不停进行哈希运算,直到找到符合条件的目标值,目标值是一个总长度256位的二进制数,要求前n位为连续0,参考上图。

矿池将区块难度分成很多难度更小的任务下发给矿工计算,矿工完成一个任务后将结果提交给矿池,叫提交一个share。假设全网难度要求n的值为100,即前100个比特位为0,矿池可能会给矿工分配一个任务,要求前30位为0,然后再从所有提交的任务中,寻找有没有凑巧前100位为0的目标值。

不同矿机算力大小不同,矿池会根据大家的算力大小分配难度不同的任务。比如A矿机算力1T,B矿机算力10T,那么矿池给A矿机分配任务要求前10个比特位为0,B矿机的任务可能会是前20个比特位为0。前20个比特位为0成为符合条件目标值的概率肯定是大于前10个比特位为0的概率。

矿场

当前多数主流币种都是ASIC专业矿机集群化挖矿,即都需要在专业矿场里进行挖矿。矿场即您托管机器的场地。矿场实地图片参考:

mceclip0.pngmceclip2.png

矿场通常建在电力资源便宜的地方,比如电站附近等。以四川为例,大渡河等主干河流附近会有一些矿场的分布。同样因为电力资源上的一些考虑,矿场一般位于相对比较偏远的位置。

建一个矿场通常需要如下资源或设备:

  • 便宜的电力资源:丰水电电价0.25元左右,全年电电价0.35-0.4元左右,这些价格为对外招租的价格,实际拿电成本价更低一些
  • 土地资源
  • 变压器
  • 交换机
  • 负压风机:主要用于矿场散热
  • 水帘:主要用于矿场散热
  • 货架:用于拜访矿机和电源
  • 运维人员等等

对寻找机位托管机器的矿工朋友来说,最需要注意的就是跟矿场确定好:

  • 资质(最先保证机器是安全的),
  • 电价(高低压,是否含电损),
  • 运维(是否含运维),
  • 收益损失及赔偿(比如一般每月检修几次,停电时间超过多少小时的话,如何进行赔偿),
  • 机器上下架收费情况(通常10元一台,赶上丰水期价格可能会有所上涨),
  • 其他您关注的内容。

 

本文来自网络,不代表Bitcoin Vault 比特币保险库立场,转载请注明出处。

作者: acoolboy

发表评论

联系我们

联系我们

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部