CN112307425B - 用Sun算法在8位机上实现提高区块链吞吐量的方法 - Google Patents

用Sun算法在8位机上实现提高区块链吞吐量的方法 Download PDF

Info

Publication number
CN112307425B
CN112307425B CN202011215406.3A CN202011215406A CN112307425B CN 112307425 B CN112307425 B CN 112307425B CN 202011215406 A CN202011215406 A CN 202011215406A CN 112307425 B CN112307425 B CN 112307425B
Authority
CN
China
Prior art keywords
remainder
matrix
value
round
miner
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
CN202011215406.3A
Other languages
English (en)
Other versions
CN112307425A (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.)
ShanghaiTech University
Original Assignee
ShanghaiTech University
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 ShanghaiTech University filed Critical ShanghaiTech University
Priority to CN202011215406.3A priority Critical patent/CN112307425B/zh
Publication of CN112307425A publication Critical patent/CN112307425A/zh
Application granted granted Critical
Publication of CN112307425B publication Critical patent/CN112307425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明提供了一种用Sun算法在8位机上实现提高区块链吞吐量的方法。本发明对Sun的算法进行了扩展,相较于Sun的原始算法,本发明在不影响效率的情况下对输入可选取的范围进行了扩展,并使其能够在8位机上运行并适应2048位输入a和模数M。通过在8位超导集成电路上运行Sun算法,本发明可以加快领导者选举中VDF的运行效率,提高区块链的吞吐量。

Description

