0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于比特币WK与HASH

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2022-06-29 09:33 次阅读

挖矿(下称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描述。

f33781de-f743-11ec-ba43-dac502259ad0.png

关于比特币任务生成器

在使用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上的算力及功耗如下:

f359f08e-f743-11ec-ba43-dac502259ad0.png

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

而GPU呢?

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

f36b8cea-f743-11ec-ba43-dac502259ad0.png

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

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

f37cd0e0-f743-11ec-ba43-dac502259ad0.png

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

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

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

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

f3924cf4-f743-11ec-ba43-dac502259ad0.png

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的币种,让全世界为你疯狂~

审核编辑 :李倩

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

    关注

    0

    文章

    18

    浏览量

    7028
  • 比特币
    +关注

    关注

    57

    文章

    7000

    浏览量

    139334

原文标题:从开源项目探讨“FPGA挖矿”的本质

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32F439的HASH模块DMA传输计算问题求解

    项目中需要使用439的的HASH模块计算文件的MD5值,使用的DMA方式,为了提高CPU效率,让其他任务在DMA传输数据、硬件计算MD5期间可以得到运行,DMA的数据来自FMC外扩的SDRAM
    发表于 04-19 06:42

    WK-91S5防孤岛保护装置说明书

    WK-91S5防孤岛保护装置说明书
    发表于 03-22 09:56 0次下载

    杭州稳控电力WK-9715新能源智能箱变测控装置

    杭州稳控电力WK-9715新能源智能箱变测控装置
    发表于 03-04 15:05 0次下载

    WK-91S5防孤岛保护装置的作用及功能

    防孤岛保护装置主要应用于光伏发电项目中,作为光伏项目不可或缺的一环,防孤岛保护装置在并网处发挥着重要作用。防孤岛保护装置WK-91S5主要用于低压光伏项目,由于自身的装置特点,目前WK-91S5型低压防孤岛保护已遍布全国23个省份和4个直辖市。
    的头像 发表于 02-27 10:48 225次阅读
    <b class='flag-5'>WK</b>-91S5防孤岛保护装置的作用及功能

    接口电路DC-DC WK31****S-2G系列产品概述

    WK310505S-2G/WK311212S-2G/WK311515S-2G型DC-DC电源模块,内部采用高密度组装工艺方法并配合使用具有优异性能的导热胶灌封而成,是航空、航天等高可靠应用领域的理想选择。
    的头像 发表于 10-20 11:31 411次阅读
    接口电路DC-DC <b class='flag-5'>WK</b>31****S-2G系列产品概述

    基于Rust语言Hash特征的基础用法和进阶用法

    Rust语言是一种系统级编程语言,具有高性能、安全、并发等特点,是近年来备受关注的新兴编程语言。在Rust语言中,Hash是一种常用的数据结构,用于存储键值对。Rust语言提供了一系列的Hash特征
    的头像 发表于 09-19 16:02 740次阅读

    hash算法在FPGA中的实现(4)

    在前面的文章中主要介绍了hash表及其链表的结构,以及key值的插入方法,既然有key值的插入,那就有key值的删除,一种删除是CPU通过重新刷新链表来删除,另外一种就是FPGA删除了,这里主要讨论FPGA如何删除链表。
    的头像 发表于 09-07 17:03 400次阅读
    <b class='flag-5'>hash</b>算法在FPGA中的实现(4)

    hash算法在FPGA中的实现(3)

    在前面的文章中主要介绍了hash表及其链表的结构,同时说明了如何读取表项。那表项是如何写入的了?前期的文章中有少量的提及,这里单独写一篇,介绍两种常见的方案。
    的头像 发表于 09-07 17:02 398次阅读
    <b class='flag-5'>hash</b>算法在FPGA中的实现(3)

    hash算法在FPGA中的实现(2)

    在前面的文章中:hash算法在FPGA中的实现(一)——hash表的组建,记录了关于hash表的构建,这里记录另外一个话题,就是hash链表
    的头像 发表于 09-07 17:02 410次阅读
    <b class='flag-5'>hash</b>算法在FPGA中的实现(2)

    hash算法在FPGA中的实现(1)

    在FPGA的设计中,尤其是在通信领域,经常会遇到hash算法的实现。hash算法在FPGA的设计中,它主要包括2个部分,第一个就是如何选择一个好的hash函数,减少碰撞;第二个就是如何管理ha
    的头像 发表于 09-07 17:01 603次阅读
    <b class='flag-5'>hash</b>算法在FPGA中的实现(1)

    伟京电子WK4028***-15G系列DC-DC电源模块产品概述

    WK4028***-15G系列DC-DC电源模块采用混合集成工艺、浅腔式双列直插式金属全密封结构,是航空、航天等高可靠应用领域的理想选择。本系列包含单路输出 5V、12V、15V;双路输出 ±5V
    发表于 07-26 15:07 234次阅读
    伟京电子<b class='flag-5'>WK</b>4028***-15G系列DC-DC电源模块产品概述

    HSN278WK 数据表

    HSN278WK 数据表
    发表于 06-28 19:25 0次下载
    HSN278<b class='flag-5'>WK</b> 数据表

    HSB226WK 数据表

    HSB226WK 数据表
    发表于 06-26 19:23 0次下载
    HSB226<b class='flag-5'>WK</b> 数据表

    HSN278WK 数据表

    HSN278WK 数据表
    发表于 05-11 19:02 0次下载
    HSN278<b class='flag-5'>WK</b> 数据表

    HSB226WK 数据表

    HSB226WK 数据表
    发表于 05-05 19:31 0次下载
    HSB226<b class='flag-5'>WK</b> 数据表