CN112925504A - 工作量证明的计算装置、asic芯片和工作量证明的计算方法 - Google Patents

工作量证明的计算装置、asic芯片和工作量证明的计算方法 Download PDF

Info

Publication number
CN112925504A
CN112925504A CN202110196725.2A CN202110196725A CN112925504A CN 112925504 A CN112925504 A CN 112925504A CN 202110196725 A CN202110196725 A CN 202110196725A CN 112925504 A CN112925504 A CN 112925504A
Authority
CN
China
Prior art keywords
input
input quantities
compressors
computing device
workload
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.)
Withdrawn
Application number
CN202110196725.2A
Other languages
English (en)
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.)
Bitmain Technologies Inc
Original Assignee
Bitmain Technologies Inc
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 Bitmain Technologies Inc filed Critical Bitmain Technologies Inc
Priority to CN202110196725.2A priority Critical patent/CN112925504A/zh
Publication of CN112925504A publication Critical patent/CN112925504A/zh
Priority to EP22755473.0A priority patent/EP4276598A4/en
Priority to PCT/CN2022/071658 priority patent/WO2022174700A1/zh
Priority to US18/234,303 priority patent/US20230388137A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种工作量证明的计算装置、芯片和方法,能够提高工作量证明的计算效率。该计算装置包括:N个选择器,分别用于获取N组第一输入量;以及,N个第一压缩器,分别与所述N个选择器连接,所述N个第一压缩器分别用于接收所述N个选择器发送的所述N组第一输入量,以及接收相同的第二输入量,其中,每个第一压缩器用于依次对所述第二输入量和一组第一输入量中的每个第一输入量进行压缩处理,所述N个第一压缩器的压缩处理结果分别用于获取工作量证明结果。

Description