用Sun算法在8位机上实现提高区块链吞吐量的方法
技术领域
本发明涉及一种用Sun的低延时模平方算法在8位机上的实现提高区块链吞吐量的方法。
背景技术
在区块链共识协议中,领导者选举(leader election)被用于决定每一轮的出块权和出块奖励归属,一度以工作量证明(PoW)方案进行。由于PoW方案需要消耗大量的计算资源并带来环境污染,领导者选举正由PoW方案向空间证明(PoSpace)与可验证延迟函数(VDF)相结合的新方案过渡。使用新方案的区块链节能环保,然而其吞吐量严重依赖于VDF的效率。为此,加快VDF的计算速度是提高新方案区块链吞吐能力的关键。
VDF是一种计算过程无法并行,计算结果可以快速公开验证的数学函数。目前应用最为广泛的VDF基于模指数运算:
Figure BDA0002760206100000011
其中,a表示输入;T表示指数;mod表示模运算;M表示模数,是两个大素数的乘积,其素因子分解保持私有。
目前文献中计算上述VDF的最佳算法通过T次模M的平方运算实现。低延时的模平方运算是加速VDF计算的主要途径。对于1024位的输入a和模数M,Sun使用中国剩余定理提高了单次模平方运算的并行化程度,给出了一种有效的适用于32位机和64位机的低延时模平方算法,效率远优于传统的Montgomery算法等模平方算法。
VDF具有抗并行性,其计算速度与参与计算的机器数量无关,仅与机器本身的运行速度相关。
量子计算具有运行速度更快、处置信息能力更强、应用范围更广的优点,已成为世界各国对技术高地争夺的焦点之一。以低延时、低功耗为显著特点的超导集成电路在量子计算机的研发中占据着重要地位,在美国和日本已有近50年的发展历史。受此影响,我国在超导集成电路的研发方面也已全面布局。在超导集成电路发展的初级阶段,受超导集成工艺限制,实现低至8位的算术运算是重要的阶段性成果。在8位超导集成电路上实现VDF计算不但有利于充分测试电路建造的工艺水平,而且可以揭示电路大规模应用的潜力。在8位超导集成电路上进行VDF计算的关键一步就是给出上述模平方算法的8位机实现。
发明内容
本发明要解决的技术问题是:现有的Sun算法仅能处理1024位的输入a和模数M,且数字精度不高,无法实现2048位大整数的模平方运算,Sun的原始算法无法适用于8位机,制约了区块链的吞吐量。
为了解决上述技术问题,本发明的技术方案是提供了一种用Sun算法在8位机上实现提高区块链吞吐量的方法,其特征在于,包括以下步骤:
步骤1、区块链上的每个矿工从各自所拥有的若干个空间中生成空间证明;一个空间对应一个空间证明,矿工的空间证明数量等于矿工所拥有的空间数量;
步骤2、每个矿工将各自的空间证明输入统一的哈希函数H(·)计算分别得到每个空间证明对应的哈希值;
步骤3、每个矿工从所拥有的空间证明的哈希值中取最小值作为VDF运算中的参数T,每个矿工独自进行VDF运算,即独自计算
Figure BDA0002760206100000021
任意一个矿工独自计算/>
Figure BDA0002760206100000022
包括以下步骤:
步骤301、预处理,包括以下步骤:
步骤3011、生成B个取值范围在[1,2L-1]的两两互质的基底m1,…,mB,其中,B、L均为预先设定的经验常数;
步骤3012、计算n×n的矩阵A,矩阵A中第i行第j列的元素Ai,j表示为:
Figure BDA0002760206100000023
式中,P表示所有基底的乘积,即
Figure BDA0002760206100000024
M表示模数;
步骤3013、计算1×n的矩阵v,矩阵v中第i列元素vi表示为:
Figure BDA0002760206100000025
式中,k为预先设定的经验常数;
步骤302、计算输入a对于各个基底的余数,其中,输入a对于第i个基底mi的余数表示为ri,则有:ri=a mod mi,i=1,…,B;
步骤303、计算每个余数所对应的中间值,其中,余数ri对应的中间值表示为ri′,则有:
Figure BDA0002760206100000031
步骤304、使用步骤3012得到的矩阵A以及步骤3013得到的矩阵v对步骤303得到的对应的中间值进行约减,得到结果值,其中,由3012得到的矩阵A及步骤3013得到的矩阵v对中间值ri′进行约减,得到结果值ri″;
步骤305、以步骤303及步骤304为一轮模平方运算,将前一轮模平方运算所得的结果值作为后一轮模平方运算中的余数,共执行T轮模平方运算,随后由第T轮模平方运算所得的结果值恢复为
Figure BDA0002760206100000032
步骤4、最快完成VDF运算并通过其他矿工验证的矿工被认定为领导者,获得出块权和出块奖励;
在上述步骤中,基底m1,…,mB、矩阵A中第i行第j列的元素Ai,j、P、M、矩阵v中第i列元素vi、输入a、余数ri、余数ri对应的中间值ri′、结果值ri″均为大整数,将大整数按8比特进行分块存储,各块分配不同权重,每个大整数的运算改写成对于各个存储分块的加权运算。
优选地,步骤303中,所述中间值ri′可以通过中国剩余定理逆映射恢复为a2
优选地,步骤304中,所述结果值ri″表示为:
Figure BDA0002760206100000033
Figure BDA0002760206100000034
优选地,步骤305中,使用中国剩余定理将第T轮模平方运算所得的结果值恢复为
Figure BDA0002760206100000035
本发明对Sun的算法进行了扩展,相较于Sun的原始算法,本发明在不影响效率的情况下对输入可选取的范围进行了扩展,并使其能够在8位机上运行并适应2048位输入a和模数M。通过在8位超导集成电路上运行Sun算法,本发明可以加快领导者选举中VDF的运行效率,提高区块链的吞吐量。
附图说明
图1为领导人选举示意图;
图2为Sun算法在B=3条件下进行一次模平方运算的示例;
图3为Sun算法在B=3条件下进行并行约减的示例。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明提供的一种用Sun算法在8位机上实现提高区块链吞吐量的方法,包括以下步骤:
步骤1、区块链上的每个矿工M1,…,Mp从各自所拥有的s1,…,sn空间中生成空间证明ps1,…,psn
步骤2、每个矿工将各自的空间证明ps1,…,psn输入统一的哈希函数H(·)计算得到对应的n个哈希值H(ps1),…,H(psn);
步骤3、每个矿工从所拥有的空间证明的哈希值中取最小值作为VDF运算中的参数T,每个矿工独自进行VDF运算,即独自计算
Figure BDA0002760206100000041
本实施例中,假设某个矿工所拥有的最小哈希值T=220,该矿工独自计算/>
Figure BDA0002760206100000042
其中:
a=24962743716270738850186870770798503430604591768649693001283926742978142193860945524304429420328155167733028701034847109744357858415823132338821016070636455618065993004466314450481968612260164627324337446836017723156221439790409391707069546229498241009556601092654688207807998484102145096806930319241706970718558814736957561793909420559497233266770464097556488374311702859483198091589116755867278611649931899448024409614927449975145818120814231602614179674907580445266028116909580604787723308358054356915130289185207403498227745670918763650634622634022823461803235879111193218846795663771228812038161174756075561046023;
M=27753518966756833043310696658680489011063642864067473991324150898386466958471768596164596493433277993392527742250625431044493065910052020199538067630453415235559298916231325819462445717277295524847868588751980799634715333666195052388189052062280926439638833711206164705291841660581623493606991585908254321280667487377443515229326260998427734322647085082804753009205406425944676994048399934815311525895043560986701162730869838266387447976468713239075912661738304981310188255059572154024529437810282388575978080680135343845379552565264224050689423622788304232123385662662599376345478981783857431670519061413837777695409。
该矿工独自计算
Figure BDA0002760206100000051
包括以下步骤:
步骤301、预处理,包括以下步骤:
步骤3011、生成B个取值范围在[1,2L-1]的两两互质的基底m1,…,mB,其中,B、L均为预先设定的经验常数;
步骤3012、计算B×B的矩阵A,矩阵A中第i行第j列的元素Ai,j表示为:
Figure BDA0002760206100000052
式中,P表示所有基底的乘积,即
Figure BDA0002760206100000053
M表示模数;
步骤3013、计算1×B的矩阵v,矩阵v中第i列元素vi表示为:
Figure BDA0002760206100000054
式中,k为预先设定的经验常数;
步骤302、计算输入a对于各个基底的余数,其中,输入a对于第i个基底mi的余数表示为ri,则有:ri=a mod mi,i=1,…,B;
步骤303、计算每个余数所对应的中间值,其中,余数ri对应的中间值表示为ri′,则有:
Figure BDA0002760206100000055
中间值ri′可以通过中国剩余定理逆映射恢复为a2
步骤304、使用步骤3012得到的矩阵A以及步骤3013得到的矩阵v对步骤303得到的对应的中间值进行约减,具体过程可以参见图3,得到结果值,其中,由3012得到的矩阵A及步骤3013得到的矩阵v对中间值ri′进行约减,得到结果值ri″,表示为:
Figure BDA0002760206100000056
步骤305、以步骤303及步骤304为一轮模平方运算,将前一轮模平方运算所得的结果值作为后一轮模平方运算中的余数,共执行T轮模平方运算,随后由中国剩余定理将第T轮模平方运算所得的结果值恢复为
Figure BDA0002760206100000061
步骤4、最快完成VDF运算并通过其他矿工验证的矿工被认定为领导者,获得出块权和出块奖励。
在8位机中,计算机字比特数d=8,在上述步骤中,基底m1,…,mB、矩阵A中第i行第j列的元素Ai,j、P、M、矩阵v中第i列元素vi、输入a、余数ri、余数ri对应的中间值ri′、结果值ri″均为大整数,将大整数按d比特进行分块存储,各块分配不同权重,从而解决大整数在8位机上的存储问题。在此存储方式的基础上,每个大整数的运算可改写成对于各个存储分块的加权运算,其中除法运算另作处理,具体参考Moller,Niels,Granlund,Torbjorn.ImprovedDivision by Invariant Integers[M].IEEE Computer Society,2011.。
对于d比特的存储分块上的加减法运算,用一个d比特的分块存储运算结果的高位,一个d/2比特的分块存储运算结果的低位。
对于d比特的存储分块上的乘法运算,用用一个d比特的分块存储运算结果的高位,一个d比特的分块存储运算结果的低位。

