CN111049656A - 一种基于ecdlp的工作量证明方法 - Google Patents
一种基于ecdlp的工作量证明方法 Download PDFInfo
- Publication number
- CN111049656A CN111049656A CN201911246889.0A CN201911246889A CN111049656A CN 111049656 A CN111049656 A CN 111049656A CN 201911246889 A CN201911246889 A CN 201911246889A CN 111049656 A CN111049656 A CN 111049656A
- Authority
- CN
- China
- Prior art keywords
- node
- challenge
- ecdlp
- solution
- block chain
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000013507 mapping Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 3
- 239000002699 waste material Substances 0.000 abstract 1
- 238000005065 mining Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 3
- 241000269319 Squalius cephalus Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- ZPUCINDJVBIVPJ-LJISPDSOSA-N cocaine Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Classifications
-
- 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/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于ECDLP的工作量证明方法,包括多个区块链节点,节点BNu在区块链中发布ECDLP问题和辅助信息,节点BNv产生挑战问题,计算满足所述区块链难度的挑战问题的解,将挑战问题和解发送给其它节点BNw,节点BNw验证挑战问题和解,如果合法则将挑战问题和解作为有效的工作量证明。本发明的主要目的在于促进工作量证明方法的多样性,并促进ECDLP问题的求解,解决背景技术中资源浪费严重的问题。
Description
技术领域
本发明涉及信息安全领域,特别是涉及一种基于ECDLP的工作量证明方法。
背景技术
工作量证明早期是为了防止垃圾邮件和Dos攻击而被提出的,随后比特币采用了基于工作量证明的共识机制,使得比特币在开放、去中心化的条件下,节点之间可以达成共识。比特币作为区块链技术的一个典型代表,其共识算法采用的是工作量证明,系统节点主要是执行哈希算法完成这一项工作。
事实上,许多分布式计算问题或困难问题都可以作为工作量证明的困难问题。在区块链中,每个矿工进行的挖矿操作实质就是一种分布式计算的模式。例如Primecoin采用数论问题设计一个新的工作量证明方案,而Chatterjee则是利用NP完全问题设计了一个新的工作量证明方案。此外,区块链中的挖矿过程所消耗的能源的问题一直受到人们的诟病,因而将分布式计算问题或困难问题引入到挖矿的过程中,可以使得挖矿所消耗的能源变的更有意义。
椭圆曲线密码体制(ECC)的数学基础是利用椭圆曲线上的点构成的可交换加法群。ECC 的安全性依赖于椭圆曲线上的离散对数问题(ECDLP)的安全性。目前ECDLP求解算法中,大家公认的最有效的算法是基于生日悖论的Pollard rho算法,其实质是在群元素中寻找匹配或者碰撞,希望能从这种碰撞中得到碰撞点之间的联系进而来求解ECDLP。后来的密码学家在此基础上提出了各种对Pollard rho算法的改进和优化方案。
基于以上背景技术,本发明通过结合一种改进的Pollard rho算法,提出一种基于ECDLP 的工作量证明方法。
发明内容
本发明提出了一种基于ECDLP的工作量证明方法,该方法主要包含系统初始化模块、系统节点产生挑战模块、系统节点解决挑战模块和系统节点验证挑战是否被正确解决模块。其中系统初始化模块初始化后的所有结果将参与后续的系统节点产生挑战模块、系统节点解决挑战模块和系统节点验证挑战是否被正确解决模块的计算过程中。区块链系统节点挖矿的过程中需要执行系统节点产生挑战模块和系统节点解决挑战模块。区块链系统节点根据挑战计算满足当前区块链系统难度的挑战的解,然后将解打包到新区块中,最后发布到全网。区块链系统节点在验证新区块是否合法时需要执行系统节点验证挑战是否被正确解决模块。区块链系统节点根据新区块发布的挑战的解验证新区块是否合法,若合法则接受该新区块,否则拒绝接受。
本发明的主要目的在于在区块链系统下,促进工作量证明方法的多样性,同时使得挖矿所消耗的能源变得更有意义。
为实现上述目的,本发明提供一种基于ECDLP的工作量证明方法,包括区块链节点BN1,…,BNnn,其中nn为任意自然数,包括以下步骤:
A)节点BNu,1≤u≤nn,在区块链中发布ECDLP问题和辅助信息aux;
B)节点BNv产生挑战问题,计算满足所述区块链难度的挑战问题的解,将挑战问题和解发送给其它节点BNw,1≤v≤nn,1≤w≤nn,v≠w;
C)节点BNw验证挑战问题和解,如果合法则将挑战问题和解作为有效的工作量证明。所述步骤A)具体包括:
A1)节点BNu选定一个ECDLP问题(P,Q),其中P和Q为椭圆曲线上的两个点,且P的阶为素数n,同时它们满足Q=kP,0≤k<n;
A2)节点BNu随机选取整数mi∈{0,1,…,n-1}和整数ni∈{0,1,…,n-1},计算椭圆曲线点 Mi=miP+niQ,i=1,...,30;
A3)节点BNu计算并存储每个Mi的快速标量乘查找表;
A4)节点BNu设置aux=Mi,i=1,…,30,并把ECDLP问题(P,Q)和辅助信息aux发布在所述区块链中。
所述步骤B)包括:
B1)节点BNv读取所述区块链最新区块的区块头部哈希值h,所述最新区块是该区块链最头部的一个区块,其区块高度最大;
B2)节点BNv选择一个随机数nonce,范围大于等于0且小于n;
B3)节点BNv计算哈希值并映射为数对(a0,b0)=Hash(h||nonce),其中Hash为哈希函数, (a0,b0)的范围大于等于0且小于n;
B4)节点BNv产生挑战问题Y0=a0P+b0Q;
B5)节点BNv设置计数器c=0;
B6)节点BNv设置整数s1=s2=…s30=0;
B7)节点BNv检测步骤B4)中的Y0是否满足当前区块链难度,若不满足则进入步骤B8),若满足则进入步骤B10);
B9)节点BNv检测Yc+1是否满足当前区块链难度,若不满足则返回步骤B8),否则进入步骤B10);
B10)节点BNv将挑战问题Y0和解(s1,s2,...,s30)做为有效的工作量证明发送给其它节点 BNw。
所述步骤C)具体包括:
C1)节点BNw接收到挑战问题Y0和解(s1,s2,...,s30);
C2)如果节点BNw没有存储快速标量乘查找表,就使用区块链中的辅助信息aux计算并存储快速标量乘查找表;
C3)节点BNw用快速标量乘查找表计算椭圆曲线点Y′=Y0+s1M1+s2M2+…+s30M30;
C4)节点BNw验证Y′是否满足当前区块链难度,若满足,则解合法,否则验证失败;
C5)如果解合法,就把该挑战问题和解作为有效的工作量证明。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述。显然,以下所描述的实施例仅仅是本发明一部分实施例。基于本发明中的实施例,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
本发明提出了一种基于ECDLP的工作量证明方法,该方法主要包含系统初始化模块、系统节点产生挑战模块、系统节点解决挑战模块和系统节点验证挑战是否被正确解决模块。区块链系统采用本发明方法作为共识机制之前需要先执行本发明的系统初始化模块,系统初始化后的所有结果将作为参数部署到整个区块链系统当中;系统节点产生挑战模块和系统节点解决挑战模块在矿工挖矿的过程中被执行,而系统节点验证挑战是否被正确解决模块则是区块链节点在验证新区块是否合法时被执行。本发明的主要目的在于在区块链系统下,促进工作量证明方法的多样性,同时使得挖矿所消耗的能源变得更有意义。
实施例一
实体Alice可以使用本工作量证明方法构造一条区块链。实体Alice维护区块链节点BN1, 在区块链的创世块中发布ECDLP问题和辅助信息aux;具体来看BN1执行以下步骤:
A1)选定一个ECDLP问题(P,Q),其中P和Q为椭圆曲线上的两个点,且P的阶为素数n,同时它们满足Q=kP,0≤k<n;
A2)随机选取整数mi∈{0,1,…,n-1}和整数ni∈{0,1,…,n-1},计算椭圆曲线点Mi=miP+niQ,i=1,...,30;
A3)计算并存储每个Mi的快速标量乘查找表;
A4)设置aux=Mi,i=1,…,30,并把ECDLP问题(P,Q)和辅助信息aux发布在所述区块链中,具体存放在区块链的创世块中。
实体Alice通过宣传自己的区块链,吸引其它区块链参与者共同来维护这个包含了 ECDLP问题(P,Q)和辅助信息aux的区块链。设区块链参与则Bob维护一个区块链节点BN2,产生挑战问题,计算满足所述区块链难度的挑战问题的解,将挑战问题和解发送给其它节点 BNw,w≠2,具体来看,BN2执行以下步骤:
B1)更新本地区块链,获取最新区块的区块头部哈希值h;
B2)选择一个随机数nince,范围大于等于0且小于n;
B3)计算哈希值并映射为数对(a0,b0)=Hash(h||nonce),其中Hash为哈希函数,(a0,b0)的范围大于等于0且小于n;
B4)产生挑战问题Y0=a0P+b0Q;
B5)设置计数器c=0;
B6)设置整数s1=s2=…s30=0;
B7)检测步骤B4)中的Y0是否满足当前区块链难度,若不满足则进入步骤B8),若满足则进入步骤B10);
B9)检测Yc+1是否满足当前区块链难度,若不满足则返回步骤B8),否则进入步骤B10);
B10)将挑战问题Y0和解(s1,s2,...,s30)做为有效的工作量证明,放在新区块的区块头部,并发布新区块。
设区块链参与则Charlie维护一个区块链节点BN3。BN3在自己生成有效工作量证明的同时,也接收新区块,维护区块链。对于接收的新区块,BN3验证区块头部中的挑战问题和解,如果合法则将挑战问题和解作为有效的工作量证明,接受新区块为所述区块链的最新区块,更新本地区块链。具体来看,BN3的验证过程包括以下步骤:
C1)从接收到的区块头部中提取挑战问题Y0和解(s1,s2,...,s30);
C2)如果节点BN3没有存储快速标量乘查找表,就使用区块链创世块中的辅助信息aux 计算并存储快速标量乘查找表;
C3)用快速标量乘查找表计算椭圆曲线点Y′=Y0+s1M1+s2M2+…+s30M30;
C4)验证Y′是否满足当前区块链难度,若满足,则解合法,否则验证失败;
C5)解合法,就把该挑战问题和解作为有效的工作量证明,接受新区块。
实施例二
实施例二与实施例一基本相同,不同之处在于ECDLP问题和辅助信息aux不是在创世块中发布的,而是通过交易,以数据的形式存储在区块链中,此时任意区块链节点生成的挑战问题和解包含指向该交易的索引。
实施例三
实施例三与实施例二基本相同,不同之处在于区块链节点生成的挑战问题和解被用来获得令牌等奖励,而不是用于构造新区块,此时挑战问题和解通过交易,以数据的形式存储在区块链中。
Claims (4)
1.一种基于ECDLP的工作量证明方法,包括区块链节点BN1,…,BNnn,其中nn为任意自然数,其特征在于包括以下步骤:
A)节点BNu,1≤u≤nn,在区块链中发布ECDLP问题和辅助信息aux;
B)节点BNv产生挑战问题,计算满足所述区块链难度的挑战问题的解,将挑战问题和解发送给其它节点BNw,1≤v≤nn,1≤w≤nn,v≠w;
C)节点BNw验证挑战问题和解,如果合法则将挑战问题和解作为有效的工作量证明。
2.根据权利要求1所述的一种基于ECDLP的工作量证明方法,其特征在于所述步骤A)具体包括:
A1)节点BNu选定一个ECDLP问题(P,Q),其中P和Q为椭圆曲线上的两个点,且P的阶为素数n,同时它们满足Q=kP,0≤k<n;
A2)节点BNu随机选取整数mi∈{0,1,...,n-1}和整数ni∈{0,1,...,n-1},计算椭圆曲线点Mi=miP+niQ,i=1,...,30;
A3)节点BNu计算并存储每个Mi的快速标量乘查找表;
A4)节点BNu设置aux=Mi,i=1,...,30,并把ECDLP问题(P,Q)和辅助信息aux发布在所述区块链中。
3.根据权利要求2所述的一种基于ECDLP的工作量证明方法,其特征在于所述步骤B)包括:
B1)节点BNv读取所述区块链最新区块的区块头部哈希值h;
B2)节点BNv选择一个随机数nonce,范围大于等于0且小于n;
B3)节点BNv计算哈希值并映射为数对(a0,b0)=Hash(h||nonce),其中Hash为哈希函数,(a0,b0)的范围大于等于0且小于n;
B4)节点BNv产生挑战问题Y0=a0P+b0Q;
B5)节点BNv设置计数器c=0;
B6)节点BNv设置整数s1=s2=…=s30=0;
B7)节点BNv检测步骤B4)中的Y0是否满足当前区块链难度,若不满足则进入步骤B8),若满足则进入步骤B10);
B9)节点BNv检测Yc+1是否满足当前区块链难度,若不满足则返回步骤B8),否则进入步骤R10);
R10)节点BNv将挑战问题Y0和解(s1,s2,...,s30)做为有效的工作量证明发送给其它节点BNw。
4.根据权利要求3所述的一种基于ECDLP的工作量证明方法,其特征在于所述步骤C)具体包括:
C1)节点BNw接收到挑战问题Y0和解(s1,s2,...,s30);
C2)如果节点BNw没有存储快速标量乘查找表,就使用区块链中的辅助信息aux计算并存储快速标量乘查找表;
C3)节点BNw用快速标量乘查找表计算椭圆曲线点Y′=Y0+s1M1+s2M2+…+s30M30;
C4)节点BNw验证Y′是否满足当前区块链难度,若满足,则解合法,否则验证失败;
C5)如果解合法,就把该挑战问题和解作为有效的工作量证明。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911246889.0A CN111049656B (zh) | 2019-12-09 | 2019-12-09 | 一种基于ecdlp的工作量证明方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911246889.0A CN111049656B (zh) | 2019-12-09 | 2019-12-09 | 一种基于ecdlp的工作量证明方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111049656A true CN111049656A (zh) | 2020-04-21 |
CN111049656B CN111049656B (zh) | 2021-05-14 |
Family
ID=70233718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911246889.0A Active CN111049656B (zh) | 2019-12-09 | 2019-12-09 | 一种基于ecdlp的工作量证明方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111049656B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020953A1 (en) * | 2015-08-05 | 2017-02-09 | Nec Europe Ltd. | Method and system for providing a proof-of-work |
CN107222303A (zh) * | 2017-05-11 | 2017-09-29 | 暨南大学 | 基于区块链和云平台的数字版权追溯系统建设方法 |
CN108681583A (zh) * | 2018-05-11 | 2018-10-19 | 北京奇虎科技有限公司 | 基于区块链的数据持有证明方法、装置及可读存储介质 |
CN110149213A (zh) * | 2019-06-05 | 2019-08-20 | 北京航空航天大学 | 一种基于异构哈希函数的工作量证明方法及系统 |
-
2019
- 2019-12-09 CN CN201911246889.0A patent/CN111049656B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020953A1 (en) * | 2015-08-05 | 2017-02-09 | Nec Europe Ltd. | Method and system for providing a proof-of-work |
CN107222303A (zh) * | 2017-05-11 | 2017-09-29 | 暨南大学 | 基于区块链和云平台的数字版权追溯系统建设方法 |
CN108681583A (zh) * | 2018-05-11 | 2018-10-19 | 北京奇虎科技有限公司 | 基于区块链的数据持有证明方法、装置及可读存储介质 |
CN110149213A (zh) * | 2019-06-05 | 2019-08-20 | 北京航空航天大学 | 一种基于异构哈希函数的工作量证明方法及系统 |
Non-Patent Citations (3)
Title |
---|
KEN IKUTA: "《A Study on the Parameter of the Distinguished》", 《IEEE》 * |
刘肖飞: "《基于动态授权的拜占庭容错共识算法的区块链性能改进研究》", 《中国优秀硕士学位论文全文数据库》 * |
汪朝晖、张振峰: "《SM2椭圆曲线公钥密码算法综述》", 《信息安全研究》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111049656B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12047510B2 (en) | Quantumproof blockchain | |
US11271717B2 (en) | Blockchain consensus methods and systems | |
EP3646563B1 (en) | Method, system, and computer program product for determining solvency of a digital asset exchange | |
Xiong et al. | Efficient and provably secure certificateless parallel key-insulated signature without pairing for IIoT environments | |
CN110089069B (zh) | 用于信息保护的系统和方法 | |
CN111566988B (zh) | 跨越以无信任或无交易员方式操作的群组执行计算任务的计算机实现的系统和方法 | |
Kaliski Jr | An unknown key-share attack on the MQV key agreement protocol | |
EP3669521A1 (en) | Method and system for publicly verifiable proofs of retrievability in blockchains | |
JP2020507222A (ja) | 情報保護のためのシステム及び方法 | |
CN111066285A (zh) | 基于sm2签名恢复公钥的方法 | |
Chien | Group authentication with multiple trials and multiple authentications | |
CN111010285B (zh) | 一种适用于轻量级客户端的sm2两方协同签名方法及介质 | |
CN103220146B (zh) | 基于多变量公钥密码体制的零知识数字签名方法 | |
CN112541821A (zh) | 一种具有动态信任的委托权益证明共识算法 | |
Hamouid et al. | Efficient certificateless web-of-trust model for public-key authentication in MANET | |
Islam et al. | Provably secure and pairing-based strong designated verifier signature scheme with message recovery | |
CN111049656B (zh) | 一种基于ecdlp的工作量证明方法 | |
Wang et al. | An improved digital signature algorithm and authentication protocols in cloud platform | |
CN116707766A (zh) | 一种基于哈希的抗量子攻击数字签名方法 | |
Hastings et al. | Short Paper: The Proof is in the Pudding: Proofs of Work for Solving Discrete Logarithms | |
Hastings et al. | The proof is in the pudding: Proofs of work for solving discrete logarithms | |
Joshi et al. | ATSSIA: Asynchronous truly-threshold Schnorr signing for inconsistent availability | |
JP2020061696A (ja) | ブロックチェーン管理システム、ブロックチェーン管理方法及びブロックチェーン管理プログラム | |
Zhang et al. | A certificateless ring signature scheme with high efficiency in the random oracle model | |
RU2392736C1 (ru) | Способ генерации и проверки подлинности электронной цифровой подписи, заверяющей электронный документ |
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 |