CN109104286B - 一种基于门限数字签名的共识的新区块生成方法 - Google Patents
一种基于门限数字签名的共识的新区块生成方法 Download PDFInfo
- Publication number
- CN109104286B CN109104286B CN201810835950.4A CN201810835950A CN109104286B CN 109104286 B CN109104286 B CN 109104286B CN 201810835950 A CN201810835950 A CN 201810835950A CN 109104286 B CN109104286 B CN 109104286B
- Authority
- CN
- China
- Prior art keywords
- block
- signature
- candidate
- new block
- consensus
- 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
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/3247—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 involving digital signatures
- H04L9/3255—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 involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
技术领域
本发明涉及支付体系结构、方案或协议的技术领域,特别涉及一种减少新区块产生和确认的时间且有效避免区块生成候选人失效而带来的风险的基于门限数字签名的共识的新区块生成方法。
背景技术
区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
随着区块链技术的发展,一些基于区块链的应用越来越多,而区块链中的交易确认速度及吞吐量一直为人诟病。
现有技术中,区块链技术中具有较高吞吐量和较短确认速度的共识机制主要有中心节点模式和委员会模式,然而,这些模式都存在单点失败或者多轮通信的弊端。
发明内容
本发明解决的技术问题是,现有技术中,区块链技术的共识机制中,不管是中心节点模式还是委员会模式都存在单点失败或者多轮通信的弊端,本发明提供了一种优化的基于门限数字签名的共识的新区块生成方法,利用具有门限数字的签名共识机制技术克服单点失败及多轮通信的弊端。
本发明所采用的技术方案是,一种基于门限数字签名的共识的新区块生成方法,所述方法包括以下步骤:
步骤1:在共识节点网络中,选择n个区块生成候选人;
步骤2:区块生成候选人执行门限数字t的签名密钥算法,对候选人参数进行初始化,任一区块生成候选人获得候选人公钥pk、对应的共享私钥ski以及验证数据vk;
步骤3:交易数据产生,发送到每个区块生成候选人,任一区块生成候选人验证交易有效性,若有效,则将交易数据置入交易缓冲区,进行下一步,否则,丢弃交易,返回步骤3;
步骤4:判断区块生成条件是否满足,若是,按交易数据的哈希值对交易缓冲区中的交易进行排序,并且计算对应的Merkle根R,否则,进行步骤4;
步骤6:任一区块生成候选人收到其余区块生成候选人传送的σi及,利用vk验证σi是否为的有效签名,若是,则保留,当收到与门限数字值t一致的有效σi且都一致时,可以执行门限签名合成算法,生成最终签名σ,生成新区块;否则,丢弃所述σi及;
步骤7:广播当前新区块。
优选地,所述步骤2中,密钥算法为有分发者模式或无分发者模式。
优选地,所述步骤2中,公钥和对应的私钥为RSA的公钥和对应的私钥。
优选地,所述步骤4中,满足区块生成条件包括候选人具有对交易数据进行数字签名的资格。
优选地,所述步骤6中,新区块包括区块头和区块体,区块头包括区块头哈希值hi、当前区块高度height、当前Merkle根R和最终签名σ,区块体为区块包含的交易数据。
本发明提供了一种优化的基于门限数字签名的共识的新区块生成方法,区块生成候选人执行门限数字t的签名密钥算法,任一区块生成候选人获得候选人公钥pk、对应的共享私钥ski以及验证数据vk,当交易数据发送到每个区块生成候选人,任一区块生成候选人验证交易有效则将交易数据置入交易缓冲区,当区块生成条件满足,按交易数据的哈希值对交易缓冲区中的交易进行排序,并且计算对应的Merkle根R,利用对应的ski进行门限数字签名,得到签名内容的哈希值,生成σi,广播σi及;任一区块生成候选人收到其余区块生成候选人传送的σi及后,利用v验证σi,σi为的有效签名则保留,当收到与门限数字值t一致的有效σi且都一致时,可以执行门限签名合成算法,生成最终签名σ,生成新区块并广播。
本发明运用基于门限数字的签名技术,在一群区块生成候选人中达成对新生区块的共识,从而保证区块链的正常运行,只要有t个区块生成候选人执行共识算法,新生区块就能马上获得确认,减少新区块产生和确认的时间,避免由于某个或若干个区块生成候选人失效所带来的风险,无单点失败问题,只要还有t个以上的候选人运行正常,新的区块总能产生,一轮候选人之间的通信便可达成新区块的共识。
具体实施方式
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。该示例中所用到的具体门限数字签名方案取自于密码学家Victor Shoup发表在EUROCRYPT 2000会议的《Practical Threshold Signatures》论文中。
本发明涉及一种基于门限数字签名的共识的新区块生成方法,一共预设n个区块生成候选人,当新区块出现,每个区块生成候选人都对这个新区块进行认证以及部分签名操作并广播到这n个区块生成候选人里的其他人,其他每个区块生成候选人接收到其他人发来的部分签名后,进行验证,当针对同一个区块的有效部分签名达到t个时,合成最终的新区块。
所述方法包括以下步骤。
步骤1:在共识节点网络中,选择n个区块生成候选人。
步骤2:区块生成候选人执行门限数字t的签名密钥算法,对候选人参数进行初始化,任一区块生成候选人获得候选人公钥pk、对应的共享私钥ski以及验证数据vk。
所述步骤2中,密钥算法为有分发者模式或无分发者模式。
所述步骤2中,公钥和对应的私钥为RSA的公钥和对应的共享私钥。
本发明中,共享私钥即secret share,指一个整体的私钥被分割成了n份(其中有重复的部分),每人分得一份。
本发明中,举例来说,当密钥算法为有分发者模式时,算法如下。
步骤2.1:生成区块生成候选人的公钥pk=(n,e)及对应的共享私钥ski=(n,d),其中,n=p·q,p=2p'+1,q=2q'+1,p、q、p'和q'都是大素数。
步骤2.4:系统生成随机数r,满足r<n,计算v=r2 modn。
步骤2.5:令区块生成候选人的个数为L,对每个服务器从1到L进行编号。
步骤2.7:发送n、v、u、{vi}和si给区块生成候选人i,销毁d、f(x)和{si};区块生成候选人的公钥pk=(n,e,u),对应的共享私钥ski=si,验证数据vk=(v,{vi})。
本发明中,步骤2.7完成后,区块生成候选人除了获得公钥、共享私钥和验证数据外,系统里还存在部分功能性的哈希函数。
本发明中,步骤2主要进行了候选人参数的初始化。
步骤3:交易数据产生,发送到每个区块生成候选人,任一区块生成候选人验证交易有效性,若有效,则将交易数据置入交易缓冲区,进行下一步,否则,丢弃交易,返回步骤3。
本发明中,步骤3表示对新生成的交易是否有效进行判断,基于有效的前提才有需要生成新的区块,一个区块中包含了很多交易数据,一条交易数据的产生并不能说明新区块将要产生。
本发明中,步骤3的有效性是指交易数据自身的有效性验证过程,一般来说,是对其中的数字签名进行验证。
步骤4:判断区块生成条件是否满足,若是,按交易数据的哈希值对交易缓冲区中的交易进行排序,并且计算对应的Merkle根R,否则,进行步骤4。
所述步骤4中,满足区块生成条件包括候选人具有对交易数据进行数字签名的资格。
本发明中,步骤4中区块生成条件指的是候选人可以对这些交易数据(打包成区块)进行数字签名,但是该区块是否被加入到区块链中还要看其他候选人是否也对相同的区块进行数字签名,如前文所述,需要有t个候选人都对相同的区块都进行了签名,这个新区块才最终生成。
本发明中,步骤4的排序从大到小或从小到大都可以,只要每个候选执行相同的操作即可。
步骤6:任一区块生成候选人收到其余区块生成候选人传送的σi及利用vk验证σi是否为的有效签名,若是,则保留,当收到与门限数字值t一致的有效σi且都一致时,可以执行门限签名合成算法,生成最终签名σ,生成新区块;否则,丢弃所述σi及
所述步骤6中,新区块包括区块头和区块体,区块头包括区块头哈希值hi、当前区块高度height、当前Merkle根R和最终签名σ,区块体为区块包含的交易数据。
本发明中,步骤6主要用于对于每个区块生成候选人计算得到的哈希值和签名σi进行交互验证,当验证到门限数字t个有效的签名σi后且都一致时,即成为新区块的生成必要条件。本发明中,门限签名合成算法是门限数字签名算法里的一个子算法。一个门限数字签名算法里面包含系统公私钥对产生(密钥)算法、候选人秘密和验证参数产生算法、候选人签名(门限数字签名产生)算法、最终签名合成(门限签名合成算法)、签名验证算法,其中,门限签名合成算法是本领域常规技术特征,本领域技术人员可以依据需求进行执行操作。
本发明中,举例来说,步骤6中生成最终签名σ包括以下步骤。
步骤6.9:新区块为block与σ的组合。
步骤7:广播当前新区块。
本发明通过区块生成候选人执行门限数字t的签名密钥算法,任一区块生成候选人获得候选人公钥pk、对应的共享私钥ski以及验证数据vk,当交易数据发送到每个区块生成候选人,任一区块生成候选人验证交易有效则将交易数据置入交易缓冲区,当区块生成条件满足,按交易数据的哈希值对交易缓冲区中的交易进行排序,并且计算对应的Merkle根R,利用对应的ski进行门限数字签名,得到签名内容的哈希值生成σi,广播σi及任一区块生成候选人收到其余区块生成候选人传送的σi及后,利用vk验证σi,σi为的有效签名则保留,当收到与门限数字值t一致的有效σi且都一致时,可以执行门限签名合成算法,生成最终签名σ,生成新区块并广播。
本发明运用基于门限数字的签名技术,在一群区块生成候选人中达成对新生区块的共识,从而保证区块链的正常运行,只要有t个区块生成候选人执行共识算法,新生区块就能马上获得确认,减少新区块产生和确认的时间,避免由于某个或若干个区块生成候选人失效所带来的风险,无单点失败问题,只要还有t个以上的候选人运行正常,新的区块总能产生,一轮候选人之间的通信便可达成新区块的共识。
Claims (6)
1.一种基于门限数字签名的共识的新区块生成方法,其特征在于:所述方法包括以下步骤:
步骤1:在共识节点网络中,选择n个区块生成候选人;
步骤2:区块生成候选人执行门限数字t的签名密钥算法,对候选人参数进行初始化,任一区块生成候选人获得候选人公钥pk、对应的共享私钥ski以及验证数据vk;
步骤3:交易数据产生,发送到每个区块生成候选人,任一区块生成候选人验证交易有效性,若有效,则将交易数据置入交易缓冲区,进行下一步,否则,丢弃交易,返回步骤3;
步骤4:判断区块生成条件是否满足,若有t个候选人都对相同的区块都进行了签名,区块生成条件满足,按交易数据的哈希值对交易缓冲区中的交易进行排序,并且计算对应的Merkle根R,否则,进行步骤4;
步骤5:任一区块生成候选人利用对应的ski进行门限数字签名,得到哈希值生成签名σi;广播σi及哈希值包括前一个区块的区块头哈希值hi、当前区块高度height以及当前Merkle根R这三个数据的哈希值
步骤6:任一区块生成候选人收到其余区块生成候选人传送的σi及利用vk验证σi是否为的有效签名,若是,则保留,当收到与门限数字值t一致的有效σi且都一致时,可以执行门限签名合成算法,生成最终签名σ,生成新区块;否则,丢弃所述σi及
步骤7:广播当前新区块。
2.根据权利要求1所述的一种基于门限数字签名的共识的新区块生成方法,其特征在于:所述步骤2中,密钥算法为有分发者模式或无分发者模式。
3.根据权利要求1所述的一种基于门限数字签名的共识的新区块生成方法,其特征在于:所述步骤2中,公钥和对应的共享私钥为RSA的公钥和对应的共享私钥。
4.根据权利要求1所述的一种基于门限数字签名的共识的新区块生成方法,其特征在于:所述步骤4中,满足区块生成条件包括候选人具有对交易数据进行数字签名的资格。
5.根据权利要求1所述的一种基于门限数字签名的共识的新区块生成方法,其特征在于:所述步骤6中,新区块包括区块头和区块体,区块头包括区块头哈希值hi、当前区块高度height、当前Merkle根R和最终签名σ,区块体为区块包含的交易数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810835950.4A CN109104286B (zh) | 2018-07-26 | 2018-07-26 | 一种基于门限数字签名的共识的新区块生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810835950.4A CN109104286B (zh) | 2018-07-26 | 2018-07-26 | 一种基于门限数字签名的共识的新区块生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109104286A CN109104286A (zh) | 2018-12-28 |
CN109104286B true CN109104286B (zh) | 2021-08-17 |
Family
ID=64847758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810835950.4A Active CN109104286B (zh) | 2018-07-26 | 2018-07-26 | 一种基于门限数字签名的共识的新区块生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109104286B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109687979A (zh) * | 2019-03-06 | 2019-04-26 | 郑州师范学院 | 一种环签名方法、装置、设备及介质 |
CN110198213B (zh) * | 2019-04-01 | 2020-07-03 | 上海能链众合科技有限公司 | 一种基于秘密共享随机数共识算法的系统 |
CN110246038A (zh) * | 2019-04-26 | 2019-09-17 | 众安信息技术服务有限公司 | 一种区块链交易快速确认方法及系统 |
WO2019137566A2 (en) * | 2019-04-29 | 2019-07-18 | Alibaba Group Holding Limited | Methods and devices for validating transaction in blockchain system |
CN110708163B (zh) * | 2019-09-10 | 2022-08-02 | 杭州秘猿科技有限公司 | 一种区块链的共识方法、装置、系统和电子设备 |
CN110993044B (zh) * | 2019-11-28 | 2023-03-28 | 周口师范学院 | 一种医疗联盟链轻量级动态自主跨链交互方法 |
CN111031076B (zh) * | 2020-03-06 | 2020-07-10 | 南京畅洋科技有限公司 | 一种基于定时机制的物联网区块链共识方法 |
CN111541551B (zh) * | 2020-05-22 | 2023-04-18 | 杭州时戳信息科技有限公司 | 门限签名消息的处理方法、系统、存储介质及服务器 |
CN112529707B (zh) * | 2020-12-15 | 2022-12-13 | 从法信息科技有限公司 | 基于实例选举共识的交易上链防错方法、装置和电子设备 |
CN112799636B (zh) * | 2021-04-14 | 2021-08-27 | 北京百度网讯科技有限公司 | 随机数生成方法、装置、设备和存储介质 |
CN114710514A (zh) * | 2022-05-06 | 2022-07-05 | 深圳职业技术学院 | 一种基于后量子门限签名的区块链共识系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017122187A2 (fr) * | 2016-01-15 | 2017-07-20 | Enrico Maim | Procédés et systèmes mis en œuvre dans une architecture en réseau de nœuds susceptibles de réaliser des transactions basées sur messages |
WO2017145017A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Methods and systems for the efficient transfer of entities on a blockchain |
WO2017145020A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain |
CN107833135A (zh) * | 2017-10-30 | 2018-03-23 | 中山大学 | 一种基于区块链的公平电子投票协议 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107533501A (zh) * | 2015-03-20 | 2018-01-02 | 里维茨公司 | 使用区块链自动认证设备完整性 |
US10812274B2 (en) * | 2015-05-07 | 2020-10-20 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
-
2018
- 2018-07-26 CN CN201810835950.4A patent/CN109104286B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017122187A2 (fr) * | 2016-01-15 | 2017-07-20 | Enrico Maim | Procédés et systèmes mis en œuvre dans une architecture en réseau de nœuds susceptibles de réaliser des transactions basées sur messages |
WO2017145017A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Methods and systems for the efficient transfer of entities on a blockchain |
WO2017145020A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain |
CN107833135A (zh) * | 2017-10-30 | 2018-03-23 | 中山大学 | 一种基于区块链的公平电子投票协议 |
Non-Patent Citations (1)
Title |
---|
A Simpler Bitcoin Voting Protocol;Haibo Tian;《International Conference on Information Security and Cryptology Inscrypt 2017: Information Security and Cryptology》;20180204;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109104286A (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109104286B (zh) | 一种基于门限数字签名的共识的新区块生成方法 | |
CN109377360B (zh) | 基于加权门限签名算法的区块链资产交易转账方法 | |
CN110198213B (zh) | 一种基于秘密共享随机数共识算法的系统 | |
Ateniese et al. | Identity-based chameleon hash and applications | |
CN107948143B (zh) | 一种云存储中基于身份的隐私保护完整性检测方法和系统 | |
CN111143885B (zh) | 区块链交易处理方法及装置和区块链节点 | |
CN111211910B (zh) | 基于秘密共享公钥池的抗量子计算ca及证书颁发系统及其颁发和验证方法 | |
CN110086599B (zh) | 基于同态变色龙哈希函数的哈希计算方法及签密方法 | |
CN109905247B (zh) | 基于区块链的数字签名方法、装置、设备及存储介质 | |
CN113111373A (zh) | Vbft共识机制的随机数生成方法和共识机制系统 | |
US6826687B1 (en) | Commitments in signatures | |
US5719940A (en) | Method for providing information security by exchanging authentication and signing an electronic signature and apparatus therefor | |
CN112749968B (zh) | 基于区块链的业务数据记录方法及装置 | |
CN111817855A (zh) | 基于以太坊区块链的电子投票方法及系统 | |
CN114463009B (zh) | 一种用于提高大规模能源节点交易安全性的方法 | |
CN113612604A (zh) | 面向异步网络的安全分布式随机数生成方法及装置 | |
JPH08328471A (ja) | 復元型電子署名方法および付加型電子署名方法および認証交換方法 | |
CN113708924A (zh) | 基于区块链的椭圆曲线门限签名方法 | |
CN109766716A (zh) | 一种基于可信计算的匿名双向认证方法 | |
KR20070107569A (ko) | 무선 네트워크에서 키 분배방법 | |
CN117318935A (zh) | 车辆组队用密钥生成方法及系统、车辆组队方法及系统 | |
CN115883099A (zh) | 基于格密码的联盟链多重签名交易方法及装置 | |
JP2003513480A (ja) | エンティティの真正性および/またはメッセージの完全性を証明するための方法 | |
CN109670827A (zh) | 基于对称密钥池的抗量子计算区块链交易方法 | |
CN114124346A (zh) | 一种利用区块链背书机制实现ElGamal多重解密的方法 |
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 |