Claims (4)

1.一种用Sun算法在8位机上实现提高区块链吞吐量的方法,其特征在于,包括以下步骤:
步骤1、区块链上的每个矿工从各自所拥有的若干个空间中生成空间证明;一个空间对应一个空间证明,矿工的空间证明数量等于矿工所拥有的空间数量;
步骤2、每个矿工将各自的空间证明输入统一的哈希函数H(·)计算分别得到每个空间证明对应的哈希值;
步骤3、每个矿工从所拥有的空间证明的哈希值中取最小值作为VDF运算中的参数T,每个矿工独自进行VDF运算,即独自计算
Figure FDA0002760206090000011
任意一个矿工独自计算/>
Figure FDA0002760206090000012
包括以下步骤:
步骤301、预处理,包括以下步骤:
步骤3011、生成B个取值范围在[1,2L-1]的两两互质的基底m1,...,mB,其中,B、L均为预先设定的经验常数;
步骤3012、计算n×n的矩阵A,矩阵A中第i行第j列的元素Ai,j表示为:
Figure FDA0002760206090000013
式中,P表示所有基底的乘积,即
Figure FDA0002760206090000014
M表示模数;
步骤3013、计算1×n的矩阵v,矩阵v中第i列元素vi表示为:
Figure FDA0002760206090000015
式中,k为预先设定的经验常数;
步骤302、计算输入a对于各个基底的余数,其中,输入a对于第i个基底mi的余数表示为ri,则有:ri=a mod mi,i=1,...,B;
步骤303、计算每个余数所对应的中间值,其中,余数ri对应的中间值表示为ri′,则有:
Figure FDA0002760206090000016
步骤304、使用步骤3012得到的矩阵A以及步骤3013得到的矩阵v对步骤303得到的对应的中间值进行约减,得到结果值,其中,由3012得到的矩阵A及步骤3013得到的矩阵v对中间值ri′进行约减,得到结果值ri″;
步骤305、以步骤303及步骤304为一轮模平方运算,将前一轮模平方运算所得的结果值作为后一轮模平方运算中的余数,共执行T轮模平方运算,随后由第T轮模平方运算所得的结果值恢复为
Figure FDA0002760206090000021
步骤4、最快完成VDF运算并通过其他矿工验证的矿工被认定为领导者,获得出块权和出块奖励;
在上述步骤中,基底m1,...,mB、矩阵A中第i行第j列的元素Ai,j、P、M、矩阵v中第i列元素vi、输入a、余数ri、余数ri对应的中间值ri′、结果值ri″均为大整数,将大整数按8比特进行分块存储,各块分配不同权重,每个大整数的运算改写成对于各个存储分块的加权运算。
2.如权利要求1所述的一种用Sun算法在8位机上实现提高区块链吞吐量的方法,其特征在于,步骤303中,所述中间值ri′可以通过中国剩余定理逆映射恢复为a2
3.如权利要求1所述的一种用Sun算法在8位机上实现提高区块链吞吐量的方法,其特征在于,步骤304中,所述结果值ri″表示为:
Figure FDA0002760206090000022
Figure FDA0002760206090000023
4.如权利要求1所述的一种用Sun算法在8位机上实现提高区块链吞吐量的方法,其特征在于,步骤305中,使用中国剩余定理将第T轮模平方运算所得的结果值恢复为
Figure FDA0002760206090000024
CN202011215406.3A 2020-11-04 2020-11-04 用Sun算法在8位机上实现提高区块链吞吐量的方法 Active CN112307425B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011215406.3A CN112307425B (zh) 2020-11-04 2020-11-04 用Sun算法在8位机上实现提高区块链吞吐量的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011215406.3A CN112307425B (zh) 2020-11-04 2020-11-04 用Sun算法在8位机上实现提高区块链吞吐量的方法

