说起挖矿,其实就是找到一个随机数参与哈希运算Hash,使得最后得到的哈希值符合难度要求,简单来看挖矿难度的高低就是生成区块头的哈希值有多少0。目前挖矿算法主要分为两种,分别是需要使用大量硬件资源用于计算的POW算法,以及不需要使用大量硬件资源用于计算,但需要用币挖矿的POS算法。POW各种算法之间的差别很大,POS各种算法之间的差别很小。那么究竟挖矿算法有多少种?下面就让币圈子小编大家一文盘点挖矿算法。
挖矿算法有多少种?
比特币(Bitcoin)是Sha256d算法,中本聪设计的时候提出了人人挖矿的理念。比特币最初是钱包挖矿,后来有了CPU挖矿程序,再后来有了显卡挖矿程序,2012年有了ASIC挖矿。早期很多山寨币都是使用的Sha256d算法,比特币矿机出现后,这些山寨币由于全网算力低,经常被51%攻击,就存活不下去了。
大部分币的开发团队都反对ASIC,使用各种不能用于ASIC挖矿的算法,很少有开发团队希望自己的币能被ASCI挖矿。
莱特币(Litecoin)是Scrypt算法,对内存依赖很高。2013年,比特币和莱特币价格大涨。那时候莱特币还是显卡挖矿,认为做不出来ASCI,大量新出现的山寨币使用Scrypt算法。机枪池大量出现,矿工在矿池挖莱特币,矿池实际让矿工挖的是同算法其它收益更高的币,矿池还是支付给矿工莱特币。矿池在交易平台大量砸盘卖出挖到的这个币,一直跌到挖矿收益很低,这个币基本就完了,矿池再换挖其它币用机枪池挖矿。2014年,莱特币矿机被做出来了,芯片内集成了存储。
合并采矿是在矿池实现的。被合并采矿的币必须支持,才能和主链合并采矿。在几乎不影响主链挖矿收益的同时,更多的挖出被合并采矿的币,是矿池的竞争力。
比特股PTS(Bitshares PTS)是2013年发布的,开发团队提出了人人挖矿的理念,并表示只能CPU挖矿。过了才2个多月,就有公开的显卡挖矿程序了。
质数币(Primecoin)让挖矿计算有意义的数据。以前各种币挖矿都是进行无意义的计算,质数币的计算是用来寻找大质数,这是有意义的。质数币刚开始也是CPU挖矿,很快就有第三方做出来了显卡挖矿程序。
黎曼币(Riecoin)使用了改进的计算质数算法。黎曼币的算法涉及到数论极其极其复杂,需要片上存储和大内存,只能CPU挖矿,做不出来显卡挖矿程序和ASIC。黎曼币挖矿程序算法的作者是卡内基梅隆大学计算机科学终身副教授,他把算法公开在了自己博客上。
恒久币(Aeternity)设计出了布谷鸟(Cuckoo)算法,核心散列函数是cuckaroo和cuckatoo。需要片上存储,适合CPU挖矿,CPU的缓存就是片上存储。当然,需要的存储空间不能超过CPU缓存。不适合显卡挖矿,显卡GPU的片上存储有限,板载存储显存需要外排序,效率能有CPU的10%就不错了。恒久币最初希望手机CPU能挖矿,设计了布谷鸟算法,后来恒久币还是放弃了手机CPU挖矿。恒久币实际使用的算法,需要的存储空间远远超过了CPU缓存,就适合显卡挖矿。
古灵币(Grin)算法中需要的存储空间也远远超过了CPU缓存,也是适合显卡挖矿。
门罗币(Monero)是CPU挖矿,用了AES-NI指令,不适合手机CPU挖矿。门罗币开发团队一直反对ASIC,并声称出现ASIC就硬分叉换算法。2018年,门罗币ASIC出现后,门罗币开发团队就对门罗币换了新算法并进行硬分叉。门罗币新链和旧链都获得了交易平台和矿池的支持,ASIC还能继续在旧链挖矿。矿机商又改进ASIC,制造出来了能挖新链的ASIC,门罗币开发团队再次换算法硬分叉。矿机商和开发团队持续升级争斗,门罗币换了很多算法,也出来了很多链。钱包有很多版本,用户在使用时不方便,造成了很多用户和矿工流失。各个版本的门罗币发展的都不好。
真正CPU挖矿的币就只有黎曼币,但黎曼币没有发展起来。由于很多做CPU挖矿的币,要么做出来了显卡挖矿程序,要么做出来了ASIC。以后就很少有开发团队提起人人挖矿的理念,不再想着做CPU挖矿的币了。
达世币(Dash)是X11算法,开创了主节点概念。达世币在开始是显卡挖矿,开发团队不希望ASIC挖矿,后来还是出现了ASIC。达世币主节点需要一直在线才有收益,主节点不参与计算,网络安全由POW保障,POW负责给主节点发币,主节点只领币。不要把主节点的概念和POS弄混了,主节点和POS不能共存。达世币主节点验证算法最初很简单,但没有任何安全可言,就不断改进主节点验证算法,后来变得极其复杂。其它主节点币,都是用的达世币主节点算法,只是用的版本不同。
本篇文章就是币圈子小编对于挖矿算法有多少种这一问题的相关介绍,如果把POS与POW两种算法想比的话,POW算法比POS更安全,不过无论POW,还是POS,想让网络安全和稳定,全网确认时间最少是90秒,想要减少全网的确认时间的话,可以把一个块拆分开,出块的时候先出块头,块头出来了,再出块的内容。