工作量证明的计算装置、ASIC芯片和工作量证明的计算方法
技术领域
本申请实施例涉及数据处理领域,并且更具体地,涉及一种工作量证明的计算装置、ASIC芯片和工作量证明的计算装置。
背景技术
工作量证明的过程,是通过大量运算在特定范围内寻找满足条件的随机数的过程,其本质是在竞争中“解决”当前区块。最先解决区块的节点可以获得相应的奖励。为此,如何提高工作量证明的计算效率,成为亟待解决的问题。
发明内容
本申请实施例提供一种工作量证明的计算装置、ASIC芯片和工作量证明的计算方法,能够提高工作量证明的计算效率。
第一方面,提供了一种工作量证明的计算装置,包括:
N个选择器,分别用于获取N组第一输入量,其中,N为大于1的正整数;以及,
N个第一压缩器,分别与所述N个选择器连接,所述N个第一压缩器分别用于接收所述N个选择器发送的所述N组第一输入量,以及接收相同的第二输入量,其中,每个第一压缩器用于依次对所述第二输入量和一组第一输入量中的每个第一输入量进行压缩处理,所述N个第一压缩器的压缩处理结果分别用于获取工作量证明结果。
在一种可能的实现方式中,所述计算装置还包括:N个加法器,分别与所述N个第一压缩器相连,其中,每个加法器用于对相应的第一压缩器的压缩处理结果和所述第一压缩器对应的延迟后的一组第一输入量进行加法处理。
在一种可能的实现方式中,所述N组第一输入量是第一发生器生成的;延迟后的所述N组第一输入量是第二发生器生成的。
在一种可能的实现方式中,延迟后的所述N组第一输入量分别通过另外的N个选择器输入至各自对应的加法器。
在一种可能的实现方式中,每组第一输入量是所述第一发生器根据区块头中的不同版本号生成的,延迟后的所述每组第一输入量是所述第二发生器根据区块头中的不同版本号生成的。
在一种可能的实现方式中,所述第一发生器、所述第二发生器和所述N个压缩器集成在同一个ASIC芯片上。
在一种可能的实现方式中,所述N个压缩器设置在ASIC芯片上,所述第一发生器和所述第二发生器设置于控制板上。
在一种可能的实现方式中,每组第一输入量中包括的第一输入量的个数为8。
在一种可能的实现方式中,2≤N≤16。
在一种可能的实现方式中,所述第二输入量包括区块头的中间状态字段,所述中间状态字段包括以下信息中的至少一种:哈希Merkle根的后32比特、时间戳、难度、随机数、以及填充比特。
在一种可能的实现方式中,所述计算装置还包括:第一扩展器,用于对所述中间状态字段进行扩展处理,得到所述第二输入量。
在一种可能的实现方式中,所述第一输入量包括区块头的消息字段,所述消息字段包括以下信息中的至少一种:版本号、前一区块的哈希值、哈希Merkle根的前224比特。
在一种可能的实现方式中,所述计算装置还包括:N个第二扩展器,分别用于对所述消息字段的N个候选值进行扩展处理;N个第二压缩器,分别与所述N个第二扩展器相连,所述N个第二压缩器分别用于对所述消息字段的N个候选值的扩展处理结果进行压缩处理,得到所述N组第一输入量。
在一种可能的实现方式中,所述计算装置还包括:N个第三扩展器,分别与所述N个加法器相连,所述N个第三扩展分别用于对所述N个加法器的加法处理结果进行扩展处理;N个第三压缩器,分别与所述N个第三扩展器相连,所述N个第三压缩器分别用于对所述N个第三扩展器的扩展处理结果进行压缩处理,得到所述工作量证明结果。
在一种可能的实现方式中,所述计算装置设置于ASIC芯片上,具有相同结构的多个所述ASIC芯片设置于同一电路板上。
第二方面,提供了一种芯片,包括第一方面或第一方面的各种可能的实现方式中的计算装置。
在一种可能的实现方式中,具有相同结构的多个所述芯片设置于同一电路板上。
第三方面,提供了一种工作量证明的计算方法,包括:
通过N个选择器,分别获取N组第一输入量,N为大于1的正整数;
通过与所述N个选择器连接的N个第一压缩器,分别接收所述N个选择器发送的所述N组第一输入量,以及接收相同的第二输入量,并通过每个第一压缩器依次对所述第二输入量和一组第一输入量中的每个第一输入量进行压缩处理;
根据所述N个第一压缩器的压缩处理结果,获取工作量证明结果。
在一种可能的实现方式中,所述计算方法还包括:通过与所述N个第一压缩器相连的N个加法器中的每个加法器,对相应的第一压缩器的压缩处理结果和所述第一压缩器对应的延迟后的一组第一输入量进行加法处理。
在一种可能的实现方式中,所述N组第一输入量是第一发生器生成的;延迟后的所述N组第一输入量是第二发生器生成的。
在一种可能的实现方式中,延迟后的所述N组第一输入量分别通过另外的N个选择器输入至各自对应的加法器。
在一种可能的实现方式中,每组第一输入量是所述第一发生器根据区块头中的不同版本号生成的,延迟后的所述每组第一输入量是所述第二发生器根据区块头中的不同版本号生成的。
在一种可能的实现方式中,所述第一发生器、所述第二发生器和所述N个压缩器集成在同一个ASIC芯片上。
在一种可能的实现方式中,所述N个压缩器设置在ASIC芯片上,所述第一发生器和所述第二发生器设置于控制板上。
在一种可能的实现方式中,每组第一输入量中包括的第一输入量的个数为8。
在一种可能的实现方式中,2≤N≤16。
在一种可能的实现方式中,所述第二输入量包括区块头的中间状态字段,所述中间状态字段包括以下信息中的至少一种:哈希Merkle根的后32比特、时间戳、难度、随机数、以及填充比特。
在一种可能的实现方式中,所述计算方法还包括:通过第一扩展器,对所述中间状态字段进行扩展处理,得到所述第二输入量。
在一种可能的实现方式中,所述第一输入量包括区块头的消息字段,所述消息字段包括以下信息中的至少一种:版本号、前一区块的哈希值、哈希Merkle根的前224比特。
在一种可能的实现方式中,在所述通过N个选择器分别获取N组第一输入量之前,所述计算方法还包括:通过N个第二扩展器,分别对所述消息字段的N个候选值进行扩展处理;通过与所述N个第二扩展器相连的N个第二压缩器,分别对所述消息字段的N个候选值的扩展处理结果进行压缩处理,得到所述N组第一输入量。
在一种可能的实现方式中,所述根据所述N个压缩器的压缩处理结果,获取工作量证明结果,包括:通过与所述N个加法器相连的N个第三扩展器,对所述N个加法器的加法处理结果进行扩展处理;通过与所述N个第三扩展器相连的N个第三压缩器,分别对所述N个第三扩展器的扩展处理结果进行压缩处理,得到所述工作量证明结果。
在一种可能的实现方式中,所述计算方法由ASIC芯片执行,具有相同结构的多个所述ASIC芯片设置于同一电路板上。
本申请实施例中的ASIC芯片基于SHA-256算法执行工作量证明的计算。
基于上述技术方案,通过选择器,使多个第一输入量复用相同的压缩器,从而减少对第二输入量的计算量,即每个压缩器每经过多个周期才计算一次第二输入量,从而减少了工作量证明的计算过程中的逻辑运算量,提高了工作量证明的计算效率,也减少了压缩器的数量,降低了芯片面积和功耗。
附图说明
图1是区块链的示意图。
图2是Merkle Tree的示意图。
图3是工作量证明的计算过程的示意图。
图4是传统的工作量证明计算过程中的循环的示意图。
图5是基于ASIC-BOOST的工作量证明计算过程中的循环的示意图。
图6是本申请实施例的工作量证明的计算装置的示意图。
图7是本申请实施例的工作量证明的计算原理的示意图。
图8是本申请实施例的工作量证明的计算方法的示意性流程图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了更好的理解本申请实施例,首先对工作量证明的原理进行描述。
工作量证明的过程也可以称为“挖矿”过程,其核心是使用多个计算平台(也成“矿机”)进行大量运算,从而在特定范围内寻找满足条件的某个随机数。该过程的本质是在竞争中“解决”当前区块。每解决一个区块,会得到新产生的奖励,只有最先解决区块的节点才能获得该奖励。每个区块包含一个记录,记录中的地址是有权获得奖励的地址。这个记录被称为生产交易。
在网络中,数据以文件的形式被永久记录,我们称之为区块。一个区块是一些或所有最新的生产交易的记录集,例如十分钟之内的所有交易,且未被其他先前的区块记录。每个区块记录了它被创建之前发生的所有事件。如表一所示,区块通常包括魔术数(MagicNo)、区块大小(Block Size)、块头(Block Header)、交易数量(Transaction Counter)和交易信息(Transactions)。
表一
Figure BDA0002945415680000051
如图1所示,每个区块的块头都包含前一个区块的哈希(HASH)值,这就使得从创世块到当前形成了一条块链,每个区块必定按时间顺序跟随在前一个区块之后,我们将其称为区块链(Block Chain)。
表一所示的区块中,块头占据80字节。在工作量证明的过程中,将要被哈希的消息即为该块头。如表二所示,一个块头可以被划分为如下的两块(Chunk),其中块2被扩充为64字节的长度。块1(Chunk 1)包括版本号、前一区块的HASH值、以及Merkle根节点的HASH值的头;块2(Chunk 2)包括Merkle根节点的HASH值的尾、时间戳、难度值、随机数、以及扩充部分。其中,块1称为中间状态(Mid-state),块2中的Merkle根节点的HASH值的尾、时间戳和难度值称为消息(Message)。
表二
Figure BDA0002945415680000061
版本(Version):即区域版本号,包括4字节,在运算过程中,其以较低频率更新。
前一区块的HASH值(Previous Hash):32字节数据,包含之前所有区块的交易信息,形成区块链的核心。在运算过程中,其以较低频率更新,例如每十分钟更新一次。
Merkle根节点的头(Merkle Root Head):28字节数据,其与Merkle根节点的尾(Merkle Root Tail)的4字节数据组成总共32字节数据,基于一个区块中所有交易的256位HASH值。在运算过程中,其以较低频率更新,例如每十分钟存在几十至几千的交易数量。
Merkle根节点的尾:4字节数据,其与Merkle根节点的头的28字节数据组成总共32字节数据,基于一个区块中所有交易的256位HASH值。在芯片运算过程中,其以较低频率更新,例如每十分钟存在几十至几千的交易数量。32字节的Merkle根包含当前区块的所有交易信息。
时间戳(Time Stamp):4字节数据,在运算过程中,其以较低频率更新。
难度:4字节数据,即当前压缩格式的目标HASH值,也称即目标比特压缩值。在运算过程中,其以较低频率更新。
随机数(nonce):4字节数据,从0开始的32位数据,总共存在2^32个随机数。在工作量证明过程中会遍历整个随机数的范围并且找出满足条件的随机数,因此在运算过程中,其以较高频率更新。
扩充(padding):48字节数据,常数。
工作量证明的过程中使用的工作量证明函数为安全散列算法(Secure HashAlgorithm,SHA)-256。对任何字符使用SHA-256算法输出的都是一个256为的字符串。使用SHA-256加密过的数据与原始数据相比差别十分巨大,破解十分困难。
拥有80字节的固定长度的区块头,就是用于工作量证明的输入字符串。因此,为了使区块头能体现区块所包含的交易,在区块的构造过程中,需要将该区块要包含的交易列表,通过Merkle树(Merkle Tree)算法生成Merkle根节点的HASH值,并以此作为交易列表的摘要存到区块头中。Merkle树本质上就是哈希二叉树。比特币中的Merkle Tree使用双SHA-256,即将每个交易数据进行SHA-256之后再进行SHA-256。例如,假设一个区块包含a、b、c三比交易,则这三笔交易的Merkle Tree的算法图解可以如图2所示。
工作量证明的过程实际上是在使用专用集成电路(Application SpecificIntegrated Circuit,ASIC)不断的计算HASH值的过程。最终的结果是要找到一个HASH 256的值,此值是经过双SHA-256加密过的,并与目标比特值(Target Bit)进行比较,如果计算出来的值小于目标比特,体现出来的是计算出来的结果的值前面存在的零的个数小于目标比特前面零的个数,则向全网广播结果,宣布找到了一个新的区块。也就是说,一个满足条件的区块头的HASH值必须要小于或等于目标比特值,该区块才能被网络接受。
目标比特值越低,产生一个新区块的难度越大。随机数Nonce值作为唯一以高频率变化的量送入到系统中参与SHA-256计算,计算过程即为遍历一定范围中的所有Nonce值的过程,最终找到一个Nonce值使得计算出来的结果小于目标比特值。
下面结和图3至图5,描述寻找Nonce值的计算方式。
在工作量证明的算法函数中,区块的块头中的80字节数据的处理过程如图3所示,在步骤1中,中间状态为块头80字节中的前64字节数据通过扩展层0和压缩层0之后输出的64字节的数据,将其作为压缩层1的第一个输入(即压缩层1输入1)。中间状态是以低频率变化的数据输入到压缩层1中。
在步骤2中,将块头80字节中的后16字节再加上扩充的48字节总共组成的64字节的数据通过扩展层1扩展为64个4字节,即256字节数据,此数据作为压缩层1的另一个输入(即压缩层1输入2)。
在步骤3中,通过压缩层1中的64轮压缩,每轮压缩4字节,将256字节(即压缩层1输入2)压缩为64字节,将中间状态的64字节数据(即压缩层1输入1)和经过64轮压缩后的64字节数据进行合并(concat)操作,并将合并操作之后的结果(即压缩层1输出)进行第一次SHA-256加密。
在步骤4中,将压缩层1输出的经过第一次SHA-256加密过的64字节结果再经过扩展层2和压缩层2之后输出一个64字节的数据,将此64字节数据进行第二次SHA-256运算。运算后的结果作为最终结果与目标比特值进行比较,如果小于目标比特值,则满足条件,产生新的区块,同时输出满足条件的Nonce值。
最后,将得到的输出结果保存到下一个区块当中,作为下一个区块的块头哈希值,形成区块链。
图3所示的计算方式采用了内部循环的方式进行,其中循环遍历的是Nonce值。如图4所示,工作项目(Work Item)包括中间状态(64字节)和消息(12字节)。工作项目被预先计算并且从外部向ASIC芯片传输,即工作项目不参与到内部挖矿循环当中,其可以被看作为工作量证明过程中的常量,虽然其会以低频率变化,但是此低频率的更新与遍历Nonce值的高频率更新相比要低很多。
实际上整个运算过程只有随机数Nonce值在以高频率更新并且参与到内部循环当中,而且还会存在全部遍历完2^32个值之后依然无法找到匹配哈希值的情况,此时还要产生额外随机数(Extra Nonce)位继续遍历。
工作量证明的过程就是不断遍历随机数Nonce值的过程。
但是,在图4所示的内部循环方式中,扩展层1、压缩层1、扩展层2、压缩层2这四层都需要参与内部循环,每当一个中间状态从外部输入到压缩层1中,都要在内部循环中做多个Nonce值的遍历。因此Nonce值的遍历的计算量十分庞大。
为此,提出了增强的ASIC算法(ASIC-BOOST)。如图5所示,在ASIC-BOOST中,通过一系列的数据碰撞使得工作项目中的消息12字节变为常数,即多个块头的块头候选者共享同一个消息。此时,消息以常数的形式输入到扩展层1中。
ASIC-BOOST的内部循环遍历的是所有的中间状态,而不是遍历所有的Nonce值。Nonce值在外部循环中更新而不是在内部循环中更新。即在ASIC-BOOST中,将Nonce值由内部循环变为外部循环,而将中间状态由外部循环改为内部循环。
由于中间状态直接为压缩层1的一个输入,其跳过了扩展层1,所以参与ASIC-BOOST内部循环的只有压缩层1、扩展层2、压缩层3,总共只有三层参与循环,而图3中参与内部循环的有四层,由于四层中的每一个函数具有相似的复杂度,通过ASIC-BOOST可以节省百分之二十五的总体计算量。假设扩展层1在总共四个函数中占有百分之X的占有量。那么具有n个碰撞工作项目时则具有百分之X(n-1)/n的总增益。
本申请提供了一种工作量证明的计算装置,可以在ASIC-BOOST的基础上,进一步提高工作量证明的计算效率。
图6是本申请实施例的工作量证明的计算装置的示意性框图。如图6所示,该计算装置包括N个选择器以及与N个选择器相连的N个第一压缩器。
N个选择器分别用于获取N组第一输入量。
N个第一压缩器分别用于接收所述N个选择器发送的所述N组第一输入量,以及接收相同的第二输入量。其中,每个第一压缩器用于依次对第二输入量和一组第一输入量中的每个第一输入量进行压缩处理,N个第一压缩器的压缩处理结果分别用于获取工作量证明结果。
第二输入量例如包括区块头的中间状态字段,该中间状态字段包括以下信息中的至少一种:哈希Merkle根的后32比特、时间戳、难度、随机数、以及填充比特。也即,第二输入量为前述表二中的“消息”。
第一输入量例如包括区块头的消息字段,该消息字段包括以下信息中的至少一种:版本号、前一区块的哈希值、哈希Merkle根的前224比特。也即,第一输入量为前述表二中的“中间状态”。
如图6所示,N组第一输入量中的每组中包括k个第一输入量,例如,第1组包括第一输入量1至第一输入量k,第2组包括第一输入量1+k至第一输入量2k,……,第N组包括第一输入量(n-1)k+1至第一输入量nk。属于同一组的k个第一输入量,其对应的哈希Merkle根的后32比特是相同的。
以图6中的第一压缩器1为例,其包括两部分输入,一部分是k个第一输入量,另一部分是第二输入量。第二输入量以低频进行更新,每经过k个周期才更新一次。第一压缩器1依次将相同的第二输入量与不同的第一输入量1至第一输入量k进行压缩处理,得到压缩处理结果,该压缩处理结果经过后续处理可以得到工作量证明结果。
可见,通过选择器,使同一组的k第一输入量复用相同的压缩器,减少了对第二输入量的计算量,从而减少了工作量证明的计算过程中的逻辑运算量,提高了计算效率,并且减少了压缩器的数量,降低了芯片面积和功耗。
在一种实现方式中,该计算装置还包括N个加法器,N个加法器分别与N个第一压缩器相连。其中每个加法器用于对与其对应的第一压缩器的压缩处理结果和该第一压缩器对应的延迟后的一组第一输入量进行加法处理。
仍以图6中的第一压缩器1为例,第一压缩器1对第二输入量和第一输入量1至第一输入量k依次进行压缩处理后,将压缩处理结果输入加法器1。同时,该加法器1接收延迟后的第一输入量1至第一输入量k,并对该组第一输入量和延迟后的该组第一输入量进行加法处理,从而得到输出状态1。
为了更清楚地理解该实施例中所涉及的计算过程,下面结合图7简单描述SHA-256算法。
在步骤1中,准备消息调度的参数{Wt}:
Figure BDA0002945415680000101
t的取值从0至63,分别可以得到对应的W0至W63,其中,W0至W63可以作为图6中所示的第二输入量。
在步骤2中,初始化8个工作变量,即a、b、c、d、e、f、g、h,并利用第(i-1)st次计算时的HASH值。a、b、c、d、e、f、g、h可以作为图6中的一组第一输入量。
Figure BDA0002945415680000102
Figure BDA0002945415680000103
Figure BDA0002945415680000104
Figure BDA0002945415680000105
Figure BDA0002945415680000106
Figure BDA0002945415680000107
Figure BDA0002945415680000108
Figure BDA0002945415680000109
在步骤3中,从t=0至t=63,分别对各个工作变量进行更新。
Figure BDA0002945415680000111
Figure BDA0002945415680000112
h=g
g=f
f=e
e=d+T1
d=c
c=b
b=a
a=T1+T2
在步骤4中,计算第i次HASH值H(i)
Figure BDA0002945415680000113
Figure BDA0002945415680000114
Figure BDA0002945415680000115
Figure BDA0002945415680000116
Figure BDA0002945415680000117
Figure BDA0002945415680000118
Figure BDA0002945415680000119
Figure BDA00029454156800001110
从上面的过程可以看出,在经过压缩处理和加法处理后,即可以得到第i次的SHA-256的计算结果。
其中,在图6中,如果将t=0至t=63作为64个计算周期,则经过第一压缩器之后的第一输入量与延迟后的该第一输入量之间就间隔64个计算周期。因此,需要对第一输入量进行延迟处理,并将第一输入量和延迟后的该第一输入量输入加法器进行加法处理。
在一种实现方式中,N组第一输入量和延迟后的N组第一输入量是由不同的中间状态发生器(Mid-state Generator)产生的。也即,通过不同的发生器,分别产生间隔64个计算周期的第一输入量。例如,N组第一输入量是第一发生器生成的;延迟后的N组第一输入量是第二发生器生成的。如图6所示,第二发生器产生延迟后的N组第一输入量后,分别通过另外的N个选择器输入至各自对应的加法器。
由于第二发生器采用的是串行的HASH运算逻辑,其电路很小,比使用单独的延迟装置例如延迟先入先出(First In First Out,FIFO)等更加节省芯片面积和功耗。
本申请实施例对第一发生器和第二发生器的位置不做限定。例如,第一发生器、第二发生器可以和N个压缩器集成在同一个ASIC芯片上;又例如,N个压缩器设置在ASIC芯片上,而第一发生器和第二发生器设置于控制板上。
具有相同结构的多个ASIC芯片可以设置于同一个电路板上,该电路板可以称为算力板。控制板是工作量证明的计算装置上的一个独立部件,例如可以为FPGA或ASIC电路,主要负责从外界接收计算任务,并向各个算力板分配计算任务,以及负责计算结果的回传。
将第一发生器和第二发生器设置于控制板上,多个算力板上的ASIC芯片共用相同的第一发生器和第二发生器,可以节省ASIC芯片的面积和功耗。
本申请实施例对上述的N和k的取值不做限定。例如,每组第一输入量中包括的第一输入量的个数k可以为4或者8。又例如,该计算装置中包括的第一压缩器的数量N满足2≤N≤64,优选地为2≤N≤16。
基于上面的描述可以看出,在遍历第一输入量的过程中,保持第二输入量不变的关键是,寻找后4字节相同的候选Merkle根。本申请实施例对生成不同的第一输入量的方式不做限定。
例如,可以增加额外的随机数(Extra Nonce)来得到不同的第一输入量,即在每个区块的第一笔交易中增加Extra Nonce,具体可以在图2所示的二叉树的左边子节点中增加Extra Nonce字节。
又例如,可以通过交换交易顺序,即交换二叉树的子节点来重新构建MerkleTree,以得到不同的第一输入量。
又例如,可以根据区块头中的不同版本号生成不同的第一输入量。也就是说,图6中的每组第一输入量是第一发生器根据区块头中的不同版本号生成的,延迟后的每组第一输入量是第二发生器根据区块头中的不同版本号生成的。
工作量证明的计算过程中涉及三次HASH计算,例如图8所示,810、820和830分别表示3次HASH计算。在第一次HASH计算即810中,通过对块头中的中间状态(512bits)进行扩展处理和压缩处理,得到处理后的中间状态,也即第一输入量;在第二次HASH计算即820中,对块头中的消息(512bits)进行扩展处理,得到第二输入量,并对第一输入量和第二输入量进行压缩处理;在第三次HASH计算即830中,对820中的处理结果进行扩展处理和压缩处理,得到最终的工作量证明结果。
上面描述的图6中所示的计算过程涉及其中的第二次HASH计算。也就是说,本申请实施例通过对第二次HASH计算过程尤其是压缩处理过程进行改进,提高了工作量证明的计算效率。
因此,在一种实现方式中,本申请实施例的工作量证明的计算装置还可以包括第一扩展器。
其中,第一扩展器用于对区块头中的中间状态字段(包括哈希Merkle根的后32比特、时间戳、难度、随机数、以及填充比特)进行扩展处理,得到上述的第二输入量。
在一种实现方式中,该计算装置还可以包括N个第二扩展器,以及与所述N个第二扩展器相连的N个第二压缩器。其中,N个第二扩展器和N个第二压缩器用于执行工作量证明的计算过程中的第一次HASH计算。
具体地,N个第二扩展器分别用于对区块头中的消息字段(即版本号、前一区块的哈希值、哈希Merkle根的前224比特)的N个候选值进行扩展处理;N个第二压缩器分别用于对区块头的消息字段的N个候选值的扩展处理结果进行压缩处理,得到上述的N组第一输入量。
在一种实现方式中,该计算装置还可以包括与N个加法器相连的N个第三扩展器,以及与N个第三扩展器相连的N个第三压缩器。其中,N个第三扩展器和N个第三压缩器用于执行工作量证明的计算过程中的第三次HASH计算。
具体地,N个第三扩展器分别用于对所述N个加法器的加法处理结果进行扩展处理;N个第三压缩器分别用于对所述N个第三扩展器的扩展处理结果进行压缩处理,得到工作量证明结果。
各个第一输入量对应的工作量证明结果与当前网络的目标比特值进行比较,当工作量证明结果小于目标比特值时,则表明当前区块被解决。
本申请实施例还提供一种芯片,该芯片包括上述任一实施例中所述的工作量证明的计算装置。该芯片可以是算力芯片,具有相同结构的多个算力芯片设置于同一电路板上。
应理解,对于传统计算机而言,一片印刷电路板(Printed Circuit board,PCB)上仅放置一个计算处理器芯片,例如中央处理器(Central Processing Unit,CPU)或者图形处理单元(Graphic Processing Unit,GPU)等。而对于采用ASIC芯片的产品来说,一片PCB(称为算力板)板上往往会密集地放置多个结构相同的计算处理器芯片(即ASIC芯片)。并且,在这些ASIC芯片中,至少两个ASIC芯片会通过串联的方式连接在一起。
如图8所示,本申请实施例还提供一种工作量证明的计算方法。该方法包括以下步骤:
在810中,通过N个选择器分别获取N组第一输入量,N为大于1的正整数;
在820中,通过与所述N个选择器连接的N个第一压缩器,分别接收所述N个选择器发送的所述N组第一输入量,以及接收相同的第二输入量,并通过每个第一压缩器依次对所述第二输入量和一组第一输入量中的每个第一输入量进行压缩处理;
在830中,根据所述N个第一压缩器的压缩处理结果,获取工作量证明结果。
因此,通过选择器,使多个第一输入量复用相同的压缩器,减少了对第二输入量的计算量,即每个压缩器每经过多个周期才计算一次第二输入量,从而减少了工作量证明的计算过程中的逻辑运算量,提高了工作量证明的计算效率,也减少了压缩器的数量,降低了芯片面积和功耗。
在一种实现方式中,所述计算方法还包括:通过与所述N个第一压缩器相连的N个加法器中的每个加法器,对相应的第一压缩器的压缩处理结果和所述第一压缩器对应的延迟后的一组第一输入量进行加法处理。
在一种实现方式中,所述N组第一输入量是第一发生器生成的;延迟后的所述N组第一输入量是第二发生器生成的。
在一种实现方式中,延迟后的所述N组第一输入量分别通过另外的N个选择器输入至各自对应的加法器。
在一种实现方式中,每组第一输入量是所述第一发生器根据区块头中的不同版本号生成的,延迟后的所述每组第一输入量是所述第二发生器根据区块头中的不同版本号生成的。
在一种实现方式中,所述第一发生器、所述第二发生器和所述N个压缩器集成在同一个ASIC芯片上。
在一种实现方式中,所述N个压缩器设置在ASIC芯片上,所述第一发生器和所述第二发生器设置于控制板上。
在一种实现方式中,所述ASIC芯片基于SHA-256算法执行工作量证明的计算。
在一种实现方式中,每组第一输入量中包括的第一输入量的个数为8。
在一种实现方式中,2≤N≤16。
在一种实现方式中,所述第二输入量包括区块头的中间状态字段,所述中间状态字段包括以下信息中的至少一种:哈希Merkle根的后32比特、时间戳、难度、随机数、以及填充比特。
在一种实现方式中,所述计算方法还包括:通过第一扩展器,对所述中间状态字段进行扩展处理,得到所述第二输入量。
在一种实现方式中,所述第一输入量包括区块头的消息字段,所述消息字段包括以下信息中的至少一种:版本号、前一区块的哈希值、哈希Merkle根的前224比特。
在一种实现方式中,在所述通过N个选择器分别获取N组第一输入量之前,所述计算方法还包括:通过N个第二扩展器,分别对所述消息字段的N个候选值进行扩展处理;通过与所述N个第二扩展器相连的N个第二压缩器,分别对所述消息字段的N个候选值的扩展处理结果进行压缩处理,得到所述N组第一输入量。
在一种实现方式中,所述根据所述N个压缩器的压缩处理结果,获取工作量证明结果,包括:通过与所述N个加法器相连的N个第三扩展器,对所述N个加法器的加法处理结果进行扩展处理;通过与所述N个第三扩展器相连的N个第三压缩器,分别对所述N个第三扩展器的扩展处理结果进行压缩处理,得到所述工作量证明结果。
在一种实现方式中,所述计算方法由ASIC芯片执行,具有相同结构的多个所述ASIC芯片设置于同一电路板上。
在一种实现方式中,所述ASIC芯片基于SHA-256算法执行工作量证明的计算。
应理解,图8所示的方法可以由前述图6所示的计算装置执行,方法实施例中的各个特征的详细描述可以参考前述针对装置侧的描述,为了简洁,这里不再赘述。
需要说明的是,在不冲突的前提下,本申请描述的各个实施例和/或各个实施例中的技术特征可以任意的相互组合,组合之后得到的技术方案也应落入本申请的保护范围。
应理解,本申请实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形均落在本申请的保护范围内。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (37)

