CN106407008B - 挖矿业务处理方法、装置和系统 - Google Patents

挖矿业务处理方法、装置和系统 Download PDF

Info

Publication number
CN106407008B
CN106407008B CN201610800168.XA CN201610800168A CN106407008B CN 106407008 B CN106407008 B CN 106407008B CN 201610800168 A CN201610800168 A CN 201610800168A CN 106407008 B CN106407008 B CN 106407008B
Authority
CN
China
Prior art keywords
data
result data
output result
hash
hash operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610800168.XA
Other languages
English (en)
Other versions
CN106407008A (zh
Inventor
杨存永
刘伶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bitmain Technology Co Ltd
Original Assignee
Beijing Bitmain Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Bitmain Technology Co Ltd filed Critical Beijing Bitmain Technology Co Ltd
Priority to CN201610800168.XA priority Critical patent/CN106407008B/zh
Publication of CN106407008A publication Critical patent/CN106407008A/zh
Application granted granted Critical
Publication of CN106407008B publication Critical patent/CN106407008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种挖矿业务处理方法、装置和系统。其中,方法包括:控制单元将矿池下发的工作任务中的数据发送给运算单元;运算单元根据工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送所述工作数据;其中,运算单元在根据工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对中间结果数据进行存储,工作数据包括中间结果数据;运算单元接收算力板对工作数据进行运算产生的输出结果数据,对输出结果数据进行存储;控制单元每获取一个中间结果数据,保持中间结果数据不变,获取输出结果数据,对输出结果数据进行校验,直至获得符合预设条件的输出结果数据。本发明实施例可以提升矿机的算力。

Description

挖矿业务处理方法、装置和系统
技术领域
本发明属于数据处理领域,特别是涉及一种挖矿业务处理方法、装置和系统。
背景技术
比特币(Bit Coin)是一种分布式的虚拟货币,它可以通过“挖矿”来生成新的比特币。所谓“挖矿”实质上就是利用计算机解决一项复杂的数学问题,来保证比特币分布式记账系统的一致性。网络会自动调整数学问题的难度,让整个网络约每10分钟得到一个合格的答案。随后会新生成一定量的比特币作为赏金,奖励获得答案的人。
云计算(Cloud Computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算是通过网络提供可伸缩的廉价的分布式计算能力。将云计算技术与比特币结合就产生了云计算矿池,也称为云矿池。
云矿池通过向矿机下发工作任务(job)通知矿机进行“挖矿”,随着越来越多矿工的加入,挖矿业务的竞争日益激烈,对矿机运算能力(也称为算力)的需求也不断提升。
目前,在云矿池向矿机下发工作任务后,矿机通过中央控制单元(CPU)进行运算产生工作数据(work),发送给算力板,同时CPU接收算力板返回的输出结果数据(gd nonce),对输出结果数据进行校验,将符合预设难度值的输出结果数据返回云矿池,完成“挖矿”。其中,工作数据的产生与输出结果数据的校验均由于矿机的控制单元进行,使矿机的算力受到了一定程度的制约。
发明内容
本发明实施例要解决的一个技术问题是:提供一种挖矿业务处理方法、装置和系统,以提升矿机的算力。
根据本发明实施例的一个方面,提供一种挖矿业务处理方法,包括:
控制单元将矿池下发的工作任务中的数据发送给运算单元;
所述运算单元根据所述工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送所述工作数据;其中,所述运算单元在根据所述工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对所述中间结果数据进行存储,所述工作数据包括所述中间结果数据;
所述运算单元接收算力板对所述工作数据进行运算产生的输出结果数据,对所述输出结果数据进行存储;
所述控制单元每获取一个所述中间结果数据,保持所述中间结果数据不变,获取所述输出结果数据,对所述输出结果数据进行校验,直至获得符合预设条件的所述输出结果数据。
在基于本发明上述方法的另一个实施例中,所述哈希运算采用Sha256算法。
在基于本发明上述方法的另一个实施例中,所述工作任务中的数据包括:奖励数据和交易数据。
在基于本发明上述方法的另一个实施例中,所述运算单元根据所述工作任务中的数据进行哈希运算,生成工作数据包括:
根据奖励数据进行哈希运算,获得第一哈希值;
根据所述第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值;
判断当前的交易数据是否为最后一个交易数据;
若当前的交易数据为最后一个交易数据,以所述第二哈希值作为交易根,根据所述交易根进行哈希运算,获得一个中间结果数据;
根据所述中间结果数据,生成工作数据,以向算力板发送所述工作数据;
若当前的交易数据不为最后一个交易数据,以下一个交易数据作为当前的交易数据,执行所述根据所述第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值的操作。
在基于本发明上述方法的另一个实施例中,所述获得第一哈希值包括:
根据所述奖励数据进行第一次哈希运算,获得第三哈希值;
根据所述第三哈希值与预设的第一数据进行第二次哈希运算,获得所述第一哈希值。
在基于本发明上述方法的另一个实施例中,所述获得第二哈希值包括:
根据所述第一哈希值与当前的交易数据进行第一次哈希运算,获得第四哈希值;
根据所述第四哈希值与预设的第二数据进行第二次哈希运算,获得所述第二哈希值。
在基于本发明上述方法的另一个实施例中,所述根据奖励数据进行哈希运算之前还包括:
将所述奖励数据扩展为满足Sha256算法要求的数据。
在基于本发明上述方法的另一个实施例中,所述运算单元向算力板发送工作数据包括:
所述运算单元向算力板每发送一个工作数据,生成一个表示所述工作数据次序的工作ID;
对所述工作ID进行存储,并根据所述工作ID按照预设的算法计算一个存储地址;
将所述工作数据对应的中间结果数据存储于所述存储地址。
在基于本发明上述方法的另一个实施例中,所述控制单元获取一个所述中间结果数据包括:所述运算单元接收算力板返回的初始输出结果数据,对所述初始输出结果数据进行存储,并向所述控制单元返回一个工作ID;
所述控制单元根据所述工作ID按照预设的算法计算一个存储地址,从所述存储地址中获取一个所述中间结果数据。
在基于本发明上述方法的另一个实施例中,所述控制单元对所述输出结果数据进行校验包括:
所述控制单元检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值;
若当前的输出结果数据进行哈希运算的结果大于或等于预设的难度值,将所述当前的输出结果数据返回所述矿池;
若当前的输出结果数据进行哈希运算的结果小于预设的难度值,获取下一个输出结果数据作为当前的输出结果数据,执行所述检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值的操作。
根据本发明实施例的另一个方面,提供一种挖矿业务处理装置,包括:
控制单元,用于将矿池下发的工作任务中的数据发送给运算单元;以及每获取一个中间结果数据,保持所述中间结果数据不变,获取输出结果数据,对所述输出结果数据进行校验,直至获得符合预设条件的所述输出结果数据;
运算单元,用于根据所述工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送所述工作数据;其中,所述运算单元在根据所述工作任务中的数据进行哈希运算的过程中,获得一个所述中间结果数据,并对所述中间结果数据进行存储,所述工作数据包括所述中间结果数据;以及接收算力板对所述工作数据进行运算产生的所述输出结果数据,对所述输出结果数据进行存储。
在基于本发明上述装置的另一个实施例中,所述哈希运算采用Sha256算法。
在基于本发明上述装置的另一个实施例中,所述工作任务中的数据包括:奖励数据和交易数据。
在基于本发明上述装置的另一个实施例中,所述运算单元,具体用于:
根据奖励数据进行哈希运算,获得第一哈希值;
根据所述第一哈希值与当前交易数据进行哈希运算,获得第二哈希值;
判断当前交易数据是否为最后一个交易数据;
若当前的交易数据为最后一个交易数据,以所述第二哈希值作为交易根,根据所述交易根进行哈希运算,获得一个中间结果数据;
根据所述中间结果数据,生成工作数据,以向算力板发送所述工作数据;
若当前的交易数据不为最后一个交易数据,以下一个交易数据作为当前的交易数据,执行所述根据所述第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值的操作。
在基于本发明上述装置的另一个实施例中,所述运算单元,具体用于:
根据所述奖励数据进行第一次哈希运算,获得第三哈希值;
根据所述第三哈希值与预设的第一数据进行第二次哈希运算,获得所述第一哈希值。
在基于本发明上述装置的另一个实施例中,所述运算单元,具体用于:
根据所述第一哈希值与当前的交易数据进行第一次哈希运算,获得第四哈希值;
根据所述第四哈希值与预设的第二数据进行第二次哈希运算,获得所述第二哈希值。
在基于本发明上述装置的另一个实施例中,所述运算单元,还用于将所述奖励数据扩展为满足Sha256算法要求的数据。
在基于本发明上述装置的另一个实施例中,所述运算单元,具体用于:
向算力板每发送一个工作数据,生成一个表示所述工作数据次序的工作ID;
对所述工作ID进行存储,并根据所述工作ID按照预设的算法计算一个存储地址;
将所述工作数据对应的中间结果数据存储于所述存储地址。
在基于本发明上述装置的另一个实施例中,所述运算单元,具体用于接收算力板返回的初始输出结果数据,对所述初始输出结果数据进行存储,并向所述控制单元返回一个工作ID;
所述控制单元,具体用于根据所述工作ID按照预设的算法计算一个存储地址,从所述存储地址中获取一个所述中间结果数据。
在基于本发明上述装置的另一个实施例中,所述控制单元,具体用于:
检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值;
若当前的输出结果数据进行哈希运算的结果大于或等于预设的难度值,将所述当前的输出结果数据返回所述矿池;
若当前的输出结果数据进行哈希运算的结果小于预设的难度值,获取下一个输出结果数据作为当前的输出结果数据,执行所述检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值的操作。
在基于本发明上述装置的另一个实施例中,所述运算单元包括:现场可编程门阵列FPGA;所述控制单元包括:中央处理单元CPU。
根据本发明实施例的又一个方面,提供一种挖矿业务处理系统,包括:上述任意一项所述的挖矿业务处理装置。
基于本发明实施例提供的挖矿业务处理方法、装置和系统,控制单元将矿池下发的工作任务中的数据发送给运算单元;运算单元根据工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送工作数据;其中,运算单元在根据工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对中间结果数据进行存储,工作数据包括中间结果数据;运算单元接收算力板对工作数据进行运算产生的输出结果数据,对输出结果数据进行存储;控制单元每获取一个中间结果数据,保持中间结果数据不变,获取输出结果数据,对输出结果数据进行校验,直至获得符合预设条件的输出结果数据。本发明实施例通过运算单元不断地接收工作任务中的数据进行运算产生工作数据,向算力板发送工作数据,同时,通过控制单元在每一个中间结果数据保持不变时,不断地对算力板返回的输出结果数据进行校验,分工协作,可以提升矿机的算力,使矿机满足不断提升的算力需求,以适应挖矿业务日益激烈的竞争。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明实施例挖矿业务处理方法一个实施例的流程图。
图2为本发明实施例挖矿业务处理方法另一个实施例的流程图。
图3为本发明实施例挖矿业务处理方法又一个实施例的流程图。
图4为本发明实施例挖矿业务处理装置的一个实施例的结构图。
图5为本发明实施例挖矿业务处理系统的一个实施例的结构图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本发明实施例挖矿业务处理方法一个实施例的流程图。如图1所示,该实施例的挖矿业务处理方法包括:
102,控制单元将矿池下发的工作任务中的数据发送给运算单元。
具体实现中,哈希运算采用Sha256算法,Sha256算法的哈希值大小为256bit。Sha256算法是安全散列算法(Secure Hash Algorithm,SHA)系列算法的一种,SHA是美国国家安全局设计,美国国家标准与技术研究院发布的,主要适用于数字签名标准(DigitalSignature Standard,DSS)里面定义的数字签名算法(Digital Signature Algorithm,DSA)。
104,运算单元根据工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送工作数据;其中,运算单元在根据工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对中间结果数据进行存储,工作数据包括中间结果数据。
106,运算单元接收算力板对工作数据进行运算产生的输出结果数据,对输出结果数据进行存储。
108,控制单元每获取一个中间结果数据,保持中间结果数据不变,获取输出结果数据,对输出结果数据进行校验,直至获得符合预设条件的输出结果数据。
在实际应用中,上述操作102和108可以通过中央控制单元CPU实现,即控制单元可以采用CPU,上述操作104和106可以通过现场可编程门阵列FPGA实现,即运算单元可以采用FPGA。例如:CPU采用微处理器MPU,FPGA与MPU通过AXI接口连接,FPGA与算力板通过UART连接,其中根据需要FPGA可以与多块算力板连接。
由于FPGA以并行运算为主,因此FPGA相比于CPU可以同时处理512bit的数据,而不需要将512bit的数据分割成多个64bit的数据分别进行处理,处理速度更快,可以实现对矿机的加速。
基于本发明实施例提供的挖矿业务处理方法,控制单元将矿池下发的工作任务中的数据发送给运算单元;运算单元根据工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送工作数据;其中,运算单元在根据工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对中间结果数据进行存储,工作数据包括中间结果数据;运算单元接收算力板对工作数据进行运算产生的输出结果数据,对输出结果数据进行存储;控制单元每获取一个中间结果数据,保持中间结果数据不变,获取输出结果数据,对输出结果数据进行校验,直至获得符合预设条件的输出结果数据。本发明实施例通过运算单元不断地接收工作任务中的数据进行运算产生工作数据,向算力板发送工作数据,同时,通过控制单元在每一个中间结果数据保持不变时,不断地对算力板返回的输出结果数据进行校验,分工协作,可以提升矿机的算力,使矿机满足不断提升的算力需求,以适应挖矿业务日益激烈的竞争。
图2为本发明实施例挖矿业务处理方法另一个实施例的流程图。如图2所示,该实施例的挖矿业务处理方法包括:
202,控制单元将矿池下发的工作任务中的数据发送给运算单元;其中,工作任务中的数据包括:奖励数据coinbase和交易数据merkle bin。
204,运算单元根据奖励数据进行哈希运算,获得第一哈希值。
具体实现中,由于奖励数据通常不符合Sha256算法的要求,因此在操作204之前还可以包括:将奖励数据扩展为满足Sha256算法要求的数据的操作。
206,运算单元根据第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值。
具体实现中,对于操作204,可以根据奖励数据进行两次哈希运算,获得第一哈希值;同样地,对于操作206,可以根据第一哈希值与当前的交易数据进行两次哈希运算,获得第二哈希值。
具体地,操作204包括:根据奖励数据进行第一次哈希运算,获得第三哈希值;根据第三哈希值与预设的第一数据进行第二次哈希运算,获得第一哈希值。
具体地,操作206包括:根据第一哈希值与当前的交易数据进行第一次哈希运算,获得第四哈希值;根据第四哈希值与预设的第二数据进行第二次哈希运算,获得第二哈希值。
其中,操作204与操作206中的第一数据与第二数据不同,第一数据与第二数据至少为256bit。
208,运算单元判断当前的交易数据是否为最后一个交易数据。
若当前的交易数据为最后一个交易数据,以第二哈希值作为交易根,执行操作210;否则,若当前的交易数据不为最后一个交易数据,以下一个交易数据作为当前的交易数据,执行操作206。
210,运算单元根据交易根进行哈希运算,获得一个中间结果数据。
212,运算单元根据中间结果数据,生成工作数据,以向算力板发送工作数据。
214,运算单元接收算力板对工作数据进行运算产生的输出结果数据,对输出结果数据进行存储。
216,控制单元每获取一个中间结果数据,保持中间结果数据不变,获取输出结果数据,对输出结果数据进行校验,直至获得符合预设条件的输出结果数据。
基于本发明实施例提供的挖矿业务处理方法,通过采用两次哈希运算,可以增加工作量,增加破解的难度。
图3为本发明实施例挖矿业务处理方法又一个实施例的流程图。如图3所示,该实施例的挖矿业务处理方法包括:
302,控制单元将矿池下发的工作任务中的数据发送给运算单元;其中,工作任务中的数据包括:奖励数据coinbase和交易数据merkle bin。
304,运算单元根据奖励数据进行哈希运算,获得第一哈希值。
具体实现中,由于奖励数据通常不符合Sha256算法的要求,因此在操作204之前还可以包括:将奖励数据扩展为满足Sha256算法要求的数据的操作。
306,运算单元根据第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值。
具体实现中,对于操作304,可以根据奖励数据进行两次哈希运算,获得第一哈希值;同样地,对于操作306,可以根据第一哈希值与当前的交易数据进行两次哈希运算,获得第二哈希值。
308,运算单元判断当前的交易数据是否为最后一个交易数据。
若当前的交易数据为最后一个交易数据,以第二哈希值作为交易根,执行操作310;否则,若当前的交易数据不为最后一个交易数据,以下一个交易数据作为当前的交易数据,执行操作306。
310,运算单元根据交易根进行哈希运算,获得一个中间结果数据。
312,运算单元根据中间结果数据,生成工作数据,以向算力板发送工作数据。
314,运算单元向算力板每发送一个工作数据,生成一个表示工作数据次序的工作ID(work ID)。
具体实现中,工作ID可以由计数器生成,例如工作ID为1、2、3、4、5等。
316,运算单元对工作ID进行存储;并根据工作ID按照预设的算法计算一个存储地址。
具体实现中,工作ID存储于符合先进先出原则的存储队列中,根据工作ID计算的存储地址=起始地址+work ID*Number,其中Number表示所要存储的数据占用的内存大小。
318,运算单元将工作数据对应的中间结果数据存储于存储地址。
具体实现中,中间结果数据占用的内存大小为64byte,则根据工作ID计算的存储地址=起始地址+work ID*64byte。例如,将中间结果数据双倍速率同步动态随机存储器存储于(Double Data Rate,DDR)内。
320,运算单元接收算力板对工作数据进行运算产生的输出结果数据,对输出结果数据进行存储。
具体实现中,随机数据为一个32bit的整数。
322,控制单元每获取一个中间结果数据,保持中间结果数据不变,获取输出结果数据,对输出结果数据进行校验,直至获得符合预设条件的输出结果数据。
具体实现中,控制单元获取一个中间结果数据可以包括:运算单元接收算力板返回的初始输出结果数据,对初始输出结果数据进行存储,并向控制单元返回一个工作ID;控制单元根据工作ID按照预设的算法计算一个存储地址,从存储地址中获取一个中间结果数据。
具体实现中,控制单元对输出结果数据进行校验可以包括:控制单元检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值;若当前的输出结果数据进行哈希运算的结果大于或等于预设的难度值,将当前的输出结果数据返回矿池;若当前的输出结果数据进行哈希运算的结果小于预设的难度值,获取下一个输出结果数据作为当前的输出结果数据,执行检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值的操作。
其中,输出结果数据进行哈希运算采用Sha256算法,具体地,输出结果数据进行两次哈希运算。
基于本发明实施例提供的提升挖矿业务算力的方法,输出结果数据的校验过程采用两次哈希运算获取满足难度目标的输出结果数据,其工作量证明是无数次哈希运算穷举并比对的过程。
图4为本发明实施例挖矿业务处理装置的一个实施例的结构图。如图4所示,该实施例的挖矿业务处理装置包括:控制单元和运算单元。其中:
控制单元,用于将矿池下发的工作任务中的数据发送给运算单元;以及每获取一个中间结果数据,保持中间结果数据不变,获取输出结果数据,对输出结果数据进行校验,直至获得符合预设条件的输出结果数据。
具体实现中,哈希运算采用Sha256算法,Sha256算法的哈希值大小为256bit。Sha256算法是安全散列算法(Secure Hash Algorithm,SHA)系列算法的一种,SHA是美国国家安全局设计,美国国家标准与技术研究院发布的,主要适用于数字签名标准(DigitalSignature Standard,DSS)里面定义的数字签名算法(Digital Signature Algorithm,DSA)。
运算单元,用于根据工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送工作数据;其中,运算单元在根据工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对中间结果数据进行存储,工作数据包括中间结果数据;以及。接收算力板对工作数据进行运算产生的输出结果数据,对输出结果数据进行存储;
在实际应用中,上述控制单元可以采用CPU,上述运算单元可以采用FPGA。例如:CPU采用微处理器MPU,FPGA与MPU通过AXI接口连接,FPGA与算力板通过UART连接,其中根据需要FPGA可以与多块算力板连接。
由于FPGA以并行运算为主,因此FPGA相比于CPU可以同时处理512bit的数据,而不需要将512bit的数据分割成多个64bit的数据分别进行处理,处理速度更快,可以实现对矿机的加速。
基于本发明实施例提供的挖矿业务处理装置,控制单元将矿池下发的工作任务中的数据发送给运算单元;运算单元根据工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送工作数据;其中,运算单元在根据工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对中间结果数据进行存储,工作数据包括中间结果数据;运算单元接收算力板对工作数据进行运算产生的输出结果数据,对输出结果数据进行存储;控制单元每获取一个中间结果数据,保持中间结果数据不变,获取输出结果数据,对输出结果数据进行校验,直至获得符合预设条件的输出结果数据。本发明实施例通过运算单元不断地接收工作任务中的数据进行运算产生工作数据,向算力板发送工作数据,同时,通过控制单元在每一个中间结果数据保持不变时,不断地对算力板返回的输出结果数据进行校验,分工协作,可以提升矿机的算力,使矿机满足不断提升的算力需求,以适应挖矿业务日益激烈的竞争。
在本发明的另一个实施例中,控制单元,具体用于将矿池下发的工作任务中的数据发送给运算单元;其中,工作任务中的数据包括:奖励数据coinbase和交易数据merklebin。
运算单元,具体用于根据奖励数据进行哈希运算,获得第一哈希值;根据第一哈希值与当前交易数据进行哈希运算,获得第二哈希值;判断当前交易数据是否为最后一个交易数据;若当前的交易数据为最后一个交易数据,以第二哈希值作为交易根,根据交易根进行哈希运算,获得一个中间结果数据;根据中间结果数据,生成工作数据,以向算力板发送工作数据;若当前的交易数据不为最后一个交易数据,以下一个交易数据作为当前的交易数据,执行根据第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值的操作。
具体实现中,由于奖励数据通常不符合Sha256算法的要求,因此运算单元,还用于将奖励数据扩展为满足Sha256算法要求的数据。
具体实现中,运算单元,可以根据奖励数据进行两次哈希运算,获得第一哈希值;同样地,可以根据第一哈希值与当前的交易数据进行两次哈希运算,获得第二哈希值。
具体地,运算单元,具体用于根据奖励数据进行第一次哈希运算,获得第三哈希值;根据第三哈希值与预设的第一数据进行第二次哈希运算,获得第一哈希值;以及根据第一哈希值与当前的交易数据进行第一次哈希运算,获得第四哈希值;根据第四哈希值与预设的第二数据进行第二次哈希运算,获得第二哈希值。
其中,第一数据与第二数据不同,第一数据与第二数据至少为256bit。
基于本发明实施例提供的挖矿业务处理装置,通过采用两次哈希运算,可以增加工作量,增加破解的难度。
在本发明的又一个实施例中,运算单元,具体用于向算力板每发送一个工作数据,生成一个表示所述工作数据次序的工作ID;对工作ID进行存储,并根据工作ID按照预设的算法计算一个存储地址;将工作数据对应的中间结果数据存储于存储地址。
具体实现中,工作ID可以由计数器生成,例如工作ID为1、2、3、4、5等。
具体实现中,工作ID存储于符合先进先出原则的存储队列中,根据工作ID计算的存储地址=起始地址+work ID*Number,其中Number表示所要存储的数据占用的内存大小。
具体地,中间结果数据占用的内存大小为64byte,则根据工作ID计算的存储地址=起始地址+work ID*64byte。
运算单元,还具体用于接收算力板返回的初始输出结果数据,对初始输出结果数据进行存储,并向控制单元返回一个工作ID。例如,将中间结果数据双倍速率同步动态随机存储器存储于(Double Data Rate,DDR)内。具体实现中,随机数据为一个32bit的整数。
控制单元,具体用于根据工作ID按照预设的算法计算一个存储地址,从存储地址中获取一个中间结果数据。
控制单元,具体用于检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值;若当前的输出结果数据进行哈希运算的结果大于或等于预设的难度值,将当前的输出结果数据返回矿池;若当前的输出结果数据进行哈希运算的结果小于预设的难度值,获取下一个输出结果数据作为当前的输出结果数据,执行检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值的操作。
其中,输出结果数据进行哈希运算采用Sha256算法,具体地,输出结果数据进行两次哈希运算。
基于本发明实施例提供的提升挖矿业务算力的方法,输出结果数据的校验过程采用两次哈希运算获取满足难度目标的输出结果数据,其工作量证明是无数次哈希运算穷举并比对的过程。
本发明实施例还提供了一种挖矿业务处理系统,包括:上述任意一个实施例的挖矿业务处理装置。
具体实现中,挖矿业务处理装置集成于矿机中。
如图5所示,图5为本发明实施例挖矿业务处理系统的一个实施例的结构图。该本发明实施例挖矿业务处理系统包括:矿机和云矿池,其中,在矿机中集成有挖矿业务处理装置。
在实际应用中,挖矿业务处理装置中的控制单元可以采用CPU,挖矿业务处理装置中的运算单元可以采用FPGA。例如:CPU采用微处理器MPU,FPGA与MPU通过AXI接口连接,FPGA与算力板通过UART连接,其中根据需要FPGA可以与多块算力板连接。
由于FPGA以并行运算为主,因此FPGA相比于CPU可以同时处理512bit的数据,而不需要将512bit的数据分割成多个64bit的数据分别进行处理,处理速度更快,可以实现对矿机的加速。
基于本发明实施例提供的挖矿业务处理系统,包括:上述任意一个实施例的提供的挖矿业务处理装置,其中控制单元将矿池下发的工作任务中的数据发送给运算单元;运算单元根据工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送工作数据;其中,运算单元在根据工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对中间结果数据进行存储,工作数据包括中间结果数据;运算单元接收算力板对工作数据进行运算产生的输出结果数据,对输出结果数据进行存储;控制单元每获取一个中间结果数据,保持中间结果数据不变,获取输出结果数据,对输出结果数据进行校验,直至获得符合预设条件的输出结果数据。本发明实施例通过运算单元不断地接收工作任务中的数据进行运算产生工作数据,向算力板发送工作数据,同时,通过控制单元在每一个中间结果数据保持不变时,不断地对算力板返回的输出结果数据进行校验,分工协作,可以提升矿机的算力,使矿机满足不断提升的算力需求,以适应挖矿业务日益激烈的竞争。
本发明可以采用以下方案实现:
1、一种挖矿业务处理方法,包括:
控制单元将矿池下发的工作任务中的数据发送给运算单元;
所述运算单元根据所述工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送所述工作数据;其中,所述运算单元在根据所述工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对所述中间结果数据进行存储,所述工作数据包括所述中间结果数据;
所述运算单元接收算力板对所述工作数据进行运算产生的输出结果数据,对所述输出结果数据进行存储;
所述控制单元每获取一个所述中间结果数据,保持所述中间结果数据不变,获取所述输出结果数据,对所述输出结果数据进行校验,直至获得符合预设条件的所述输出结果数据。
2、根据1所述的方法,所述哈希运算采用Sha256算法。
3、根据2所述的方法,所述工作任务中的数据包括:奖励数据和交易数据。
4、根据3所述的方法,所述运算单元根据所述工作任务中的数据进行哈希运算,生成工作数据包括:
根据奖励数据进行哈希运算,获得第一哈希值;
根据所述第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值;
判断当前的交易数据是否为最后一个交易数据;
若当前的交易数据为最后一个交易数据,以所述第二哈希值作为交易根,根据所述交易根进行哈希运算,获得一个中间结果数据;
根据所述中间结果数据,生成工作数据,以向算力板发送所述工作数据;
若当前的交易数据不为最后一个交易数据,以下一个交易数据作为当前的交易数据,执行所述根据所述第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值的操作。
5、根据4所述的方法,所述获得第一哈希值包括:
根据所述奖励数据进行第一次哈希运算,获得第三哈希值;
根据所述第三哈希值与预设的第一数据进行第二次哈希运算,获得所述第一哈希值。
6、根据4或5所述的方法,所述获得第二哈希值包括:
根据所述第一哈希值与当前的交易数据进行第一次哈希运算,获得第四哈希值;
根据所述第四哈希值与预设的第二数据进行第二次哈希运算,获得所述第二哈希值。
7、根据4至6任意一项所述的方法,所述根据奖励数据进行哈希运算之前还包括:
将所述奖励数据扩展为满足Sha256算法要求的数据。
8、根据1至7任意一项所述的方法,所述运算单元向算力板发送工作数据包括:
所述运算单元向算力板每发送一个工作数据,生成一个表示所述工作数据次序的工作ID;
对所述工作ID进行存储,并根据所述工作ID按照预设的算法计算一个存储地址;
将所述工作数据对应的中间结果数据存储于所述存储地址。
9、根据8所述的方法,所述控制单元获取一个所述中间结果数据包括:所述运算单元接收算力板返回的初始输出结果数据,对所述初始输出结果数据进行存储,并向所述控制单元返回一个工作ID;
所述控制单元根据所述工作ID按照预设的算法计算一个存储地址,从所述存储地址中获取一个所述中间结果数据。
10、根据9所述的方法,所述控制单元对所述输出结果数据进行校验包括:
所述控制单元检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值;
若当前的输出结果数据进行哈希运算的结果大于或等于预设的难度值,将所述当前的输出结果数据返回所述矿池;
若当前的输出结果数据进行哈希运算的结果小于预设的难度值,获取下一个输出结果数据作为当前的输出结果数据,执行所述检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值的操作。
11、一种挖矿业务处理装置,包括:
控制单元,用于将矿池下发的工作任务中的数据发送给运算单元;以及每获取一个中间结果数据,保持所述中间结果数据不变,获取输出结果数据,对所述输出结果数据进行校验,直至获得符合预设条件的所述输出结果数据;
运算单元,用于根据所述工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送所述工作数据;其中,所述运算单元在根据所述工作任务中的数据进行哈希运算的过程中,获得一个所述中间结果数据,并对所述中间结果数据进行存储,所述工作数据包括所述中间结果数据;以及接收算力板对所述工作数据进行运算产生的所述输出结果数据,对所述输出结果数据进行存储。
12、根据11所述的装置,所述哈希运算采用Sha256算法。
13、根据12所述的装置,所述工作任务中的数据包括:奖励数据和交易数据。
14、根据13所述的装置,所述运算单元,具体用于:
根据奖励数据进行哈希运算,获得第一哈希值;
根据所述第一哈希值与当前交易数据进行哈希运算,获得第二哈希值;
判断当前交易数据是否为最后一个交易数据;
若当前的交易数据为最后一个交易数据,以所述第二哈希值作为交易根,根据所述交易根进行哈希运算,获得一个中间结果数据;
根据所述中间结果数据,生成工作数据,以向算力板发送所述工作数据;
若当前的交易数据不为最后一个交易数据,以下一个交易数据作为当前的交易数据,执行所述根据所述第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值的操作。
15、根据14所述的装置,所述运算单元,具体用于:
根据所述奖励数据进行第一次哈希运算,获得第三哈希值;
根据所述第三哈希值与预设的第一数据进行第二次哈希运算,获得所述第一哈希值。
16、根据14或15所述的装置,所述运算单元,具体用于:
根据所述第一哈希值与当前的交易数据进行第一次哈希运算,获得第四哈希值;
根据所述第四哈希值与预设的第二数据进行第二次哈希运算,获得所述第二哈希值。
17、根据14至16任意一项所述的装置,所述运算单元,还用于将所述奖励数据扩展为满足Sha256算法要求的数据。
18、根据11至17任意一项所述的装置,所述运算单元,具体用于:
向算力板每发送一个工作数据,生成一个表示所述工作数据次序的工作ID;
对所述工作ID进行存储,并根据所述工作ID按照预设的算法计算一个存储地址;
将所述工作数据对应的中间结果数据存储于所述存储地址。
19、根据18所述的装置,所述运算单元,具体用于接收算力板返回的初始输出结果数据,对所述初始输出结果数据进行存储,并向所述控制单元返回一个工作ID;
所述控制单元,具体用于根据所述工作ID按照预设的算法计算一个存储地址,从所述存储地址中获取一个所述中间结果数据。
20、根据19所述的装置,所述控制单元,具体用于:
检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值;
若当前的输出结果数据进行哈希运算的结果大于或等于预设的难度值,将所述当前的输出结果数据返回所述矿池;
若当前的输出结果数据进行哈希运算的结果小于预设的难度值,获取下一个输出结果数据作为当前的输出结果数据,执行所述检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值的操作。
21、根据20所述的装置,所述运算单元包括:现场可编程门阵列FPGA;所述控制单元包括:中央处理单元CPU。
22、一种挖矿业务处理系统,包括:根据11至21任意一项所述的挖矿业务处理装置。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法、装置和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、装置和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (22)

1.一种挖矿业务处理方法,其特征在于,包括:
控制单元将矿池下发的工作任务中的数据发送给运算单元;
所述运算单元根据所述工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送所述工作数据;其中,所述运算单元在根据所述工作任务中的数据进行哈希运算的过程中,获得一个中间结果数据,并对所述中间结果数据进行存储,所述工作数据包括所述中间结果数据;
所述运算单元接收算力板对所述工作数据进行运算产生的输出结果数据,对所述输出结果数据进行存储;
所述控制单元每获取一个所述中间结果数据,保持所述中间结果数据不变,获取所述输出结果数据,对所述输出结果数据进行校验,直至获得符合预设条件的所述输出结果数据。
2.根据权利要求1所述的方法,其特征在于,所述哈希运算采用Sha256算法。
3.根据权利要求2所述的方法,其特征在于,所述工作任务中的数据包括:奖励数据和交易数据。
4.根据权利要求3所述的方法,其特征在于,所述运算单元根据所述工作任务中的数据进行哈希运算,生成工作数据包括:
根据奖励数据进行哈希运算,获得第一哈希值;
根据所述第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值;
判断当前的交易数据是否为最后一个交易数据;
若当前的交易数据为最后一个交易数据,以所述第二哈希值作为交易根,根据所述交易根进行哈希运算,获得一个中间结果数据;
根据所述中间结果数据,生成工作数据,以向算力板发送所述工作数据;
若当前的交易数据不为最后一个交易数据,以下一个交易数据作为当前的交易数据,执行所述根据所述第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值的操作。
5.根据权利要求4所述的方法,其特征在于,所述获得第一哈希值包括:
根据所述奖励数据进行第一次哈希运算,获得第三哈希值;
根据所述第三哈希值与预设的第一数据进行第二次哈希运算,获得所述第一哈希值。
6.根据权利要求4或5所述的方法,其特征在于,所述获得第二哈希值包括:
根据所述第一哈希值与当前的交易数据进行第一次哈希运算,获得第四哈希值;
根据所述第四哈希值与预设的第二数据进行第二次哈希运算,获得所述第二哈希值。
7.根据权利要求6所述的方法,其特征在于,所述根据奖励数据进行哈希运算之前还包括:
将所述奖励数据扩展为满足Sha256算法要求的数据。
8.根据权利要求1至5任意一项所述的方法,其特征在于,所述运算单元向算力板发送工作数据包括:
所述运算单元向算力板每发送一个工作数据,生成一个表示所述工作数据次序的工作ID;
对所述工作ID进行存储,并根据所述工作ID按照预设的算法计算一个存储地址;
将所述工作数据对应的中间结果数据存储于所述存储地址。
9.根据权利要求8所述的方法,其特征在于,所述控制单元获取一个所述中间结果数据包括:所述运算单元接收算力板返回的初始输出结果数据,对所述初始输出结果数据进行存储,并向所述控制单元返回一个工作ID;
所述控制单元根据所述工作ID按照预设的算法计算一个存储地址,从所述存储地址中获取一个所述中间结果数据。
10.根据权利要求9所述的方法,其特征在于,所述控制单元对所述输出结果数据进行校验包括:
所述控制单元检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值;
若当前的输出结果数据进行哈希运算的结果大于或等于预设的难度值,将所述当前的输出结果数据返回所述矿池;
若当前的输出结果数据进行哈希运算的结果小于预设的难度值,获取下一个输出结果数据作为当前的输出结果数据,执行所述检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值的操作。
11.一种挖矿业务处理装置,其特征在于,包括:
控制单元,用于将矿池下发的工作任务中的数据发送给运算单元;以及每获取一个中间结果数据,保持所述中间结果数据不变,获取输出结果数据,对所述输出结果数据进行校验,直至获得符合预设条件的所述输出结果数据;
运算单元,用于根据所述工作任务中的数据进行哈希运算,生成工作数据,以向算力板发送所述工作数据;其中,所述运算单元在根据所述工作任务中的数据进行哈希运算的过程中,获得一个所述中间结果数据,并对所述中间结果数据进行存储,所述工作数据包括所述中间结果数据;以及接收算力板对所述工作数据进行运算产生的所述输出结果数据,对所述输出结果数据进行存储。
12.根据权利要求11所述的装置,其特征在于,所述哈希运算采用Sha256算法。
13.根据权利要求12所述的装置,其特征在于,所述工作任务中的数据包括:奖励数据和交易数据。
14.根据权利要求13所述的装置,其特征在于,所述运算单元,具体用于:
根据奖励数据进行哈希运算,获得第一哈希值;
根据所述第一哈希值与当前交易数据进行哈希运算,获得第二哈希值;
判断当前交易数据是否为最后一个交易数据;
若当前的交易数据为最后一个交易数据,以所述第二哈希值作为交易根,根据所述交易根进行哈希运算,获得一个中间结果数据;
根据所述中间结果数据,生成工作数据,以向算力板发送所述工作数据;
若当前的交易数据不为最后一个交易数据,以下一个交易数据作为当前的交易数据,执行所述根据所述第一哈希值与当前的交易数据进行哈希运算,获得第二哈希值的操作。
15.根据权利要求14所述的装置,其特征在于,所述运算单元,具体用于:
根据所述奖励数据进行第一次哈希运算,获得第三哈希值;
根据所述第三哈希值与预设的第一数据进行第二次哈希运算,获得所述第一哈希值。
16.根据权利要求14或15所述的装置,其特征在于,所述运算单元,具体用于:
根据所述第一哈希值与当前的交易数据进行第一次哈希运算,获得第四哈希值;
根据所述第四哈希值与预设的第二数据进行第二次哈希运算,获得所述第二哈希值。
17.根据权利要求14至15任意一项所述的装置,其特征在于,所述运算单元,还用于将所述奖励数据扩展为满足Sha256算法要求的数据。
18.根据权利要求11至15任意一项所述的装置,其特征在于,所述运算单元,具体用于:
向算力板每发送一个工作数据,生成一个表示所述工作数据次序的工作ID;
对所述工作ID进行存储,并根据所述工作ID按照预设的算法计算一个存储地址;
将所述工作数据对应的中间结果数据存储于所述存储地址。
19.根据权利要求18所述的装置,其特征在于,所述运算单元,具体用于接收算力板返回的初始输出结果数据,对所述初始输出结果数据进行存储,并向所述控制单元返回一个工作ID;
所述控制单元,具体用于根据所述工作ID按照预设的算法计算一个存储地址,从所述存储地址中获取一个所述中间结果数据。
20.根据权利要求19所述的装置,其特征在于,所述控制单元,具体用于:
检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值;
若当前的输出结果数据进行哈希运算的结果大于或等于预设的难度值,将所述当前的输出结果数据返回所述矿池;
若当前的输出结果数据进行哈希运算的结果小于预设的难度值,获取下一个输出结果数据作为当前的输出结果数据,执行所述检测当前的输出结果数据进行哈希运算的结果是否小于预设的难度值的操作。
21.根据权利要求20所述的装置,其特征在于,所述运算单元包括:现场可编程门阵列FPGA;所述控制单元包括:中央处理单元CPU。
22.一种挖矿业务处理系统,其特征在于,包括:根据权利要求11至21任意一项所述的挖矿业务处理装置。
CN201610800168.XA 2016-08-31 2016-08-31 挖矿业务处理方法、装置和系统 Active CN106407008B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610800168.XA CN106407008B (zh) 2016-08-31 2016-08-31 挖矿业务处理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610800168.XA CN106407008B (zh) 2016-08-31 2016-08-31 挖矿业务处理方法、装置和系统

Publications (2)

Publication Number Publication Date
CN106407008A CN106407008A (zh) 2017-02-15
CN106407008B true CN106407008B (zh) 2019-12-03

Family

ID=57998394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610800168.XA Active CN106407008B (zh) 2016-08-31 2016-08-31 挖矿业务处理方法、装置和系统

Country Status (1)

Country Link
CN (1) CN106407008B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579814A (zh) * 2017-08-03 2018-01-12 北京比特大陆科技有限公司 工作量证明的计算方法的装置、计算芯片、挖矿机
CN108241926B (zh) * 2017-08-25 2020-07-10 杭州复杂美科技有限公司 一种区块链授权共识方法
CN207603443U (zh) * 2017-09-21 2018-07-10 北京比特大陆科技有限公司 算力板功率级电路、封装电源装置和算力板
CN207503225U (zh) * 2017-11-28 2018-06-15 北京比特大陆科技有限公司 一种运算系统及相应的电子设备
CN108234470B (zh) * 2017-12-28 2020-08-04 江苏通付盾科技有限公司 区块链网络中区块打包方法及系统、电子设备、存储介质
CN110109913B (zh) * 2018-01-15 2021-05-04 北京比特大陆科技有限公司 一种zerocash挖矿算法的硬件实现方法及装置
CN110046875B (zh) * 2018-01-15 2021-06-29 北京比特大陆科技有限公司 一种siacoin挖矿算法的硬件实现方法及装置
CN110347638A (zh) * 2018-04-08 2019-10-18 北京嘉楠捷思信息技术有限公司 Asic阵列、数据处理板以及区块挖掘方法和设备
CN108681520A (zh) * 2018-06-28 2018-10-19 北京比特大陆科技有限公司 一种数据处理模组、电路、算力板、矿机以及挖矿系统
CN109101392A (zh) * 2018-07-04 2018-12-28 杭州嘉楠耘智信息科技有限公司 一种智能化计算装置及其故障排除方法
CN109123881A (zh) * 2018-09-07 2019-01-04 高密市鑫佳工贸有限公司 基于区块链的服饰或鞋驱动云矿池挖矿的商业装置及方法
CN111104168B (zh) * 2018-10-25 2023-05-12 上海嘉楠捷思信息技术有限公司 一种计算结果提交方法及装置
CN111309482B (zh) * 2020-02-20 2023-08-15 浙江亿邦通信科技有限公司 基于哈希算法的区块链任务分配系统、装置及可存储介质
CN111966409B (zh) * 2020-07-30 2021-04-02 深圳比特微电子科技有限公司 矿机快速搜频方法和装置以及矿机

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477458A (zh) * 2008-12-15 2009-07-08 浙江大学 基于处理器和fpga混合架构的硬件线程执行方法
CN203941481U (zh) * 2014-05-20 2014-11-12 广州市适马自动化控制科技有限公司 一种比特币挖矿机
WO2015077378A1 (en) * 2013-11-19 2015-05-28 Sunrise Tech Group, Llc Block mining methods and apparatus
CN104915249A (zh) * 2015-05-21 2015-09-16 北京比特大陆科技有限公司 矿池中挖虚拟数字币的方法和装置
CN105045364A (zh) * 2015-07-21 2015-11-11 北京比特大陆科技有限公司 串联供电电路、虚拟数字币挖矿机和计算机服务器
CN105245327A (zh) * 2015-08-21 2016-01-13 北京比特大陆科技有限公司 比特币工作量证明哈希计算芯片优化的方法、装置和电路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11232414B2 (en) * 2014-07-03 2022-01-25 Raise Marketplace Inc. Cryptocurrency verification system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477458A (zh) * 2008-12-15 2009-07-08 浙江大学 基于处理器和fpga混合架构的硬件线程执行方法
WO2015077378A1 (en) * 2013-11-19 2015-05-28 Sunrise Tech Group, Llc Block mining methods and apparatus
CN203941481U (zh) * 2014-05-20 2014-11-12 广州市适马自动化控制科技有限公司 一种比特币挖矿机
CN104915249A (zh) * 2015-05-21 2015-09-16 北京比特大陆科技有限公司 矿池中挖虚拟数字币的方法和装置
CN105045364A (zh) * 2015-07-21 2015-11-11 北京比特大陆科技有限公司 串联供电电路、虚拟数字币挖矿机和计算机服务器
CN105245327A (zh) * 2015-08-21 2016-01-13 北京比特大陆科技有限公司 比特币工作量证明哈希计算芯片优化的方法、装置和电路

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hardware implementation analysis of SHA-256 and SHA-512 algorithms on FPGA;Imtiaz Ahmad et al.;《Computer & Electrical Engineering》;20050930;第31卷(第6期);第345-360页 *
基于SHA256散列算法的比特币挖矿优化研究;陈雷 等;《信息技术与信息化》;20151231(第10期);第158-159页 *

Also Published As

Publication number Publication date
CN106407008A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN106407008B (zh) 挖矿业务处理方法、装置和系统
US20190386834A1 (en) Blockchain management apparatus, blockchain management method, and program
CN104123184B (zh) 一种用于为构建过程中的任务分配资源的方法和系统
US10404753B2 (en) Method and apparatus for detecting security using an industry internet operating system
US20180007037A1 (en) Transaction-specific shared secret in one-time password device
US20190273738A1 (en) Local verification of code authentication
Kim et al. A scalable distributed concolic testing approach: An empirical evaluation
CN111767555A (zh) 区块链中实现隐私保护的方法及节点、存储介质
JP6985385B2 (ja) 仮想セキュリティ環境内でホスティングされるセキュア・サービス
Kamara et al. Secure outsourced computation in a multi-tenant cloud
CN103294558B (zh) 一种支持动态信任评估的MapReduce调度方法
JP2019536398A (ja) システムアーキテクチャ及びこの中のデータの処理方法
US20200341812A1 (en) Aggregated virtualized compute accelerators
CN105229659A (zh) 混淆由软件应用对数据存储装置的访问
CN110417552A (zh) 基于量子缠绕的安全通讯方法及系统
CN111565204A (zh) 区块链运行方法、装置、设备及存储介质
US20160364565A1 (en) Authentication and secure communication with application extensions
US20190238310A1 (en) Minimizing information leakage during modular exponentiation and elliptic curve point multiplication
CN112087518B (zh) 用于区块链的共识方法、装置、计算机系统和介质
JP2016517068A5 (zh)
Jurgelevičius et al. Big data mining using public distributed computing
US9256700B1 (en) Public service for emulation of application load based on synthetic data generation derived from preexisting models
CN108848094A (zh) 数据安全验证方法、装置、系统、计算机设备及存储介质
RU2578798C2 (ru) Система управления процессом направленности и внедрения интеллектуальной собственности
PH12015500464B1 (en) Display control method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant