挖礦(下稱WK)一直是2020~2021的熱點話題,一直持續(xù)到今天,今天我們想聊聊用FPGA進行WK的核心是什么,以及為什么會現(xiàn)在鮮有用FPGA進行挖礦的了?
WK在挖什么?
大家都在聊WK,那么這個礦是什么?這個其實很多人都了解的,就是虛擬數(shù)字“幣”,最著名的就是Bitcoin。
今天我們的主題并不是Bitcoin,也不是區(qū)塊鏈這些,而是WK(以Bitcoin為例)。
WK實際上就是通過一系列算法,計算出符合要求的哈希值(HASH),從而爭取到記賬權(quán)。這個過程實際上就是試錯的過程,一臺計算機每秒產(chǎn)生的隨機HASH碰撞次數(shù)越多,先計算出正確HASH的概率就越大。
這就是WK的本質(zhì)。
關(guān)于比特幣WK與HASH
今天第一個項目是一個介紹類項目,關(guān)于比特幣WK與HASH。
https://github.com/ray33ee/BitcoinHash-Verilog
項目關(guān)于HASH組成以及在WK中的應(yīng)用,作者很用心的手繪了很多框圖幫助我們理解,同時也有Verilog描述。
關(guān)于比特幣任務(wù)生成器
在使用FPGA集群進行挖礦需要使用CPU接收任務(wù),所以需要一個任務(wù)接收的FPGA,現(xiàn)在一般使用ZYNQ,以前也有軟核,下面這個項目就是關(guān)于比特幣任務(wù)生成器。
https://github.com/Canaan-Creative/MM
Miner Manager 是一個比特幣任務(wù)生成器固件,適合 FPGA 和更快的礦機,它內(nèi)部有 LM32 CPU,適合 XC6SLX16 等小型 FPGA。
關(guān)于比特幣礦工
一
https://github.com/teknohog/Xilinx-Serial-Miner
https://github.com/teknohog/Open-Source-FPGA-Bitcoin-Miner
這個是已經(jīng)應(yīng)用并淘汰的比特幣WK程序,一個使用Xilinx FPGA實現(xiàn),一個使用Altera實現(xiàn)的。
二
https://github.com/kmod/bitcoin_mining
一個簡單的比特幣挖掘系統(tǒng),用于 Digilent Nexys 3 fpga 板上.
https://github.com/fpgaminer/fpgaminer-vanitygen
一個功能性的,實驗性的項目,性能較低。
https://github.com/byingyang/mojo-miner
為 mojo fpga 開發(fā)板開發(fā)的比特幣礦工
https://github.com/jackproudfoot/fpga-bitcoin-miner
ECE350 最終項目
https://github.com/dawood95/BitcoinMinerFPGA
ECE350 最終項目
https://github.com/jkiv/shapool-core
https://github.com/xtrinch/fpga-bitcoin-miner
針對 Lattice ECP5
https://github.com/dawood95/BitcoinMinerFPGA
ECE 337 最終項目
https://github.com/ivandavid14/Bitcoin
EE454 最終項目
https://github.com/jesstherobot/llbitcoin
https://github.com/ailuropoda0/BitcoinMiningAlgorithm
三
https://github.com/WebKingdom/bitcoin_asic
這個就是今天的第三個主角ASIC,這是一個ASIC比特幣礦工。
GPU、ASIC和FPGA算力對比
上面介紹的項目大家不用太在意,大部分都是落后的架構(gòu)和算力(不然我也不敢介紹),主要是大家可以學(xué)習(xí)比特幣SHA256算法實現(xiàn)原理,之前有個比較火的網(wǎng)站(https://fpga.guide/)現(xiàn)在也封掉了,F(xiàn)PGA挖礦基本也處于淘汰的狀態(tài)了,所以我們再回頭看看為什么FPGA被淘汰了?
通過以上的項目在Vivado中在XC7A200T上的算力及功耗如下:
功耗約為0.5W,算力功耗比約為200MHash/sW。
而GPU呢?
在https://technical.city/en/video/bitcoin-rating 算力榜很容易得到數(shù)據(jù):
(較老的數(shù)據(jù))算力功耗比最高不會超過6MHash/sW。
最后就是ASIC,以螞蟻區(qū)塊鏈運算機DR5 35T版本為例,其算力為35THash/s,功耗為1610W,算力功耗比約為21739MHash/sW。
經(jīng)過以上對比,高下立判,不解釋。
PS:GPU挖礦是最簡單易行的,插上顯卡,下載個軟件就可以了。
總結(jié)一下:雖然ASIC已經(jīng)淘汰了FPGA,但是FPGA真的一無是處嗎?
通過對比我們發(fā)現(xiàn)FPGA其實在某些方面還是優(yōu)于GPU的,但是為什么現(xiàn)在鮮有用FPGA WK呢?其實這是一個誤區(qū),一些好的幣種肯定被ASIC取代了(第一個用FPGA挖礦的礦機是中國人制造的,創(chuàng)造者是中國人南瓜張(張楠賡,嘉楠耘智創(chuàng)始人))。在一些小眾的幣種里FPGA還是有一席之地的。
FPGA礦機的幾個特點:
1、通過上面的對比,F(xiàn)PGA的算力功耗比比GPU低很多;
2、FPGA可以通過升級讓礦機挖取不同算法的POW幣種;
3、優(yōu)化得當(dāng),算力比GPU高很多;
4、當(dāng)算法內(nèi)存需求小、并行性較高時,其優(yōu)勢較GPU更高;
5、風(fēng)險較ASIC低,每個幣種都有不同算法,ASIC更新周期較慢,而且一旦“幣潮”前期的投入基本沒了,對于一個小公司可能就GG了。
(上面的對比反正就是拿我的優(yōu)勢對比你的劣勢,XX對比法則!@)
最后點綴一下主題:“FPGA WK”的本質(zhì)是什么?
通過上面一些Bitcoin的WK算法,我們能看出WK的本質(zhì)其實就是并行實現(xiàn)挖取不同幣種所需要的算法,比如SHA256或者Scrypt等。不能說在WK領(lǐng)域FPGA被淘汰了,而是在受歡迎的幣種里被淘汰了,在小幣種里還是受歡迎的,由于其“可重構(gòu)”的特點更適合在不同幣種之間進行切換,硬件成本也低,或許哪一天這個領(lǐng)域突然就火起來了。或許你也可以先制作一個可以用FPGA進行WK的幣種,讓全世界為你瘋狂~
審核編輯 :李倩
-
虛擬數(shù)字
+關(guān)注
關(guān)注
0文章
18瀏覽量
7042 -
比特幣
+關(guān)注
關(guān)注
57文章
7002瀏覽量
140364
原文標(biāo)題:從開源項目探討“FPGA挖礦”的本質(zhì)
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論