1.一种工作量证明的计算装置,其特征在于,包括:
N个选择器,分别用于获取N组第一输入量,其中,N为大于1的正整数;以及,
N个第一压缩器,分别与所述N个选择器连接,所述N个第一压缩器分别用于接收所述N个选择器发送的所述N组第一输入量,以及接收相同的第二输入量,其中,每个第一压缩器用于依次对所述第二输入量和一组第一输入量中的每个第一输入量进行压缩处理,所述N个第一压缩器的压缩处理结果分别用于获取工作量证明结果。
2.根据权利要求1所述的计算装置,其特征在于,所述计算装置还包括:
N个加法器,分别与所述N个第一压缩器相连,其中,每个加法器用于对相应的第一压缩器的压缩处理结果和所述第一压缩器对应的延迟后的一组第一输入量进行加法处理。
3.根据权利要求2所述的计算装置,其特征在于,
所述N组第一输入量是第一发生器生成的;
延迟后的所述N组第一输入量是第二发生器生成的。
4.根据权利要求3所述的计算装置,其特征在于,延迟后的所述N组第一输入量分别通过另外的N个选择器输入至各自对应的加法器。
5.根据权利要求3所述的计算装置,其特征在于,每组第一输入量是所述第一发生器根据区块头中的不同版本号生成的,延迟后的所述每组第一输入量是所述第二发生器根据区块头中的不同版本号生成的。
6.根据权利要求3至5中任一项所述的计算装置,其特征在于,所述第一发生器、所述第二发生器和所述N个压缩器集成在同一个专用集成电路ASIC芯片上。
7.根据权利要求6所述的计算装置,其特征在于,所述ASIC芯片基于SHA-256算法执行工作量证明的计算。
8.根据权利要求3至5中任一项所述的计算装置,其特征在于,所述N个压缩器设置在ASIC芯片上,所述第一发生器和所述第二发生器设置于控制板上。
9.根据权利要求1至5中任一项所述的计算装置,其特征在于,每组第一输入量中包括的第一输入量的个数为8。
10.根据权利要求1至5中任一项所述的计算装置,其特征在于,2≤N≤16。
11.根据权利要求1至5中任一项所述的计算装置,其特征在于,所述第二输入量包括区块头的中间状态字段,所述中间状态字段包括以下信息中的至少一种:
哈希Merkle根的后32比特、时间戳、难度、随机数、以及填充比特。
12.根据权利要求11所述的计算装置,其特征在于,所述计算装置还包括:
第一扩展器,用于对所述中间状态字段进行扩展处理,得到所述第二输入量。
13.根据权利要求1至5中任一项所述的计算装置,其特征在于,所述第一输入量包括区块头的消息字段,所述消息字段包括以下信息中的至少一种:
版本号、前一区块的哈希值、哈希Merkle根的前224比特。
14.根据权利要求13所述的计算装置,其特征在于,所述计算装置还包括:
N个第二扩展器,分别用于对所述消息字段的N个候选值进行扩展处理;
N个第二压缩器,分别与所述N个第二扩展器相连,所述N个第二压缩器分别用于对所述消息字段的N个候选值的扩展处理结果进行压缩处理,得到所述N组第一输入量。
15.根据权利要求1至5中任一项所述的计算装置,其特征在于,所述计算装置还包括:
N个第三扩展器,分别与所述N个加法器相连,所述N个第三扩展分别用于对所述N个加法器的加法处理结果进行扩展处理;
N个第三压缩器,分别与所述N个第三扩展器相连,所述N个第三压缩器分别用于对所述N个第三扩展器的扩展处理结果进行压缩处理,得到所述工作量证明结果。
16.根据权利要求1至5中任一项所述的计算装置,其特征在于,所述计算装置设置于ASIC芯片上,具有相同结构的多个所述ASIC芯片设置于同一电路板上。
17.根据权利要求16所述的计算装置,其特征在于,所述ASIC芯片基于SHA-256算法执行工作量证明的计算。
18.一种专用集成电路ASIC芯片,其特征在于,包括前述权利要求1至17中任一项所述的工作量证明的计算装置。
19.根据权利要求18所述的芯片,其特征在于,具有相同结构的多个所述ASIC芯片设置于同一电路板上。
20.根据权利要求18或19所述的芯片,其特征在于,所述ASIC芯片基于SHA-256算法执行工作量证明的计算。
21.一种工作量证明的计算方法,其特征在于,包括:
通过N个选择器,分别获取N组第一输入量,N为大于1的正整数;
通过与所述N个选择器连接的N个第一压缩器,分别接收所述N个选择器发送的所述N组第一输入量,以及接收相同的第二输入量,并通过每个第一压缩器依次对所述第二输入量和一组第一输入量中的每个第一输入量进行压缩处理;
根据所述N个第一压缩器的压缩处理结果,获取工作量证明结果。
22.根据权利要求21所述的计算方法,其特征在于,所述计算方法还包括:
通过与所述N个第一压缩器相连的N个加法器中的每个加法器,对相应的第一压缩器的压缩处理结果和所述第一压缩器对应的延迟后的一组第一输入量进行加法处理。
23.根据权利要求22所述的计算方法,其特征在于,
所述N组第一输入量是第一发生器生成的;
延迟后的所述N组第一输入量是第二发生器生成的。
24.根据权利要求23所述的计算方法,其特征在于,延迟后的所述N组第一输入量分别通过另外的N个选择器输入至各自对应的加法器。
25.根据权利要求23所述的计算方法,其特征在于,每组第一输入量是所述第一发生器根据区块头中的不同版本号生成的,延迟后的所述每组第一输入量是所述第二发生器根据区块头中的不同版本号生成的。
26.根据权利要求23至25中任一项所述的计算方法,其特征在于,所述第一发生器、所述第二发生器和所述N个压缩器集成在同一个专用集成电路ASIC芯片上。
27.根据权利要求26所述的计算方法,其特征在于,所述ASIC芯片基于SHA-256算法执行工作量证明的计算。
28.根据权利要求23至25中任一项所述的计算方法,其特征在于,所述N个压缩器设置在ASIC芯片上,所述第一发生器和所述第二发生器设置于控制板上。
29.根据权利要求21至25中任一项所述的计算方法,其特征在于,每组第一输入量中包括的第一输入量的个数为8。
30.根据权利要求21至25中任一项所述的计算方法,其特征在于,2≤N≤16。
31.根据权利要求21至25中任一项所述的计算方法,其特征在于,所述第二输入量包括区块头的中间状态字段,所述中间状态字段包括以下信息中的至少一种:
哈希Merkle根的后32比特、时间戳、难度、随机数、以及填充比特。
32.根据权利要求31所述的计算方法,其特征在于,所述计算方法还包括:
通过第一扩展器,对所述中间状态字段进行扩展处理,得到所述第二输入量。
33.根据权利要求21至25中任一项所述的计算方法,其特征在于,所述第一输入量包括区块头的消息字段,所述消息字段包括以下信息中的至少一种:
版本号、前一区块的哈希值、哈希Merkle根的前224比特。
34.根据权利要求33所述的计算方法,其特征在于,在所述通过N个选择器分别获取N组第一输入量之前,所述计算方法还包括:
通过N个第二扩展器,分别对所述消息字段的N个候选值进行扩展处理;
通过与所述N个第二扩展器相连的N个第二压缩器,分别对所述消息字段的N个候选值的扩展处理结果进行压缩处理,得到所述N组第一输入量。
35.根据权利要求21至25中任一项所述的计算方法,其特征在于,所述根据所述N个压缩器的压缩处理结果,获取工作量证明结果,包括:
通过与所述N个加法器相连的N个第三扩展器,对所述N个加法器的加法处理结果进行扩展处理;
通过与所述N个第三扩展器相连的N个第三压缩器,分别对所述N个第三扩展器的扩展处理结果进行压缩处理,得到所述工作量证明结果。
36.根据权利要求21至25中任一项所述的计算方法,其特征在于,所述计算方法由ASIC芯片执行,具有相同结构的多个所述ASIC芯片设置于同一电路板上。
37.根据权利要求36所述的计算方法,其特征在于,所述ASIC芯片基于SHA-256算法执行工作量证明的计算。
CN202110196725.2A 2021-02-20 2021-02-20 工作量证明的计算装置、asic芯片和工作量证明的计算方法 Withdrawn CN112925504A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110196725.2A CN112925504A (zh) 2021-02-20 2021-02-20 工作量证明的计算装置、asic芯片和工作量证明的计算方法
EP22755473.0A EP4276598A4 (en) 2021-02-20 2022-01-12 PROOF-WORK CALCULATION DEVICE AND ASIC CHIP AND PROOF-WORK CALCULATION METHOD
PCT/CN2022/071658 WO2022174700A1 (zh) 2021-02-20 2022-01-12 工作量证明的计算装置、asic芯片和工作量证明的计算方法
US18/234,303 US20230388137A1 (en) 2021-02-20 2023-08-15 Computing apparatus for proof of work, and asic chip and computing method for proof of work

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110196725.2A CN112925504A (zh) 2021-02-20 2021-02-20 工作量证明的计算装置、asic芯片和工作量证明的计算方法

