【技术实现步骤摘要】
执行哈希算法的电路、计算芯片、加密货币矿机和方法
[0001]本公开总体而言涉及用于执行哈希算法的电路、计算芯片、加密货币矿机和相关方法。
技术介绍
[0002]比特币是一种P2P(Peer
‑
to
‑
Peer)形式的虚拟加密数字货币,其概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。比特币的独特之处在于,它不依靠特定货币机构发行,而是依据特定算法通过大量运算来产生。比特币交易使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学设计来确保安全性。从密码学的角度而言,比特币是基于SHA
‑
256哈希算法的工作量证明POW(proof of work),其交易完整性取决于SHA
‑
256的碰撞性和前映像阻力。哈希算法是一种将可变长度的数据作为输入并产生固定长度的哈希值作为输出的算法,其本质是对信息的提炼。自1993年以来,美国标准与技术研究所先后设计并发布了多个版本的安全哈希算法SHA(Secure Hash Algorithm),SHA
‑
256正是其中一种哈希长度为256位的安全哈希算法。
[0003]使用矿机来进行比特币挖矿的核心是根据矿机计算SHA
‑
256的运算能力来获得奖励。对于矿机而言,芯片尺寸、芯片运行速度和芯片功耗是决定矿机性能的至关重要的三个因素,其中,芯片尺寸决定芯片成本,芯片运行的速度决定矿机运行速度,即算力,芯片功耗决定 ...
【技术保护点】
【技术特征摘要】
1.一种用于执行哈希算法的电路,包括:输入模块,被配置为接收数据;以及运算模块,被配置为基于接收到的数据计算哈希值,所述运算模块包括:以流水线结构布置的多个运算级,所述多个运算级中的每个运算级包括第0扩展寄存器至第15扩展寄存器,每个扩展寄存器被配置为存储当前运算级的扩展数据;以及多个扩展数据运算逻辑模块,每个扩展数据运算逻辑模块设置在所述多个运算级中的相应的相邻两个运算级之间,所述相邻两个运算级包括第一运算级和在所述第一运算级之后的第二运算级,每个扩展数据运算逻辑模块包括:第一子模块,被配置为基于所述第一运算级的第1扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第0扩展寄存器中的扩展数据;以及第二子模块,被配置为基于所述第一运算级的第0扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据,其中,用于存储到所述第二运算级的第(i
‑
1)扩展寄存器中的扩展数据是所述第一运算级的第i扩展寄存器中存储的扩展数据,其中2≤i≤15且i为整数。2.根据权利要求1所述的电路,其中,所述第二运算级的后一运算级的第15扩展寄存器中存储的扩展数据是基于所述第一运算级的第1扩展寄存器、第2扩展寄存器、第10扩展寄存器、第15扩展寄存器中存储的扩展数据确定的。3.根据权利要求1所述的电路,其中,所述第一子模块被配置为基于所述第一运算级的第2扩展寄存器、第10扩展寄存器、第15扩展寄存器中的一者或两者中存储的扩展数据以及所述第一运算级的第1扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第0扩展寄存器中的扩展数据。4.根据权利要求1所述的电路,其中,所述第二子模块被配置为基于所述第一运算级的第1扩展寄存器、第9扩展寄存器、第14扩展寄存器中的一者或两者中存储的扩展数据以及所述第一运算级的第0扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据。5.根据权利要求1
‑
4中任一项所述的电路,其中,所述第一子模块被配置为基于所述第一运算级的第1扩展寄存器和第2扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第0扩展寄存器中的扩展数据;以及所述第二子模块被配置为基于所述第一运算级的第0扩展寄存器、第9扩展寄存器和第14扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据。6.根据权利要求1
‑
4中任一项所述的电路,其中,所述第一子模块被配置为基于所述第一运算级的第1扩展寄存器和第10扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第0扩展寄存器中的扩展数据;以及所述第二子模块被配置为基于所述第一运算级的第0扩展寄存器、第1扩展寄存器和第14扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据。7.根据权利要求1
‑
4中任一项所述的电路,其中,所述第一子模块被配置为基于所述第一运算级的第1扩展寄存器、第2扩展寄存器和第
10扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第0扩展寄存器中的扩展数据;以及所述第二子模块被配置为基于所述第一运算级的第0扩展寄存器和第14扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据。8.根据权利要求1
‑
4中任一项所述的电路,其中,所述第一子模块被配置为基于所述第一运算级的第1扩展寄存器和第15扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第0扩展寄存器中的扩展数据;以及所述第二子模块被配置为基于所述第一运算级的第0扩展寄存器、第1扩展寄存器和第9扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据。9.根据权利要求1
‑
4中任一项所述的电路,其中,所述第一子模块被配置为基于所述第一运算级的第1扩展寄存器、第2扩展寄存器和第15扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第0扩展寄存器中的扩展数据;以及所述第二子模块被配置为基于所述第一运算级的第0扩展寄存器和第9扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据。10.根据权利要求1
‑
4中任一项所述的电路,其中,所述第一子模块被配置为基于所述第一运算级的第1扩展寄存器、第10扩展寄存器和第15扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第0扩展寄存器中的扩展数据;以及所述第二子模块被配置为基于所述第一运算级的第0扩展寄存器和第1扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据。11.一种用于执行哈希算法的电路,包括:输入模块,被配置为接收数据;以及运算模块,被配置为基于接收到的数据计算哈希值,所述运算模块包括:以流水线结构布置的多个运算级,所述多个运算级中的每个运算级包括第0扩展寄存器至第15扩展寄存器以及附加寄存器,每个扩展寄存器被配置为存储当前运算级的扩展数据,所述附加寄存器被配置为存储用于计算扩展数据的中间数据;以及多个扩展数据运算逻辑模块,每个扩展数据运算逻辑模块设置在所述多个运算级中的相应的相邻两个运算级之间,所述相邻两个运算级包括第一运算级和在所述第一运算级之后的第二运算级,每个扩展数据运算逻辑模块包括:第一子模块,被配置为基于所述第一运算级的扩展寄存器中存储的扩展数据计算用于存储到所述第二运算级的附加寄存器中的中间数据;以及第二子模块,被配置为基于所述第一运算级的附加寄存器中存储的中间数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据,其中,用于存储到所述第二运算级的第(i
‑
1)扩展寄存器中的扩展数据是所述第一运算级的第i扩展寄存器中存储的扩展数据,其中1≤i≤15且i为整数。12.根据权利要求11所述的电路,其中,所述第二运算级的后一运算级的第15扩展寄存器中存储的扩展数据是基于所述第一运算级的第1扩展寄存器、第2扩展寄存器、第10扩展
寄存器、第15扩展寄存器中存储的扩展数据确定的。13.根据权利要求11所述的电路,其中,所述第一子模块被配置为基于所述第一运算级的第1扩展寄存器、第2扩展寄存器、第10扩展寄存器、第15扩展寄存器中的两者或三者中存储的扩展数据计算用于存储到所述第二运算级的附加寄存器中的中间数据。14.根据权利要求11所述的电路,其中,所述第二子模块被配置为基于所述第一运算级的第0扩展寄存器、第1扩展寄存器、第9扩展寄存器、第14扩展寄存器中的一者或两者中存储的扩展数据以及所述第一运算级的附加寄存器中存储的中间数据计算用于存储到所述第二运算级的第15扩展寄存器中的扩展数据。15.根据权利要求11
‑
14中任一项所述的电路,其中,所述第一子模块被配置为基于所述第一运算级的第1扩展寄存器和第2扩展寄存器中存储的扩展数据计算用于存储...
【专利技术属性】
技术研发人员:范志军,薛可,许超,杨作兴,
申请(专利权)人:深圳比特微电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。