時間:2023-06-24|瀏覽:260
以BTC為例,它最基本的算法原理就是,把已有的10分鐘內(nèi)的所有交易作為一個輸入,加上一個隨機數(shù),當10分鐘內(nèi)所有交易記錄加上你的這個隨機數(shù)計算出一個SHA256的hash。里面幾乎都是整數(shù)運算,這個根本就像是為顯卡特別打造一樣,顯卡非常適合這種無腦性算法,流處理器數(shù)目越多約占優(yōu)勢。
就Hash計算而言,它幾乎都是獨立并發(fā)的整數(shù)計算,GPU簡直就是為了這個而設(shè)計生產(chǎn)出來的。相比較CPU可憐的2-8線程和長度驚人的控制判斷和調(diào)度分支,GPU可以輕易的進行數(shù)百個線程的整數(shù)計算并發(fā)(無需任何判斷的無腦暴力破解乃是A卡的強項)。OpenCL可以利用GPU在片的大量unifiedshader都可以用來作為整數(shù)計算的資源。而A卡的shader(流處理器)資源又是N的數(shù)倍(同等級別的卡)
不過到了后來大家發(fā)現(xiàn)顯卡還是太弱了,直接上ASIC大規(guī)模堆ALU單元就能極大程度提升算力,巴掌大的算力板的算力已經(jīng)是顯卡的好幾十倍,所以現(xiàn)在比特幣不用專門的ASIC礦機根本挖不動。
盡管后期的幣種LTC所使用的Scrypt算法還引入了大量相互依賴的、隨機的訪存指令,當Footprint足夠大時,還會在GPU的L2級別、甚至TLB級別出現(xiàn)大量的緩存失效,從而產(chǎn)生更多的DRAM訪問,以弱化礦機(ASIC/FPGA)相較于GPU在整數(shù)運算性能上的優(yōu)勢,但是依然被人針對性研發(fā)出礦機,目前也只有專門礦機才能挖。
不過像第二代虛擬貨幣(比如說是ETH、ZEC這種)由于吸取了前輩們被爆算法的經(jīng)驗,在挖掘算法上做了更加特別優(yōu)化,防止出現(xiàn)無腦的運算,對于顯存要求特別高,因此可以有效抵抗礦機的入侵。
也因為ETH這種只能靠顯卡挖礦,造成了2017年下半年開始的顯卡漲價潮、缺貨潮,很多礦主都賣了成千張顯卡回去組建礦機挖掘這些虛擬貨幣,久而久之,大家都認為CPU不能挖礦,其實只是效率、效益太低了而已。