Publications (1)

Publication Number Publication Date
CN112925504A true CN112925504A (zh) 2021-06-08

Family

ID=76170098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110196725.2A Withdrawn CN112925504A (zh) 2021-02-20 2021-02-20 工作量证明的计算装置、asic芯片和工作量证明的计算方法

Country Status (4)

Country Link
US (1) US20230388137A1 (zh)
EP (1) EP4276598A4 (zh)
CN (1) CN112925504A (zh)
WO (1) WO2022174700A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113594077A (zh) * 2021-07-22 2021-11-02 重庆双芯科技有限公司 一种多级芯片串联系统芯片定位方法及多级芯片串联系统
CN114928577A (zh) * 2022-07-19 2022-08-19 中科声龙科技发展(北京)有限公司 工作量证明芯片及其处理方法
WO2022174700A1 (zh) * 2021-02-20 2022-08-25 北京比特大陆科技有限公司 工作量证明的计算装置、asic芯片和工作量证明的计算方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102137956B1 (ko) * 2013-11-19 2020-07-28 탑 갤로어 리미티드 블록 마이닝 방법 및 장치
US10409827B2 (en) * 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
CN105245327A (zh) * 2015-08-21 2016-01-13 北京比特大陆科技有限公司 比特币工作量证明哈希计算芯片优化的方法、装置和电路
CN110557261A (zh) * 2019-09-02 2019-12-10 紫光展锐(重庆)科技有限公司 节点数据处理方法、装置及系统
CN112003603A (zh) * 2020-06-30 2020-11-27 上海美仁半导体有限公司 一种消息扩展电路、方法、芯片、家用电器以及存储介质
CN112925504A (zh) * 2021-02-20 2021-06-08 北京比特大陆科技有限公司 工作量证明的计算装置、asic芯片和工作量证明的计算方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022174700A1 (zh) * 2021-02-20 2022-08-25 北京比特大陆科技有限公司 工作量证明的计算装置、asic芯片和工作量证明的计算方法
CN113594077A (zh) * 2021-07-22 2021-11-02 重庆双芯科技有限公司 一种多级芯片串联系统芯片定位方法及多级芯片串联系统
CN113594077B (zh) * 2021-07-22 2024-03-08 重庆双芯科技有限公司 一种多级芯片串联系统芯片定位方法及多级芯片串联系统
CN114928577A (zh) * 2022-07-19 2022-08-19 中科声龙科技发展(北京)有限公司 工作量证明芯片及其处理方法
CN114928577B (zh) * 2022-07-19 2022-10-21 中科声龙科技发展(北京)有限公司 工作量证明芯片及其处理方法

