CN112307425B - 用Sun算法在8位机上实现提高区块链吞吐量的方法 - Google Patents
用Sun算法在8位机上实现提高区块链吞吐量的方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/57—Arithmetic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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位机上的实现提高区块链吞吐量的方法。
背景技术
在区块链共识协议中,领导者选举(leader election)被用于决定每一轮的出块权和出块奖励归属,一度以工作量证明(PoW)方案进行。由于PoW方案需要消耗大量的计算资源并带来环境污染,领导者选举正由PoW方案向空间证明(PoSpace)与可验证延迟函数(VDF)相结合的新方案过渡。使用新方案的区块链节能环保,然而其吞吐量严重依赖于VDF的效率。为此,加快VDF的计算速度是提高新方案区块链吞吐能力的关键。
VDF是一种计算过程无法并行,计算结果可以快速公开验证的数学函数。目前应用最为广泛的VDF基于模指数运算:其中,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(·)计算分别得到每个空间证明对应的哈希值;
步骤301、预处理,包括以下步骤:
步骤3011、生成B个取值范围在[1,2L-1]的两两互质的基底m1,…,mB,其中,B、L均为预先设定的经验常数;
步骤3012、计算n×n的矩阵A,矩阵A中第i行第j列的元素Ai,j表示为:
步骤3013、计算1×n的矩阵v,矩阵v中第i列元素vi表示为:
式中,k为预先设定的经验常数;
步骤302、计算输入a对于各个基底的余数,其中,输入a对于第i个基底mi的余数表示为ri,则有:ri=a mod mi,i=1,…,B;
步骤304、使用步骤3012得到的矩阵A以及步骤3013得到的矩阵v对步骤303得到的对应的中间值进行约减,得到结果值,其中,由3012得到的矩阵A及步骤3013得到的矩阵v对中间值ri′进行约减,得到结果值ri″;
步骤4、最快完成VDF运算并通过其他矿工验证的矿工被认定为领导者,获得出块权和出块奖励;
在上述步骤中,基底m1,…,mB、矩阵A中第i行第j列的元素Ai,j、P、M、矩阵v中第i列元素vi、输入a、余数ri、余数ri对应的中间值ri′、结果值ri″均为大整数,将大整数按8比特进行分块存储,各块分配不同权重,每个大整数的运算改写成对于各个存储分块的加权运算。
优选地,步骤303中,所述中间值ri′可以通过中国剩余定理逆映射恢复为a2。
本发明对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);
a=24962743716270738850186870770798503430604591768649693001283926742978142193860945524304429420328155167733028701034847109744357858415823132338821016070636455618065993004466314450481968612260164627324337446836017723156221439790409391707069546229498241009556601092654688207807998484102145096806930319241706970718558814736957561793909420559497233266770464097556488374311702859483198091589116755867278611649931899448024409614927449975145818120814231602614179674907580445266028116909580604787723308358054356915130289185207403498227745670918763650634622634022823461803235879111193218846795663771228812038161174756075561046023;
M=27753518966756833043310696658680489011063642864067473991324150898386466958471768596164596493433277993392527742250625431044493065910052020199538067630453415235559298916231325819462445717277295524847868588751980799634715333666195052388189052062280926439638833711206164705291841660581623493606991585908254321280667487377443515229326260998427734322647085082804753009205406425944676994048399934815311525895043560986701162730869838266387447976468713239075912661738304981310188255059572154024529437810282388575978080680135343845379552565264224050689423622788304232123385662662599376345478981783857431670519061413837777695409。
步骤301、预处理,包括以下步骤:
步骤3011、生成B个取值范围在[1,2L-1]的两两互质的基底m1,…,mB,其中,B、L均为预先设定的经验常数;
步骤3012、计算B×B的矩阵A,矩阵A中第i行第j列的元素Ai,j表示为:
步骤3013、计算1×B的矩阵v,矩阵v中第i列元素vi表示为:
式中,k为预先设定的经验常数;
步骤302、计算输入a对于各个基底的余数,其中,输入a对于第i个基底mi的余数表示为ri,则有:ri=a mod mi,i=1,…,B;
步骤304、使用步骤3012得到的矩阵A以及步骤3013得到的矩阵v对步骤303得到的对应的中间值进行约减,具体过程可以参见图3,得到结果值,其中,由3012得到的矩阵A及步骤3013得到的矩阵v对中间值ri′进行约减,得到结果值ri″,表示为:
步骤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(·)计算分别得到每个空间证明对应的哈希值;
步骤301、预处理,包括以下步骤:
步骤3011、生成B个取值范围在[1,2L-1]的两两互质的基底m1,...,mB,其中,B、L均为预先设定的经验常数;
步骤3012、计算n×n的矩阵A,矩阵A中第i行第j列的元素Ai,j表示为:
步骤3013、计算1×n的矩阵v,矩阵v中第i列元素vi表示为:
式中,k为预先设定的经验常数;
步骤302、计算输入a对于各个基底的余数,其中,输入a对于第i个基底mi的余数表示为ri,则有:ri=a mod mi,i=1,...,B;
步骤304、使用步骤3012得到的矩阵A以及步骤3013得到的矩阵v对步骤303得到的对应的中间值进行约减,得到结果值,其中,由3012得到的矩阵A及步骤3013得到的矩阵v对中间值ri′进行约减,得到结果值ri″;
步骤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。
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)
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)
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 |
-
2020
- 2020-11-04 CN CN202011215406.3A patent/CN112307425B/zh active Active
Patent Citations (2)
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)
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 |