半年前,我是幣圈的小白,看到區(qū)塊鏈概念,每個字都認(rèn)識,連起來就不懂了。為了新進幣圈的小白能看懂今天的問題,我把問題分成四個:一、什么是挖礦;二、什么是ASIC礦機挖礦;三、Ulord共識算法是什么,靠什么挖礦;四、Ulord為什么要防止ASIC礦機挖礦。
什么是挖礦
在比特幣的世界里,大約每10分鐘會產(chǎn)生一個區(qū)塊(里面放著交易數(shù)據(jù))。所有的挖礦計算機都在嘗試打包這個區(qū)塊提交,而最終成功生成這個區(qū)塊的人,就可以得到一筆比特幣報酬。最初,大約每10分鐘就可以產(chǎn)生50個比特幣的比特幣報酬。但是該報酬每4年減半,現(xiàn)在每10分鐘比特幣網(wǎng)絡(luò)就可以產(chǎn)生25個比特幣。
而要成功生成區(qū)塊,就需要礦工找到那個有效的哈希值,而要得到正確的哈希值,沒有捷徑可以走,只能靠猜,猜的過程就是計算機隨機hash碰撞的過程,猜中了,你就得到了比特幣。
挖礦速度,專業(yè)的說法叫算力,就是計算機每秒產(chǎn)生hash碰撞的能力。也就是說,我們手里的礦機每秒能做多少次hash碰撞,就是算力。算力就是挖比特幣的能力,算力越高,挖得比特幣越多,回報越高。
當(dāng)前一個比特幣價值將近六萬元,合計一算,擁有區(qū)塊打包權(quán)獲得的獎勵可不小?!疤煜挛跷踅詾槔麃怼?,知道有利可圖,很多人加入到算計算題爭搶區(qū)塊打包權(quán)的隊伍,這種方式類似于黃金挖掘,俗稱“挖礦”,挖礦就是解數(shù)學(xué)題,解題速度就是挖礦效率。
什么是ASIC礦機挖礦
比特幣挖礦(即做算術(shù)題)經(jīng)歷了一個逐漸演變的過程,從最開始閑置電腦里的CPU到GPU,再到fpga,近幾年更厲害的是asic礦機。就像黃金挖礦,最開始是個人拿著盤子在沙子里淘金,再到一小群人用流沙槽來淘金,再是一群人用水沖刷金山來淘金,最后到機械化露天挖礦。
asic礦機挖比特幣就類似于機械露天設(shè)備挖黃金,asic礦機采用SHA-256算法針對比特幣挖礦效率最高。
?Ulord共識算法是什么,靠什么挖礦
關(guān)于共識算法,Ulord白皮書里提到:
Ulord采用PoW(Proof of Work即工作量證明)和PoS(Proof of Stake?股權(quán)證明)相結(jié)合的方式作為共識算法。其中,PoW采用CPU挖礦算法,通過采用多級串行密碼學(xué)原語操作,同時結(jié)合計算機體系結(jié)構(gòu)特征,具備永久防ASIC的挖礦特征。PoS機制主要是為了鼓勵更多的主節(jié)點加入,通過提供更多的存儲空間,在為自身帶來收益同時,也為Ulord提供海量的分布式存儲空間。
關(guān)于PoW共識機制,白皮書里提到:
為了充分利用閑置的資源進行挖礦,Ulord原鏈采用CPU挖礦算法——CrptoHello。借鑒存儲器(Memory-Hard)工作量證明算法的設(shè)計思路,并結(jié)合CPU、GUP、ASIC等體系結(jié)構(gòu)的特點,設(shè)計了針對CPU體系結(jié)構(gòu)優(yōu)化的工作量證明方法CrptoHello。
該方法為3個階段:
1.利用偽隨機序列初始化工作存儲器,用SHA3函數(shù)進行計算。
2.?修改工作存儲器。
3.?根據(jù)存儲器內(nèi)容產(chǎn)生SHA3函數(shù)形成的最后結(jié)果。
CrptoHello算法,有什么主要特點:
1.作存儲器的容量選擇CPU的Cache容量優(yōu)化,導(dǎo)致GPU或者ASIC無法滿足同時執(zhí)行大量PoW的存儲器容量要求。
2.靠隨機的散列函數(shù)族,增加ASIC實現(xiàn)的芯片面積,降低其并行化效率。
3.在修改工作存儲器階段使用嚴(yán)格串行執(zhí)行的序列,控制ASIC和GPU的執(zhí)行并行度,大幅降低其存儲器系統(tǒng)效率。
4.算法邏輯復(fù)雜,需要存儲器容量大,內(nèi)存訪問地址不規(guī)則,ASIC不能實現(xiàn)開掛。
簡而言之,CrptoHello算法通過一系列措施(存儲器容量選擇CPU的Cache容量優(yōu)化、增加ASIC實現(xiàn)的芯片面積)讓GPU和ASIC挖礦不能開掛,相對于CPU挖礦失去了優(yōu)勢。
Ulord為什么要防止ASIC礦機挖礦
Ulord希望吸引更多閑置資源加入網(wǎng)絡(luò),用個人電腦的CPU挖礦,而不是專業(yè)的GPU和ASIC礦機壟斷挖礦,相對比特幣網(wǎng)絡(luò)更公平、資源利用率更高。