关于比特币WK与HASH

描述

挖矿(下称WK)一直是2020~2021的热点话题,一直持续到今天,今天我们想聊聊用FPGA进行WK的核心是什么,以及为什么会现在鲜有用FPGA进行挖矿的了?

WK在挖什么?

大家都在聊WK,那么这个矿是什么?这个其实很多人都了解的,就是虚拟数字“币”,最著名的就是Bitcoin。

今天我们的主题并不是Bitcoin,也不是区块链这些,而是WK(以Bitcoin为例)。

WK实际上就是通过一系列算法,计算出符合要求的哈希值(HASH),从而争取到记账权。这个过程实际上就是试错的过程,一台计算机每秒产生的随机HASH碰撞次数越多,先计算出正确HASH的概率就越大。

这就是WK的本质。

关于比特币WK与HASH

今天第一个项目是一个介绍类项目,关于比特币WK与HASH。

https://github.com/ray33ee/BitcoinHash-Verilog

项目关于HASH组成以及在WK中的应用,作者很用心的手绘了很多框图帮助我们理解,同时也有Verilog描述。

虚拟数字

关于比特币任务生成器

在使用FPGA集群进行挖矿需要使用CPU接收任务,所以需要一个任务接收的FPGA,现在一般使用ZYNQ,以前也有软核,下面这个项目就是关于比特币任务生成器。

https://github.com/Canaan-Creative/MM

Miner Manager 是一个比特币任务生成器固件,适合 FPGA 和更快的矿机,它内部有 LM32 CPU,适合 XC6SLX16 等小型 FPGA。

关于比特币矿工

https://github.com/teknohog/Xilinx-Serial-Miner

https://github.com/teknohog/Open-Source-FPGA-Bitcoin-Miner

这个是已经应用并淘汰的比特币WK程序,一个使用Xilinx FPGA实现,一个使用Altera实现的。

https://github.com/kmod/bitcoin_mining

一个简单的比特币挖掘系统,用于 Digilent Nexys 3 fpga 板上.

https://github.com/fpgaminer/fpgaminer-vanitygen

一个功能性的,实验性的项目,性能较低。

https://github.com/byingyang/mojo-miner

为 mojo fpga 开发板开发的比特币矿工

https://github.com/jackproudfoot/fpga-bitcoin-miner

ECE350 最终项目

https://github.com/dawood95/BitcoinMinerFPGA

ECE350 最终项目

https://github.com/jkiv/shapool-core

针对 Lattice iCE40 比特币矿工

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算力对比

上面介绍的项目大家不用太在意,大部分都是落后的架构和算力(不然我也不敢介绍),主要是大家可以学习比特币SHA256算法实现原理,之前有个比较火的网站(https://fpga.guide/)现在也封掉了,FPGA挖矿基本也处于淘汰的状态了,所以我们再回头看看为什么FPGA被淘汰了?

通过以上的项目在Vivado中在XC7A200T上的算力及功耗如下:

虚拟数字

功耗约为0.5W,算力功耗比约为200MHash/sW。

而GPU呢?

在https://technical.city/en/video/bitcoin-rating 算力榜很容易得到数据:

虚拟数字

(较老的数据)算力功耗比最高不会超过6MHash/sW。

最后就是ASIC,以蚂蚁区块链运算机DR5 35T版本为例,其算力为35THash/s,功耗为1610W,算力功耗比约为21739MHash/sW。

虚拟数字

经过以上对比,高下立判,不解释。

PS:GPU挖矿是最简单易行的,插上显卡,下载个软件就可以了。

总结一下:虽然ASIC已经淘汰了FPGA,但是FPGA真的一无是处吗?

通过对比我们发现FPGA其实在某些方面还是优于GPU的,但是为什么现在鲜有用FPGA WK呢?其实这是一个误区,一些好的币种肯定被ASIC取代了(第一个用FPGA挖矿的矿机是中国人制造的,创造者是中国人南瓜张(张楠赓,嘉楠耘智创始人))。在一些小众的币种里FPGA还是有一席之地的。

虚拟数字

FPGA矿机的几个特点:

1、通过上面的对比,FPGA的算力功耗比比GPU低很多;

2、FPGA可以通过升级让矿机挖取不同算法的POW币种;

3、优化得当,算力比GPU高很多;

4、当算法内存需求小、并行性较高时,其优势较GPU更高;

5、风险较ASIC低,每个币种都有不同算法,ASIC更新周期较慢,而且一旦“币潮”前期的投入基本没了,对于一个小公司可能就GG了。

(上面的对比反正就是拿我的优势对比你的劣势,XX对比法则!@)

最后点缀一下主题:“FPGA WK”的本质是什么?

通过上面一些Bitcoin的WK算法,我们能看出WK的本质其实就是并行实现挖取不同币种所需要的算法,比如SHA256或者Scrypt等。不能说在WK领域FPGA被淘汰了,而是在受欢迎的币种里被淘汰了,在小币种里还是受欢迎的,由于其“可重构”的特点更适合在不同币种之间进行切换,硬件成本也低,或许哪一天这个领域突然就火起来了。或许你也可以先制作一个可以用FPGA进行WK的币种,让全世界为你疯狂~

审核编辑 :李倩

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分