Publications (2)

Publication Number Publication Date
CN112307425A CN112307425A (zh) 2021-02-02
CN112307425B true CN112307425B (zh) 2023-06-20

Family

ID=74325549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011215406.3A Active CN112307425B (zh) 2020-11-04 2020-11-04 用Sun算法在8位机上实现提高区块链吞吐量的方法

Country Status (1)

Country Link
CN (1) CN112307425B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9902687D0 (en) * 1999-02-08 1999-03-31 Hewlett Packard Co Cryptographic protocol
CN109949034A (zh) * 2019-03-06 2019-06-28 北京工业大学 基于可信性评估的区块链共识方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10673626B2 (en) * 2018-03-30 2020-06-02 Spyrus, Inc. Threshold secret share authentication proof and secure blockchain voting with hardware security modules
FR3095277B1 (fr) * 2019-04-19 2021-06-04 Thales Sa Registres distribues pour la gestion de donnees meteorologiques en aeronautique

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9902687D0 (en) * 1999-02-08 1999-03-31 Hewlett Packard Co Cryptographic protocol
CN109949034A (zh) * 2019-03-06 2019-06-28 北京工业大学 基于可信性评估的区块链共识方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李少卓 ; 王娜 ; 杜学绘 ; .按需披露的区块链隐私保护机制.网络与信息安全学报.2020,(第03期),全文. *

