首先,挖矿是什么?以比特币为例,挖矿就是参与维护比特币网络的节点,通过协助生成新区块来获取一定量新增的比特币的过程。当用户向比特币网络中发布交易后,需要有人将交易进行确认,形成新的区块,串联到区块链中。在一个互相不信任的分布式系统中,该由谁来完成这件事情呢?比特币网络采用了「挖矿」的方式来解决这个问题。
基本原理
目前,每 10 分钟左右生成一个不超过 1 MB 大小的区块(记录了这 10 分钟内发生的验证过的交易内容),串联到最长的链尾部,每个区块的成功提交者可以得到系统 12.5 个比特币的奖励(该奖励作为区块内的第一个交易,一定区块数后才能使用),以及用户附加到交易上的支付服务费用。即便没有任何用户交易,矿工也可以自行产生合法的区块并获得奖励。
挖矿过程
简单来讲,假如你是比特币转账的交易者,当你发起交易时,也就是将这条交易信息广播到区块链网络里,但这并不意味着你的交易就被立刻添加到了区块链上,它一开始是“漂浮”在茫茫的区块链网络中。当某位矿工选中了你的交易,必须将它塞进区块里,交易才可能被链接到区块链上。然而,装数据的“盒子”并不是现成的。矿工们可以看到区块链上一个个塞满了交易的“老区块”,眼下却迫切地希望能得到新的区块,好让自己选中的交易尽快链接到区块链上,新区块的挖掘就是挖矿的过程。
它的具体实现过程为:参与者综合上一个区块的 Hash 值,上一个区块生成之后的新的验证过的交易内容,再加上自己猜测的一个随机数 X,一起打包到一个候选新区块,让新区块的 Hash 值小于比特币网络中给定的一个数。这是一道面向全体矿工的计算题,这个数越小,计算出来就越难。
系统每隔两周(即经过 2016 个区块)会根据上一周期的挖矿时间来调整挖矿难度(通过调整限制数的大小),来调节生成区块的时间稳定在 10 分钟左右。为了避免震荡,每次调整的最大幅度为 4 倍。历史上最快的出块时间小于 10s,最慢的出块时间超过 1 个小时。
为了挖到矿,参与处理区块的用户端往往需要付出大量的时间和计算力。算力一般以每秒进行多少次 Hash 计算为单位,记为 h/s。目前,比特币网络算力峰值已经达到了每秒数百亿亿次。
如何挖矿
早期算力不高的情况下,单台设备还有可能挖出区块,这种单机挖矿的方式称之为 Solo,但是随着算力继续增长,凭借着单台设备已经很难能够挖到区块,解决方法就是接入矿池进行挖矿。
矿池简单来说,就是将很多台挖矿设备的算力,集中起来进行统一挖矿,这样对于矿池而言,算力增大了,能挖到区块的概率也就加大了,一般当矿池在挖到区块并收到系统奖励之后,再按照矿池内的矿工提供的算力,进行分成。
所以想要挖矿,首先就要选择一个矿池,然后注册账号填写加密货币地址,最后找一台设备下载挖矿软件即可进行挖矿。开始挖矿一段时间之后,就能看到你对应的钱包地址获得了矿池的奖励。
听起来很麻烦,是不是?现在有更好的软件出现了:哈鱼矿工,可在线一键挖矿,下面是软件截图:
哈鱼矿工是一款专业的数字挖矿软件,主要功能是为区块链技术提供挖矿软件,主要特点是管理方便,操作简单,不需要专业的区块链知识,就可以进行挖矿,获取收益。
哈鱼矿工 APP 还提供了多台设备一键管理功能,可以在手机上监控和设置其他所有设备,管理起来更方便,掉线再也不怕了。