谈起挖矿,市面上有很多虚拟货币都是可以开展挖矿的,而现在挖矿人数最多的货币便是BTC。我们知道,开发挖矿程序是必须了解CPU的指令集、显卡指令集、显卡驱动等内容的,不同的货币都会有不同的算法。不过还是有不少投资者近期也咨询到挖矿网(wakuang58.com)小编,究竟什么是比特币挖矿算法?挖矿算法又有哪些?下面跟着挖矿网小编一起来看看。
比特币挖矿算法什么意思?
比特币挖矿便是找到一个随机数(Nonce)参加哈希计算Hash(BlockHeader),因此比特币挖矿算法又被称为哈希算法促使最终得到的哈希值符合难度规定,用公式表示便是Hash(BlockHeader)<=target
BTC采用的哈希算法是SHA-256,换句话说最后会产生256位的导出,一共2^256种可能的取值。
最终得到的哈希值低于target的意思是把哈希后获得的bytes转换成数据后低于target转化成的数字。
举例说明,直观的感受一下挖矿的难度;
SHA-256测算123的值
a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3
下面这段字符是BTC第1000个区块的哈希(2009年1月产生);
00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09
能够看见前面有8个0,尽管哈希值的生成是随机的,可是生成前面有8个0的值对计算机穷举而言也并不算太难。
再看一下这段字符,是BTC第560000个区块的哈希(2019年1月产生);
0000000000000000002c7b276daf6efb2b6aa68e2ce3be67ef925b3264ae7122
能够看见前面有18个0,要生成满足这个条件的哈希针对普通电脑而言几乎是不可能完成的任务了。
简易来看挖矿难度的高低便是生成区块头的哈希值有多少0。
挖矿算法有哪些?
BTC(Bitcoin)是Sha256d算法,中本聪设计的时候给出了人人挖矿的理念。BTC最初是钱夹挖矿,之后拥有CPU挖矿程序,再后来拥有显卡挖矿程序,2012年拥有ASIC挖矿。初期许多山寨币都是使用的Sha256d算法,比特币矿机出现后,这些山寨币因为全网算力低,经常被51%进攻,就存活不下去了。
大部分币的开发团队都反对ASIC,应用各种不能用以ASIC挖矿的算法,很少有开发团队希望自己的币能被ASCI挖矿。
莱特币(Litecoin)是Scrypt算法,对内存依靠很高。2013年,BTC和莱特币价格暴涨。那时莱特币还是显卡挖矿,觉得做不出来ASCI,大量新出现的山寨币应用Scrypt算法。机枪池大量发生,矿工在矿池挖莱特币,矿池具体让矿工挖的是同算法其他盈利更高的币,矿池还是支付给矿工莱特币。矿池在平台交易大量砸盘售出挖出的这个币,一直跌至挖矿盈利很低,这个币基本就完了,矿池再换挖其他币用机枪池挖矿。2014年,莱特币矿机被做出来了,芯片内集成了储存。
合并采矿要在矿池实现的。被合并采矿的币必须支持,才能和主链合并采矿。在几乎不影响主链挖矿收益的同时,更多的挖出被合并采矿的币,是矿池的竞争力。
比特股PTS(BitsharesPTS)是2013年发布的,开发团队给出了人人挖矿的理念,并表示只能CPU挖矿。过了才2个多月,就有公开的显卡挖矿程序了。
质数币(Primecoin)让挖矿测算成为有意义的数据。之前各种币挖矿都是开展无意义的测算,质数币的计算是用来找寻大质数,这是有意义的。质数币一开始也是CPU挖矿,很快就有第三方做出来了显卡挖矿程序。
黎曼币(Riecoin)使用了改善的计算质数算法。黎曼币的算法牵涉到数论极为极其繁杂,必须上面储存和大内存,只能CPU挖矿,做不出来显卡挖矿程序和ASIC。黎曼币挖矿程序算法的作者是卡内基梅隆大学计算机科学终生副教授,他把算法公开在了自己博客上。
好了,以上便是关于比特币挖矿算法的详细内容。总的来说,其实在比特币的网络中,是对挖矿的难度做出了标识的,但是因为比特币的挖矿所需占用的储存空间比较大,因此比特币的挖矿使用了一种缩小的算法。此外,矿机挖矿的时候还会发生很长的时间找不着符合条件的哈希值的现象,如果找不到哈希值的话,是不能打包区块的,矿工也就没有盈利,这明显对矿工是非常不友好的,但是如果挖出的话,如同中彩票一样,会获得十分丰厚的收益。