Also Published As

Publication number Publication date
CN112307425A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN101097511B (zh) 使用折叠的模归约
Gao et al. DPF-ECC: Accelerating elliptic curve cryptography with floating-point computing power of GPUs
CN109903162B (zh) 一种加速区块链MCMC随机选择的ReRAM及其工作方法
Molahosseini et al. A multifunctional unit for designing efficient RNS-based datapaths
CN114297571A (zh) 一种适用于格密码算法的多项式乘法硬件实现系统
Wang et al. Re-tangle: A reram-based processing-in-memory architecture for transaction-based blockchain
Nath et al. Efficient 4-way vectorizations of the Montgomery ladder
Cheng et al. Highly vectorized SIKE for AVX-512
Wang et al. A highly parallelized PIM-based accelerator for transaction-based blockchain in IoT environment
CN116488788A (zh) 全同态加密算法的硬件加速器、同态加密方法及电子设备
Liu et al. ReGNN: a ReRAM-based heterogeneous architecture for general graph neural networks
Dong et al. sDPF-RSA: Utilizing floating-point computing power of GPUs for massive digital signature computations
CN112307425B (zh) 用Sun算法在8位机上实现提高区块链吞吐量的方法
CN109284085B (zh) 一种基于fpga的高速模乘和模幂运算方法及装置
Simka et al. Hardware factorization based on elliptic curve method
Angizi et al. Processing-in-memory acceleration of mac-based applications using residue number system: A comparative study
Pelzl et al. Area–time efficient hardware architecture for factoring integers with the elliptic curve method
CN101986261A (zh) 基为16的高速Montgomery模乘法器VLSI
Timarchi et al. Area-time-power efficient maximally redundant signed-digit modulo 2 n− 1 adder and multiplier
Emeliyanenko A complete modular resultant algorithm targeted for realization on graphics hardware
Sze The two quadrillionth bit of pi is 0! distributed computation of pi with Apache Hadoop
Ramya et al. Implementation of High Speed FFT using Reversible Logic Gates for Wireless DSP Applications
US20230325653A1 (en) Secure Multiparty Deep Learning via Shuffling and Offsetting
US20230325252A1 (en) Non-uniform Splitting of a Tensor in Shuffled Secure Multiparty Computation
US20230325251A1 (en) Partition a Tensor with Varying Granularity Levels in Shuffled Secure Multiparty Computation

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
GR01 Patent grant
GR01 Patent grant