一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种Equihash算法的数据处理方法及装置与流程

2021-12-01 01:02:00 来源:中国专利 TAG:

技术特征:
1.一种equihash算法的数据处理装置,包括:预处理模块、blake计算模块、碰撞处理模块、存储处理模块;其中,预处理模块,用于根据equihash算法的计算轮数从存储器中读出待处理数据,其中,待处理数据为对应equihash算法的计算轮数中的指定计算轮数的数据序号或对应equihash算法的计算轮数中的剩余计算轮数的中间数据;多个blake计算模块,用于对预先确定的区块链交易数据、随机数nonce以及预处理模块输出的数据序号进行blake计算得到计算结果;多个碰撞处理模块,用于对来自blake计算模块的计算结果进行碰撞计算,或者对来自预处理模块的中间数据进行碰撞计算,或者对来自上一级碰撞处理后的结果进行碰撞计算;存储处理模块,用于根据equihash算法的计算轮数分别计算存储地址,按照存储地址,对应equihash算法的计算轮数中的指定计算轮数存储参与blake计算的数据序号、或对应equihash算法的计算轮数中的剩余计算轮数存储碰撞计算得到的中间数据。2.根据权利要求1所述的数据处理装置,其中,所述预处理模块用于:根据所述equihash算法的计算轮数,当计算轮数为所述对应equihash算法的计算轮数中的指定计算轮数时,将读取的数据序号输出给所述blake计算模块实时对数据序号进行计算以将数据序号还原为对应的中间数据;当计算轮数为所述对应equihash算法的计算轮数中的除指定计算轮数之外的剩余计算轮数时,将读取的中间数据输出给所述碰撞处理模块。3.根据权利要求1或2所述的数据处理装置,其中,对于equihash(n,k)算法,所述数据序号为初始化生成数据时,根据0~)的序号逐步增1由blake 计算生成的对应200bit数据的序号;所述数据序号包括:单个数据序号、和/或由多个数据序号组成的数据序号组合。4.根据权利要求1所述的数据处理装置,其中,所述equihash算法为equihash(200,9)算法;所述指定计算轮数包括:初始轮数、第一计算轮数、第二计算轮数、第三计算轮数;所述equihash算法为equihash(144,5)算法;所述指定计算轮数包括:初始轮数、第一计算轮数、第二计算轮数。5.根据权利要求4所述的数据处理装置,其中,所述预处理模块中的读出待处理数据包括:所述equihash算法的计算轮数为第一轮数,从所述存储器中读取1个21bit数据序号,输出给一个所述blake计算模块以进行数据计算;所述equihash算法的计算轮数为第二轮数,从所述存储器中读取2个21bit数据序号,分别输出给两个所述blake计算模块以进行数据计算;所述equihash算法的计算轮数为第三轮数,从所述存储器中读取4个21bit数据序号,分别输出给四个blake计算模块以进行数据计算;所述equihash算法的计算轮数为第四轮数至第八轮数,从所述存储器中读取中间数据,并将读取的中间数据输出给所述碰撞处理模块。
6.根据权利要求4所述的数据处理装置,其中,所述blake计算模块为blake 2b数据生成器;所述blake计算模块用于:对来自所述预处理模块输出的21bit位宽的所述数据序号中的高20bit数据、所述区块链交易数据和所述随机数nonce进行blake算法计算,得到400bit计算结果;根据所述预处理模块输出的数据序号的最低位对得到400bit计算结果进行选择,当该位为0时,选择400bit计算结果的低200bit结果作为所述blake计算模块的200bit计算结果输出,当该位为1时,选择400bit计算结果的高200bit结果作为所述blake计算模块的200bit计算结果输出。7.根据权利要求4所述的数据处理装置,其中,所述存储处理模块用于:初始化数据存储,根据所述blake计算模块计算得到200bit计算结果的0~19bit计算存储地址,将其对应的21bit数据序号写入所述存储器;所述equihash算法的计算轮数为第一轮数,根据所述blake计算模块计算得到的200bit计算结果进行碰撞计算的结果的20~39bit计算存储地址,将参与碰撞计算对应的两个21bit数据序号写入存储器;所述equihash算法的计算轮数为第二轮数,根据所述blake计算模块计算得到的200bit计算结果进行碰撞计算的结果的40~59bit计算存储地址,将参与碰撞计算对应的四个21bit数据序号写入所述存储器;所述equihash算法的计算轮数为第三轮数,根据所述blake计算模块计算得到的200bit计算结果进行碰撞计算的结果的60~79bit计算存储地址,将碰撞计算的结果的80~199bit中间数据写入所述存储器;所述equihash算法的计算轮数为第四轮数至第八轮数,针对每一轮,根据上一轮存入的中间数据进行碰撞计算,并根据碰撞计算结果的后续20bit计算存储地址,将本轮碰撞计算结果中后续20bit之后的中间数据写入所述存储器。8.根据权利要求1所述的数据处理装置,其中,所述blake计算模块为blake 2b数据生成器;所述碰撞处理模块为位异或计算器。9.一种equihash算法的数据处理方法,包括:根据equihash算法的计算轮数从存储器中读出待处理数据,其中,待处理数据为对应所述equihash算法的计算轮数中的指定计算轮数的数据序号或对于equihash算法的计算轮数中的剩余计算轮数的中间数据;对预先确定的区块链交易数据、随机数nonce数据以及读出的数据序号进行blake计算得到计算结果;对得到的计算结果进行碰撞计算或对中间数据进行碰撞计算;根据equihash算法的计算轮数分别计算存储地址,对应equihash算法的计算轮数中的指定计算轮数存储参与blake计算的数据序号、或对应equihash算法的计算轮数中的剩余计算轮数存储碰撞计算得到的中间数据。10.根据权利要求9所述的数据处理方法,其中,所述equihash算法为equihash(200,9)算法;所述指定计算轮数包括:初始轮数、第一计算轮数、第二计算轮数、第三计算轮数;所述数据序号包括:对应所述equihash算法的计算轮数为第一轮数的1个21bit数据序
号;对应所述equihash算法的计算轮数为第二轮数的2个21bit数据序号;对应所述equihash算法的计算轮数为第三轮数的4个21bit数据序号。

技术总结
本申请公开了一种Equihash算法的数据处理方法及装置,包括:预处理模块,根据Equihash算法的计算轮数从存储器中读出包括对应Equihash算法的计算轮数中的指定计算轮数的数据序号的待处理数据;多个Blake计算模块,至少对预处理模块输出的数据序号进行Blake计算得到计算结果;多个用于进行碰撞计算的碰撞处理模块;以及存储处理模块,对应Equihash算法的计算轮数中的指定计算轮数存储参与Blake计算的数据序号、或对应剩余计算轮数存储碰撞计算得到的中间数据。本申请通过将部分待处理数据转化为其对应的数据序号进行存储,有效降低了芯片存储容量和通信数据量,进而提高了芯片的计算效率。的计算效率。的计算效率。


技术研发人员:刘明 汪福全
受保护的技术使用者:中科声龙科技发展(北京)有限公司
技术研发日:2021.11.01
技术公布日:2021/11/30
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献