引言
近期筆者對(duì)數(shù)字貨幣的挖礦比較感興趣,根據(jù)這段時(shí)間學(xué)習(xí)的內(nèi)容,整理了本篇文章,算是一個(gè)梳理。
一。 為什么需要挖礦
首先解釋一下什么叫做挖礦。
以數(shù)字貨幣中的比特幣為例,挖礦就是打包比特幣的交易,獲得礦工費(fèi)的過(guò)程。
用四個(gè)字來(lái)描述:記賬和收錢(qián)。
因?yàn)樵跀?shù)字貨幣的交易中,各個(gè)用戶(hù)的交易都需要在一個(gè)公共賬本上記賬,因此就需要有人來(lái)完成這個(gè)記賬的過(guò)程。
完成記賬的人就叫做礦工,首先完成記賬的礦工就會(huì)有數(shù)字代幣的獎(jiǎng)勵(lì)。
正是由于有了經(jīng)濟(jì)利益的刺激,挖礦已成為數(shù)字貨幣中的一個(gè)行業(yè)。
按照數(shù)字貨幣中共識(shí)算法分類(lèi),共識(shí)算法分為POW和POS。
POW:全稱(chēng)Proof of Work,工作證明。你獲得多少數(shù)字代幣,取決于你對(duì)挖礦做出的貢獻(xiàn)。
POS:全稱(chēng)Proof of Stake,股權(quán)證明。簡(jiǎn)單來(lái)說(shuō),就是一個(gè)根據(jù)你持有貨幣的量和時(shí)間,給你發(fā)利息的一個(gè)制度。
用通俗的話(huà)說(shuō),POW就是誰(shuí)勁大聽(tīng)誰(shuí)的,POS就是誰(shuí)有錢(qián)聽(tīng)誰(shuí)的。
本文當(dāng)中挖礦主要是針對(duì)POW,現(xiàn)在市值排行前兩名的比特幣和以太坊都是屬于POW。
二。 礦機(jī)的發(fā)展歷程
由于挖礦是一件有利可圖的事情,所以挖礦所用的礦機(jī)也經(jīng)歷了一番演進(jìn)。
最早是CPU挖,后來(lái)有人用GPU挖,再后來(lái)有人用FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)挖,礦機(jī)的最終形態(tài)就是用ASIC(專(zhuān)用集成電路)挖。
有人把礦機(jī)的發(fā)展歷程做了一個(gè)簡(jiǎn)單的總結(jié),CPU→GPU→FPGA→ASIC,越靠近左側(cè)就越靈活,但效率越低;越靠近右側(cè)就越專(zhuān)用,但效率要高很多。
所以針對(duì)BTC和LTC等市值很高的幣種,早就出現(xiàn)了以比特大陸為首的礦機(jī)廠(chǎng)商推出了專(zhuān)用的挖礦芯片,壟斷了BTC和LTC的挖礦產(chǎn)業(yè)。
最終BTC和LTC等挖礦就變成了一個(gè)資本比拼的市場(chǎng),只有有錢(qián)可以買(mǎi)到足夠多的礦機(jī)。只要礦機(jī)挖礦所得的收益能夠支撐電費(fèi)和礦機(jī)的維護(hù)成本,這就是一件可以賺錢(qián)的事情。就可以不停的加大投入。
所以在牛市的時(shí)候現(xiàn)貨礦機(jī)的價(jià)格居高不下,一機(jī)難求。
三。 為什么要抗ASIC
隨著越來(lái)越多數(shù)字貨幣的發(fā)行,很多幣種都逐步提出一個(gè)口號(hào),叫做抗ASIC。
表面上的理由很簡(jiǎn)單:由于數(shù)字貨幣一個(gè)很重要的特點(diǎn)就是去中心化,而ASIC礦機(jī)的出現(xiàn)恰恰打破了這個(gè)趨勢(shì),造成了算力的壟斷。
有人做過(guò)統(tǒng)計(jì),比特大陸控制的BTC礦池(下圖中用紅框標(biāo)識(shí))已占到了全網(wǎng)算力的40%以上,雖然沒(méi)有到達(dá)傳說(shuō)中的51%(絕對(duì)多數(shù)),但實(shí)際上已經(jīng)形成了壟斷。
但是抗ASIC真的可以去除中心化的影響嗎?往深一層想,即使沒(méi)有ASIC,只要挖礦是一件有利可圖的事情,就會(huì)吸引過(guò)來(lái)資本,大規(guī)模的采購(gòu)礦機(jī)從中盈利,從而造成資源的集中。所以抗ASIC無(wú)法做到去中心化,二八現(xiàn)象肯定是存在的。
那么既然如此,抗ASIC的目的到底是什么?
后來(lái)筆者才明白,抗ASIC的本質(zhì)實(shí)際上是開(kāi)發(fā)者與礦工關(guān)于話(huà)語(yǔ)權(quán)的博弈。
本來(lái)開(kāi)發(fā)者是數(shù)字貨幣中無(wú)可爭(zhēng)議的老大,代碼是我寫(xiě)的,其他人當(dāng)然要聽(tīng)我的。但是隨著礦工實(shí)力的增強(qiáng),如果后續(xù)數(shù)字貨幣的發(fā)展路線(xiàn)沒(méi)有得到礦工群體的認(rèn)可,礦工可以用不運(yùn)行新版本的代碼來(lái)進(jìn)行抵制。
最壞后果就是出現(xiàn)了硬分叉,花開(kāi)兩朵,各表一枝。你走你的陽(yáng)關(guān)道,我走我的獨(dú)木橋。
歷史上以比特大陸為首的BCH就是這么從BTC里面硬分叉出來(lái)的。
四。 抗ASIC的方法
那現(xiàn)在到底有哪些常用的抗ASIC的方法呢?據(jù)觀察,現(xiàn)在至少有兩種方式:大內(nèi)存和定期修改算法。
方法1:大內(nèi)存
用大內(nèi)存是一個(gè)抵抗ASIC比較通用的方法。下面分別舉ETH和GRIN的例子。
ETH
以ETH為例,ETH在挖礦時(shí)必須產(chǎn)生一個(gè)64M的數(shù)據(jù)塊,而在挖礦過(guò)程中需要隨機(jī)使用這個(gè)大數(shù)據(jù)塊的某幾個(gè)字節(jié),所以即使你芯片運(yùn)算的再快也沒(méi)有用,它需要用某些數(shù)據(jù)做計(jì)算。
記得看過(guò)一個(gè)數(shù)據(jù),在GPU礦機(jī)運(yùn)行ETH的挖礦算法時(shí),其GPU利用率為60%多,而顯存的占用率接近了90%。
所以即使比特大陸研究出了針對(duì)ETH的ASIC礦機(jī),也沒(méi)有給ETH的挖礦生態(tài)帶來(lái)致命的打擊,有兩點(diǎn)原因:一是礦機(jī)在運(yùn)行過(guò)程中需要頻繁的讀寫(xiě)內(nèi)存,造成了效率不高;其次是ASIC礦機(jī)配置的大容量的內(nèi)存芯片,也大幅拉高了整機(jī)的成本。
GRIN
GRIN是剛推出不久的一款匿名幣,號(hào)稱(chēng)是比特幣的接班人,在一個(gè)月前剛剛上線(xiàn)時(shí),吸引了很多人的眼球。
Grin 獨(dú)創(chuàng)性的提出了雙POW算法:
1. 面向GPU的CuckARoo算法,需要 6GB+ 的內(nèi)存,初期挖出 90% 塊
2. 面向CPU的 CuckAToo算法,需要 11GB+ 的內(nèi)存,初期挖出 10% 的塊
按照這個(gè)要求,初期GRIN要求礦機(jī)必須具備6GB以上的大內(nèi)存才可以挖礦,而這個(gè)要求是明顯有利于顯卡挖礦的。
方法2:更新算法
上面舉的例子包括ETH和GRIN都是在算法設(shè)計(jì)之初就考慮了抗ASIC,但是很多幣種在最初沒(méi)有這方面的考慮,那么該怎么辦呢?
以門(mén)羅幣為例,它的算力很大一部分都被ASIC和FPGA把控,于是門(mén)羅幣想出來(lái)一招:更新算法。
大概的頻率是半年更新一次算法,這讓擁有ASIC和FPGA礦機(jī)的礦工們欲哭無(wú)淚。
因?yàn)锳SIC是專(zhuān)用芯片,它只能針對(duì)特定的算法,如果算法更新,則芯片就沒(méi)有任何用處了!需要重新開(kāi)發(fā),而開(kāi)發(fā)一款A(yù)SIC芯片是極其燒錢(qián)和費(fèi)時(shí)的,僅僅其中流片的費(fèi)用至少就需要幾十萬(wàn)RMB。
相比之下,F(xiàn)PGA礦機(jī)會(huì)稍好一些,其可以通過(guò)更新以支持新算法。但是FPGA的開(kāi)發(fā)周期往往也不短,有可能需要幾個(gè)月,等研制出來(lái)以后,可能沒(méi)有等多長(zhǎng)時(shí)間,又要進(jìn)行下一輪更新了。
五。 電子工程師的機(jī)會(huì)
在介紹完上面區(qū)塊鏈挖礦的概況后,針對(duì)電子工程師,到底有沒(méi)有什么機(jī)會(huì)可以從挖礦產(chǎn)業(yè)中分一杯羹呢?下面我從FPGA工程師和硬件工程師兩個(gè)角度進(jìn)行分析。
機(jī)會(huì)1:FPGA工程師
FPGA礦機(jī)作為一種半定制產(chǎn)品,在某些無(wú)ASIC礦機(jī)的小幣種中,還能夠占有一席之地。
如果FPGA工程師可以在某個(gè)新幣種推出后,或者在某個(gè)老幣種更新算法后,短時(shí)間內(nèi)用FPGA實(shí)現(xiàn)出相應(yīng)的算法,并且運(yùn)行效率可以明顯高于對(duì)應(yīng)的顯卡礦機(jī)挖礦,那么這里面就有盈利空間。
這里補(bǔ)充一個(gè)小常識(shí),針對(duì)顯卡挖礦,更新算法是一個(gè)很簡(jiǎn)單的事情,官方都會(huì)提供算法,更新只需要一兩個(gè)小時(shí)就足夠了。而對(duì)FPGA來(lái)說(shuō),新算法需要重新研發(fā),研發(fā)周期很可能會(huì)以月為單位。
機(jī)會(huì)2:硬件工程師
由于大內(nèi)存礦機(jī)是后續(xù)數(shù)字貨幣挖礦的發(fā)展趨勢(shì),如果在ASIC(專(zhuān)用芯片)礦機(jī)出來(lái)之前,硬件工程師能夠搶先使用通用芯片設(shè)計(jì)出礦機(jī),預(yù)計(jì)也會(huì)很有市場(chǎng)的。
這里再補(bǔ)充一個(gè)小常識(shí),現(xiàn)在的內(nèi)存主要分為兩大類(lèi):CPU使用的DDR和GPU使用的GDDR。
為什么會(huì)出現(xiàn)兩種內(nèi)存嗎?
因?yàn)殡S著人們對(duì)于顯卡性能日益增長(zhǎng)的需求,早先的DDR已不能滿(mǎn)足顯卡的需求,所以出現(xiàn)了專(zhuān)門(mén)為滿(mǎn)足顯卡GPU高速交互數(shù)據(jù)需求的GDDR。因?yàn)镚PU沒(méi)有像CPU那樣設(shè)計(jì)有大容量L1、L2、L3緩存,而且GPU處理大容量的紋理貼圖,所以需要與顯存進(jìn)行更加頻繁的數(shù)據(jù)交互,所以GPU所用的GDDR相比CPU所用的DDR有兩個(gè)特點(diǎn):一是帶寬更寬,二是容量更大。
基于上面的背景介紹,大容量礦機(jī)可以衍生出三種設(shè)計(jì)思路:
①CPU+DDR
比特大陸做的以太坊礦機(jī)就是這種思路,缺點(diǎn)是DDR容量相比GDDR還是較小,訪(fǎng)問(wèn)速度不夠快。相比顯卡礦機(jī),優(yōu)勢(shì)并不明顯。
②GPU+GDDR
這就是常規(guī)顯卡的設(shè)計(jì)思路,不過(guò)假使硬件工程師研發(fā)出了這樣的顯卡礦機(jī),但是通常其產(chǎn)業(yè)鏈整合的能力PK不過(guò)傳統(tǒng)顯卡廠(chǎng)商,價(jià)格很可能沒(méi)有優(yōu)勢(shì)。
③CPU+FPGA+GDDR
在方案③中,F(xiàn)PGA起到了一個(gè)橋接芯片的作用,讓CPU能夠連接大容量的GDDR,CPU完成管理維護(hù)協(xié)議處理等工作,而重復(fù)運(yùn)算交給FPGA處理,看起來(lái)這是一個(gè)最優(yōu)的方案,不過(guò)難點(diǎn)在于FPGA連接GDDR沒(méi)有現(xiàn)成的IP核可用,自行研發(fā)難度很大。
這里所說(shuō)的IP核,是指在集成電路設(shè)計(jì)中,可重復(fù)使用的具有自主知識(shí)產(chǎn)權(quán)功能的集成電路設(shè)計(jì)模塊。
現(xiàn)在世界排名第一的FPGA廠(chǎng)商Xilinx還沒(méi)有開(kāi)發(fā)出針對(duì)GDDR5或者GDDR6的IP核,不過(guò)看到有國(guó)內(nèi)廠(chǎng)商已經(jīng)做出來(lái)了GDDR6的IP核,真是厲害!
-
電子工程師
+關(guān)注
關(guān)注
252文章
775瀏覽量
95682
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論