Also Published As

Publication number Publication date
EP4276598A1 (en) 2023-11-15
US20230388137A1 (en) 2023-11-30
WO2022174700A1 (zh) 2022-08-25
EP4276598A4 (en) 2024-06-05

Similar Documents

Publication Publication Date Title
CN112925504A (zh) 工作量证明的计算装置、asic芯片和工作量证明的计算方法
KR102137956B1 (ko) 블록 마이닝 방법 및 장치
WO2016046821A1 (en) Method and system for reducing power consumption in bitcoin mining via data input hopping
KR20080063785A (ko) 익스팬더 그래프로부터의 해시 함수 생성
CN111464308A (zh) 一种实现多种哈希算法可重构的方法和系统
WO2021233198A1 (zh) 用于执行散列算法的电路和方法
CN111724145B (zh) 一种区块链系统分片协议的设计方法
CN108768656B (zh) 一种基于哈希算法的数据校验方法
Van Hieu et al. Hardware implementation for fast block generator of Litecoin blockchain system
CN116318660B (zh) 一种消息扩展与压缩方法及相关装置
JP2009169316A (ja) ハッシュ関数演算装置及び署名装置及びプログラム及びハッシュ関数演算方法
CN108039944B (zh) 具有前向安全性的揭序加密框架算法
CN114553424B (zh) Zuc-256流密码轻量级硬件系统
US9288041B2 (en) Apparatus and method for performing compression operation in hash algorithm
Kahri et al. An FPGA implementation of the SHA-3: The BLAKE hash function
CN106301764B (zh) 基于路径散列的消息摘要方法和系统
US20230059130A1 (en) Method and device for generating random numbers
Ali Feedback with carry shift registers and (in-depth) security of ciphers based on this primitive
KR100954843B1 (ko) 센서 모트에서의 블록 인덱싱 기반의 타원 곡선 암호 연산 방법, 그 장치 및 이를 기록한 기록 매체
CN110113170B (zh) 一种sha256值生成系统
CN111526120B (zh) 一种多级流水线电路生成tcp校验和的方法
CN115765975B (zh) Sha-256算法的低功耗实现方法、芯片、服务器及存储介质
Jana et al. Generating a Suitable Hash Function Using Sudoku for Blockchain Network Check for updates
GB2608429A (en) A new and novel mathematically based bitcoin mining process
US8363825B1 (en) Device for and method of collision-free hashing for near-match inputs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210608