比特大陆蚂蚁矿机S7

HashFast 开源比特币ASIC矿机的接口协议

He1l_Q 发布在 比特币,矿业动态 1 12130

今天HashFast宣布了他们开源用于控制他们的ASIC矿机的接口协议。这一设计的开源,使得人们可以让人们深入探究他们的比特币矿机是如何运作的,并为驱动开发者们提供了一个平台。更多的用户一起合作开发驱动应当会提供更多样化的选择,以及更好的HashFast的用户体验。

hashfast_GN-assembly-620x300

在7月份的时候,HashFast就宣布了和Uniquify一起设计400GH/s的“Golden Nonce”ASIC芯片的合作伙伴关系,并在9月5号他们宣布他们的芯片通过台湾半导体厂商tapeout了。为他们的ASIC在11月中的抵达准备驱动开发者,HashFast放出了一份84页的文档,解释了他们的ASIC是如何使用的,以及关于他们的接口协议设计的细节。Avalon曾在4月份的时候也放出过一份类似的描述他们的芯片通讯特性的开源文档,这曾带出一大批不同的合作项目。

HashFast的批量销售

HashFast在9月份的时候完成了第一批ASIC的预定,以300万美元的总价卖出了大概225TH/s的算力(563台以400GH/s速度运行的Baby Jet,每台5600美元)。HashFast可能是第二家出货28nm制程ASIC矿机的厂商,第一家是本月早些时候出货的KNC。尽管有一些KNC矿机的电容爆炸和矿机没有达到他们允诺的速度的报道,但似乎KNC第一批的大部分客户都已经收到了他们的东西。

HashFast在他们的网站上公开发布了他们的第一批销售的预定链(Order Chain)。从那里我们可以看到,总共有563台Baby Jet矿机被售出,总计157个独立的订单,大部分订单都只买了一台矿机。这样的高的零售占比孕育了大一批渴望协助和HashFast矿机相关的软件硬件的开发的能人。HashFast的第二批和第三批的销售明显要比第一批的量要大得多,并计划于12月份出货。第二批的订购与最近截止,并期望在第一批发货之后几周开始出货。

HashFast开源了他们的协议,一个社区的高级驱动设计者可能会在第一批开始出货的几周之内开始开发。John Skrodenis是HashFast的市场与销售部门副总,他说“1、2、3批算在一起,用户基数超过了350人,”所以很明显,有大一批用户需要强健的软件。

ASIC挖矿

ASIC,也就是application specific integrated circuit专用集成电路,是为某单一目的而特别定制的芯片。在比特币挖矿这件事上,它被用来进行双SHA256哈希运算,以求发现新的比特币块。每块HashFast的ASIC芯片都包括了4片die,每片die包含96个核心,所以每片芯片都包含了384个核心。设计一个强健的接口协议的复杂度,围绕着确保每个核心拥有工作序列去进行运算,并在一个可以被接受的值被找到时高效的上报。

为了挖到一个块,比特币用户使用块的头部哈希值来确定是否找到一个块。比特币使用这样的SHA256函数( SHA256( Block_Header ) ),这个函数返回一个256位的哈希值,比如说:

’00000000000000001e8d6829a8a21adc5d38d0a473b144b6765798e61f98bd1d’.

用于哈希的块头部信息

难度是通过要求不同数量的前导0来调整的,要求更多的0意味着发现一个可以被接受的哈希值的难度上升。为了在保留块的头部的同时持续尝试得到新的哈希值,一个“随机数”的字段(这一字段可以递增)就派上用场了。哈希同一个头部同时逐渐递增随机数,使得新的哈希值可以产生的同时而不需要改变重要的头部信息。当一个可以被接受的哈希值被找到是,它和相关的交易一起被公布在块的头部。

哈希运算

HashFast开源他们的协议使得我们可以深入探究驱动他们的ASIC矿机如何进行哈希运算。核心被发送自主机CPU的指令控制。HashFast通过一条操作总线(数据链路)给每个核心提供信息,操作总线提供给核心提供比如像配置时钟速度(the OP_PLL_CONFIG operation)、重启核心(OP_RESET)、以及提供哈希的工作信息(OP_HASH)这样的指令。

来自接口协议指导书的第14页

哈希指令是芯片设计中最重要的方面之一。在HashFast的设计中,如果一个OP_HASH的指令被接收,但核心当时正在进行哈希运算的话,那么指令就会被存储在一个输入序列里面。这使得核心课程在发现一个可以被接受的哈希值之后继续工作。每个OP_HASH操作同时包含着一个用于稍后取回关于这次哈希的相关信息独特的序列编号。

当一个符合难度要求(有OP_HASH指令提供)的哈希值被找到时,这个核心就返回当时使用的那个随机数,以及OP_HASH的序列编号。主机可以接着查找序列编号以找到块的头部信息而不需要老是来来回回的进行传输。

USB协议

在实践中,所有的这些运算都是通过HashFast的开源USB通讯协议所控制的。在他们的USB协议里有一个更高级的协议,叫做全局工作序列(GWQ)。GWQ使得开发者可以在一个更抽象的级别控制ASIC核心的运算,使得上面描述的低级工作可以在内部被处理。对CPU的要求不高,并且这使得一般的CPU也可以控制大规模的系统。

CGMiner是一个开源的曾为大量GPU、FPGA和ASIC矿机开发的比特币挖矿驱动。Adrian Port是HashFast的牵头工程师之一,他曾经和CGMiner的团队合作过以实现HashFast的协议。在开发GWQ接口的时候,他们一直都在用CGMinerr的驱动。

除了他们这次放出的文档, HastFast还将放出他们曾用过的头文件。他们期望在几天之内公布他们开发的CGMiner驱动到github上去,作为未来开发者的一个模板。Adrian说,“我们期望在可以预见的未来的几代ASIC矿机使用这个协议。如果需要进行补充,这个协议是非常具有可扩展性的。”因此,任何在HashFast协议上的设计工作都应当可以在几代产品上被使用。

 

原文 http://thegenesisblock.com/hashfash-announces-open-sourcing-bitcoin-mining-asic-interface-protocol/

作者 Phillip Archer

翻译 He1l_Q

本文如有帮助,请考虑捐助:15X9AMhccjqqPRkhpgraoj7fgdqymW3iSC

欢迎转载,转载时请注明作者翻译者和出处,谢谢支持!

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:1

您需要登录后才可以回复 登录|注册
    Author Image
    changjia 1135 天前

    资助 0.1BTC
    交易ID 0bbc84d410995d0782eba8ec4f3fbfbe2119c76b9602e2b8a6a94fc063b5eac9

    +1
    +1
    我要点评