WO2023045962A1 - 一种抗并行攻击的轻量化区块链*** - Google Patents

一种抗并行攻击的轻量化区块链*** Download PDF

Info

Publication number
WO2023045962A1
WO2023045962A1 PCT/CN2022/120162 CN2022120162W WO2023045962A1 WO 2023045962 A1 WO2023045962 A1 WO 2023045962A1 CN 2022120162 W CN2022120162 W CN 2022120162W WO 2023045962 A1 WO2023045962 A1 WO 2023045962A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
hash value
blockchain
parallel
business
Prior art date
Application number
PCT/CN2022/120162
Other languages
English (en)
French (fr)
Inventor
杨邺
符爱花
Original Assignee
北京岸思信息科技有限公司
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 北京岸思信息科技有限公司 filed Critical 北京岸思信息科技有限公司
Publication of WO2023045962A1 publication Critical patent/WO2023045962A1/zh

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/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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Definitions

  • the invention relates to the technical field of block chains, in particular to a lightweight block chain system resistant to parallel attacks.
  • Blockchain (Blockchain) technology is a non-tamperable data storage technology.
  • Blockchain technology packs the data to be stored into blocks, and then connects each block one by one through a digital summary algorithm to form a chain structure, which is called a blockchain.
  • the blockchain also needs to set a system consensus mechanism to ensure that the blockchain cannot be tampered with.
  • the traditional blockchain technology adopts a distributed accounting model, which has many disadvantages such as large consumption of computing resources, complex consensus mechanism, and high operating costs.
  • the purpose of the present invention is to overcome the defects of the prior art, and propose a lightweight block chain system resistant to parallel attacks.
  • the present invention proposes a lightweight block chain system that is resistant to parallel attacks, and the system includes bookkeepers, supervisors and business servers; wherein,
  • the bookkeeper is used to generate and issue a new business block according to the business data sent by the business server;
  • the supervisor is used to verify the correctness of the newly released business block, accept the block and update the current state of the block chain after the verification is passed; it is also used to supervise the state of the entire block chain;
  • the business server is used to send the business data that needs to be uploaded to the bookkeeper, and is also used to interact with the supervisor to confirm whether the blockchain is in a normal state.
  • the block chain includes the 0th block and the business block incremented from 1 according to the block number.
  • the bookkeeper when the blockchain is established, the bookkeeper generates the bookkeeper public key and the bookkeeper private key according to the agreed digital signature algorithm, wherein the bookkeeper public key is included in the block, the bookkeeper’s private key is kept by the bookkeeper.
  • the business block includes a block header and a payload, wherein,
  • the block header includes the block number, the hash value of the block header of the previous block, the hash value of the load, n random values, n anti-parallel hash values and other extended information, as well as the digital signature generated for the aforementioned information;
  • the payload is the service data sent by the service server.
  • the method for generating the block header specifically includes:
  • n random values As an improvement of the above system, the generation of n random values, and calculation of n anti-parallel Hash values; specifically include:
  • Step 601) Set the first random value as 1, and set the temporary Hash value as anti-parallel default data
  • Step 602) calculate new temporary Hash value by the temporary Hash value according to the agreed algorithm, judge whether the k test bits in the new temporary Hash value that calculates are equal to the agreed value, if it is judged as no, the first random value is automatically Add 1, go to step 602); if judged yes, go to step 603);
  • Step 603 use the old temporary Hash value as the first anti-parallel Hash value; set the initial value of the random value sequence number m to 2;
  • Step 604 Set the mth random value to 1, 2 ⁇ m ⁇ n+1;
  • Step 605) calculate new temporary Hash value by the temporary Hash value according to the agreed algorithm, judge whether the k check bits in the new temporary Hash value that calculates are equal to the agreed value, if judged as no, the mth random value is automatically Add 1, go to step 605); if judged yes, go to step 606);
  • Step 606 using the old temporary Hash value as the mth anti-parallel Hash value
  • Step 607) Add 1 to the random value serial number m, when m ⁇ n+1, go to step 604), otherwise go to step 608);
  • Step 608) Obtain n parallel-resistant Hash values.
  • the newly released business block is verified for correctness; specifically includes:
  • the supervisor checks whether the business block number, the hash value of the block header of the previous block and the hash value of the load are correct;
  • the state of the entire blockchain is supervised; specifically including:
  • the supervisor regularly or irregularly calculates the current state of the blockchain, and judges whether the calculated current state of the blockchain is consistent with the current state of the previously recorded blockchain. If yes, save the current state of the blockchain;
  • the supervisor regularly or irregularly starts from the first block to re-verify whether the load of each business block of the blockchain matches the Hash value of the load in the block header. If there is a mismatch, the blockchain is declared abnormal, and Keep relevant evidence.
  • the calculation of the current state of the block chain specifically includes:
  • the Hash value of the 0th block is used as the supervisory Hash value of the block;
  • the supervisory Hash value of each block is calculated in a recursive manner; among them, the supervisory hash value of the sth block
  • the Hash value is calculated based on the supervised Hash value of the s-1th block and the block header of the sth block;
  • the supervisory Hash value of the 0th block is used as the current state of the blockchain
  • the supervisory Hash value of the Sth block is used as the block The current state of the chain.
  • the present invention has the advantages of:
  • the present invention implements a lightweight and low-cost blockchain through a new architecture design of "one bookkeeping and multiple supervision", and uses a unique consensus mechanism with anti-parallel computing capabilities, so that only a very small amount of The computing resources and energy consumption can maintain the operation of the blockchain, which has the advantages of low cost and extremely fast deployment;
  • the bookkeeper of this blockchain system adopts a non-competitive proof-of-work mechanism (PoW).
  • PoW non-competitive proof-of-work mechanism
  • the supervisor verifies the workload of the bookkeeper, rather than the workload competition between the bookkeepers, so that It avoids the vicious competition of "computing power" of the traditional blockchain.
  • the bookkeeper's workload proof adopts an anti-parallel attack mechanism, which only allows one core of one processor to perform calculations, which can effectively resist computing clusters.
  • Parallel attack and quantum parallel attack ;
  • the supervisor of this blockchain system can easily discover any tampering of blockchain data by saving and iteratively calculating the current state of the blockchain, combined with the verification of the load Hash value, and can also be very convenient Handle unexpected situations such as bookkeeper downtime;
  • the blockchain system is a distributed system.
  • the blocks released by bookkeepers will be saved by various supervisors and business servers. When any data loss or error occurs in any party, the data can be easily restored.
  • Figure 1 is a schematic diagram of the composition of the lightweight block chain system resistant to parallel attacks of the present invention.
  • Embodiment 1 of the present invention provides a lightweight blockchain system that is resistant to parallel attacks.
  • the system consists of bookkeepers, supervisors and business servers. The three can communicate with each other. There is only one bookkeeper, and there can be several supervisors and business servers.
  • Bookkeeper used to generate and publish new business blocks according to the business data sent by the business server
  • the supervisor is used to verify the correctness of the newly released business block, accept the block and update the current state of the block chain after the verification is passed; it is also used to supervise the state of the entire block chain;
  • the business server is used to send the business data that needs to be uploaded to the bookkeeper, and is also used to interact with the supervisor to confirm whether the blockchain is in a normal state.
  • the bookkeeper When the blockchain is established, the bookkeeper generates a set of public-private key pairs according to the agreed digital signature algorithm, which are called the public key of the bookkeeper and the private key of the bookkeeper.
  • the bookkeeper publishes the 0th block, and the 0th block contains at least the public key of the bookkeeper.
  • the bookkeeper's private key is kept secret by the bookkeeper and must not be disclosed.
  • Block 0 is the starting point of the blockchain, and subsequent blocks are called business blocks.
  • a business block consists of a block header and a payload.
  • the load is the data that the business server wants to upload to the blockchain (referred to as: on-chain data).
  • the block header contains the following content: block number, hash value of the block header of the previous block, hash value of load, n random values, n anti-parallel hash values and other extended information, as well as digital signatures for the aforementioned information.
  • other extended information includes some known information such as generation time and current state of the blockchain.
  • the block number of the previous block + 1 is used as the block number of this block (if the previous block is the 0th block, the block number of this block is 1).
  • the supervisor is a role that supervises the correctness of the state of the entire blockchain and newly generated blocks according to the bookkeeper's operating rules. Any person or institution can act as a watchdog.
  • the supervised Hash value of block 0 is Hash (block 0).
  • the supervised Hash value of the sth block (s>0) is Hash (the supervised Hash value of the s-1th block
  • the current state of the blockchain is the supervised Hash value of the latest block.
  • the supervisor For the newly generated blocks received, the supervisor at least performs the following verifications:
  • n random values and n anti-parallel Hash values correct; that is, are the k check bits in the new temporary Hash calculated by the above method equal to the agreed value? This part is calculated in the same way as when it was generated, and it is calculated by the supervisor.
  • the supervisor accepts the newly generated block and updates the current state of the blockchain.
  • the supervisor recalculates the current state of the blockchain from the 0th block on a regular or irregular basis. If the newly calculated current state of the blockchain is inconsistent with the current state of the previously recorded blockchain, the blockchain is declared abnormal and retained relevant evidence.
  • the supervisor regularly or irregularly starts from the first block to re-verify whether the load of each business block of the blockchain matches the Hash value of the load in the block header. If there is a mismatch, the block chain is declared abnormal, and relevant evidence is retained.
  • the business server sends the business data that needs to be uploaded to the bookkeeper.
  • the communication between the business server and the bookkeeper should adopt two-way confidentiality and two-way identity authentication mechanism.
  • the business server will also interact with the supervisor regularly or irregularly to confirm whether the blockchain is in a normal state.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种抗并行攻击的轻量化区块链***,该***包括记账者、监督者和业务服务器;其中,所述记账者,用于根据业务服务器发送的业务数据生成并发布新的业务区块;所述监督者,用于对新发布的业务区块进行正确性验证,验证通过后接受该区块并更新区块链当前状态;还用于对整个区块链的状态进行监督;所述业务服务器,用于将需要上链的业务数据发送给记账者,还用于通过与监督者交互,以确认区块链是否处于正常状态。本发明通过"一记账多监督"的全新架构设计,并使用独有的具备抗并行计算能力的共识机制,实现了一种轻量级低成本的区块链,使得只需要极少量的计算资源和能耗,就能维持该区块链运行,具有成本低,并可极快部署的优点。

Description

一种抗并行攻击的轻量化区块链***
相关申请
本申请要求名称为“一种抗并行攻击的轻量化区块链***”、于2021年9月26日提交的中国专利申请号为202111128792.7的优先权,在此通过引用包括该件申请。
技术领域
本发明涉及区块链技术领域,尤其涉及一种抗并行攻击的轻量化区块链***。
背景技术
区块链(Blockchain)技术是一种具有不可篡改性的数据存储技术。区块链技术将待存储数据打包成一个个区块,再通过数字摘要算法,将各个区块逐一连接起来,形成一种链式结构,称为区块链。同时区块链还需要设定***共识机制,以确保区块链无法被篡改。
传统的区块链技术采取分布式记账模式,具有计算资源消耗大,共识机制复杂,运行成本高等诸多缺点。
发明内容
本发明的目的在于克服现有技术缺陷,提出了一种抗并行攻击的轻量化区块链***。
为了实现上述目的,本发明提出了一种抗并行攻击的轻量化区块链***,所述***包括记账者、监督者和业务服务器;其中,
所述记账者,用于根据业务服务器发送的业务数据生成并发布新的业务区块;
所述监督者,用于对新发布的业务区块进行正确性验证,验证通过后接受该区块并更新区块链当前状态;还用于对整个区块链的状态进行监督;
所述业务服务器,用于将需要上链的业务数据发送给记账者,还用于通过与监督者交互,以确认区块链是否处于正常状态。
作为上述***的一种改进,所述区块链包括第0区块和按照区块编号自1递增 的业务区块。
作为上述***的一种改进,所述区块链建立时,记账者根据约定的数字签名算法,生成记账者公钥和记账者私钥,其中,记账者公钥包含在第0区块,记账者私钥由记账者保存。
作为上述***的一种改进,所述业务区块包括区块头和负载,其中,
所述区块头包括区块编号、前一区块的区块头的Hash值、负载的Hash值、n个随机值、n个抗并行Hash值和其他扩充信息,以及对前述信息生成的数字签名;
所述负载为业务服务器发送的业务数据。
作为上述***的一种改进,所述区块头的生成方法具体包括:
根据收到的业务数据计算负载的Hash值;
读取前一区块的区块头,计算前一区块的区块头的Hash值,将前一区块的区块编号加1作为本区块的区块编号;
生成n个随机值,并计算得到n个抗并行Hash值;
使用约定的数字签名算法和记账者私钥,对区块编号、前一区块的区块头的Hash值、负载的Hash值、n个随机值、n个抗并行Hash值和其他的扩充信息生成数字签名,进而得到区块头。
作为上述***的一种改进,所述生成n个随机值,并计算得到n个抗并行Hash值;具体包括:
步骤601)将第1个随机值设为1,将临时Hash值设为抗并行默认数据;
步骤602)根据约定的算法由临时Hash值计算得到新的临时Hash值,判断计算得到的新的临时Hash值中的k个检验比特是否等于约定值,判断为否,将第1个随机值自加1,转至步骤602);判断为是,转至步骤603);
步骤603)将旧的临时Hash值作为第1个抗并行Hash值;设置随机值序号m的初值为2;
步骤604)将第m个随机值设为1,2≤m<n+1;
步骤605)根据约定的算法由临时Hash值计算得到新的临时Hash值,判断计算得到的新的临时Hash值中的k个检验比特是否等于约定值,判断为否,将第m个随机值自加1,转至步骤605);判断为是,转至步骤606);
步骤606)将旧的临时Hash值作为第m个抗并行Hash值;
步骤607)对随机值序号m自加1,当m<n+1,转至步骤604),否则转至步骤608);
步骤608)得到n个抗并行Hash值。
作为上述***的一种改进,所述对新发布的业务区块进行正确性验证;具体包括:
监督者检查该业务区块编号、前一区块的区块头的Hash值和负载的Hash值是否正确;
根据约定的算法重新计算得到新的临时Hash值,通过判断新的临时Hash值的k个检验比特是否等于约定值,验证n个随机值和n个抗并行Hash值是否正确;
使用第0区块中的记账者公钥,验证区块头里的数字签名是否正确。
作为上述***的一种改进,所述对整个区块链的状态进行监督;具体包括:
监督者定期或不定期计算区块链当前状态,判断计算得到的区块链当前状态与之前记录的区块链当前状态是否一致,判断为否,宣布区块链异常,并保留相关证据;判断为是,保存区块链当前状态;
监督者定期或不定期地从第1区块开始重新验证区块链每一个业务区块的负载与区块头中负载的Hash值是否匹配,若有一处不匹配,则宣布区块链异常,并保留相关证据。
作为上述***的一种改进,所述计算区块链当前状态;具体包括:
对于第0区块,将第0区块的Hash值作为该区块的监督Hash值;
对于第s区块,1≤s≤S,S为业务区块个数,从第1区块开始,采用递推方式依次计算每个区块的监督Hash值;其中,第s区块的监督Hash值,根据第s-1区块的监督Hash值和第s区块的区块头计算得到;
当区块链无业务区块时,将第0区块的监督Hash值作为区块链当前状态,当区块链有S个业务区块时,将第S区块的监督Hash值作为区块链当前状态。
作为上述***的一种改进,所述记账者为一个,记账者与业务服务器之间的通信采用双向保密和双向身份认证机制。
与现有技术相比,本发明的优势在于:
1、本发明通过“一记账多监督”的全新架构设计,并使用独有的具备抗并行计算能力的共识机制,实现了一种轻量级低成本的区块链,使得只需要极少量的计算资源和能耗,就能维持该区块链运行,具有成本低,并可极快部署的优点;
2、本区块链***采取的“记账者多监督”模式,有效地简化了区块链共识机制,降低了***复杂程度和建设成本;
3、本区块链***的记账者,采取的是非竞争式的工作量证明机制(PoW), 监督者对记账者进行工作量验证,而非记账者之间进行工作量竞争,从而避免了传统区块链的“拼算力”的恶性竞争,同时,记账者的工作量证明采用了抗并行攻击机制,只允许使用一个处理器的一个核心进行运算,可以有效地抵御计算集群并行攻击和量子并行攻击;
4、本区块链***的监督者,通过保存并迭代计算区块链当前状态的方式,并结合对负载Hash值的验证,可以轻易发现任何对区块链数据的篡改,也可以非常方便地处理记账者宕机等意外情况;
5、本区块链***是一个分布式***,记账者发布出去的区块会被各个监督者和业务服务器保存,当任何一方出现数据丢失或错误时,都可以非常容易地恢复数据。
附图说明
图1是本发明的抗并行攻击的轻量化区块链***组成示意图。
具体实施方式
下面结合附图和实施例对本发明的技术方案进行详细的说明。
实施例1
如图1所示,本发明的实施例1提供了一种抗并行攻击的轻量化区块链***。本***由记账者、监督者和业务服务器组成。三者可以相互通信。记账者只有一个,监督者和业务服务器可以有若干个。
记账者,用于根据业务服务器发送的业务数据生成并发布新的业务区块;
监督者,用于对新发布的业务区块进行正确性验证,验证通过后接受该区块并更新区块链当前状态;还用于对整个区块链的状态进行监督;
业务服务器,用于将需要上链的业务数据发送给记账者,还用于通过与监督者交互,以确认区块链是否处于正常状态。
下面针对每部分进行详细说明。
***建立:
***建立时,需要约定一种数字签名算法、一种或多种数字摘要算法(Hash)、一个并行系数n、和一个抗并行默认数据。并在Hash算法的输出中约定k个检验比特,以及给予这k个比特一个约定值。
记账者:
区块链建立时,记账者根据约定的数字签名算法,生成一组公私钥对,分别称为记账者公钥和记账者私钥。记账者公布第0区块,第0区块至少包含记账者公钥。记账者私钥由记账者秘密妥善保存,不得泄露。
第0区块为区块链的起点,之后的区块称之为业务区块。
业务区块由区块头和负载组成。负载为业务服务器欲上传至区块链的数据(简称:上链数据)。区块头包含如下内容:区块编号、前一区块的区块头的Hash值、负载的Hash值、n个随机值、n个抗并行Hash值和其他扩充信息,以及对前述信息的数字签名。其中,其他扩充信息包括例如生成时间、区块链当前状态等公知的一些信息。
当记账者要生成新的区块时,操作如下:
1.将上链数据打包成负载,然后(用约定的数字摘要算法(下略))计算负载的Hash值。
2.读取前一区块的区块头,计算前一区块的区块头的Hash值。将前一区块的区块编号+1作为本区块的区块编号(如果前一区块是第0区块,则本区块的区块编号为1)。
3.将第1个随机值设为1,将临时Hash设为抗并行默认数据。计算临时Hash=Hash(临时Hash||区块编号||前一区块的区块头的Hash值||负载的Hash值||第1个随机值||其他扩充信息),||表示级联运算,(需要说明的是:这只是一个示例,除第一项临时Hash外,其他项顺序可重新约定)。如果计算得到的新的临时Hash中的k个检验比特不等于约定值,则将第1个随机值自加1,然后重复上述计算。如果计算得到的新的临时Hash中的k个检验比特等于约定值,将旧的临时Hash作为第1个抗并行Hash值。
4.从m=2开始,对于第m个随机值和第m个抗并行Hash值(2≤m<n+1),依次操作如下。将第m个随机值设为1。计算临时Hash=Hash(临时Hash||区块编号||前一区块的区块头的Hash值||负载的Hash值||第m个随机值||其他扩充信息)(注解同上),如果计算得到的新的临时Hash中的k个检验比特不等于约定值,则将第m个随机值自加1,然后重复上述计算。如果计算得到的新的临时Hash中的k个检验比特等于约定值,将旧的临时Hash作为第m个抗并行Hash值。
5.使用约定的数字签名算法和记账者私钥,对区块编号、前一区块的区块头的Hash值、负载的Hash值、n个随机值、n个抗并行Hash值和其他的扩充 信息进行数字签名,得到对前述信息的数字签名。并将以上数据打包成区块头,再与负载组合成新的区块,公布出去。
监督者:
监督者是根据记账者的运行规则,对整个区块链的状态和新生成区块进行正确性监督的角色。任何人和机构都可以充当监督者的角色。
对于整个区块链的状态,监督者在运行之初就要维护起一个监督Hash值,方法如下:
1.第0区块的监督Hash值为Hash(第0区块)。
2.第s区块(s>0)的监督Hash值为Hash(第s-1区块的监督Hash值||第s区块的区块头)。
3.区块链的当前状态为最新区块的监督Hash值。
对于接收到的新生成区块,监督者至少进行如下验证:
1.区块编号、前一区块的区块头的Hash值和负载的Hash值是否正确;
2.n个随机值和n个抗并行Hash值是否正确;即通过上述方法计算得到的新的临时Hash中的k个检验比特是否等于约定值?该部分的计算方法与生成时的方法相同,由监督者进行计算。
3.使用第0区块中的记账者公钥,验证数字签名是否正确。
验证通过后,监督者接受该新生成区块,并更新区块链当前状态。
监督者定期或不定期地从第0区块开始重新计算区块链当前状态,若新算得的区块链当前状态与之前记录的区块链当前状态不一致,则宣布区块链异常,并保留相关证据。
监督者定期或不定期地从第1区块开始重新验证区块链每一个业务区块的负载与区块头中负载的Hash值是否匹配。若有一处不匹配,则宣布区块链异常,并保留相关证据。
业务服务器:
业务服务器将需要上链的业务数据发送给记账者。业务服务器与记账者之间的通信,应采取双向保密和双向身份认证机制。
业务服务器还会定期或不定期与监督者交互,以确认区块链是否处于正常状态。
下表为现有技术与本发明的对比:
Figure PCTCN2022120162-appb-000001
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

  1. 一种抗并行攻击的轻量化区块链***,其特征在于,所述***包括记账者、监督者和业务服务器;其中,
    所述记账者,用于根据业务服务器发送的业务数据生成并发布新的业务区块;
    所述监督者,用于对新发布的业务区块进行正确性验证,验证通过后接受该区块并更新区块链当前状态;还用于对整个区块链的状态进行监督;
    所述业务服务器,用于将需要上链的业务数据发送给记账者,还用于通过与监督者交互,以确认区块链是否处于正常状态。
  2. 根据权利要求1所述的抗并行攻击的轻量化区块链***,其特征在于,所述区块链包括第0区块和按照区块编号自1递增的业务区块。
  3. 根据权利要求2所述的抗并行攻击的轻量化区块链***,其特征在于,所述区块链建立时,记账者根据约定的数字签名算法,生成记账者公钥和记账者私钥,其中,记账者公钥包含在第0区块,记账者私钥由记账者保存。
  4. 根据权利要求2所述的抗并行攻击的轻量化区块链***,其特征在于,所述业务区块包括区块头和负载,其中,
    所述区块头包括区块编号、前一区块的区块头的Hash值、负载的Hash值、n个随机值、n个抗并行Hash值和其他扩充信息,以及对前述信息生成的数字签名;
    所述负载为业务服务器发送的业务数据。
  5. 根据权利要求4所述的抗并行攻击的轻量化区块链***,其特征在于,所述区块头的生成方法具体包括:
    根据收到的业务数据计算负载的Hash值;
    读取前一区块的区块头,计算前一区块的区块头的Hash值,将前一区块的区块编号加1作为本区块的区块编号;
    生成n个随机值,并计算得到n个抗并行Hash值;
    使用约定的数字签名算法和记账者私钥,对区块编号、前一区块的区块头的Hash值、负载的Hash值、n个随机值、n个抗并行Hash值和其他的扩充信息生成数字签名,进而得到区块头。
  6. 根据权利要求5所述的抗并行攻击的轻量化区块链***,其特征在于,所述生成n个随机值,并计算得到n个抗并行Hash值;具体包括:
    步骤601)将第1个随机值设为1,将临时Hash值设为抗并行默认数据;
    步骤602)根据约定的算法由临时Hash值计算得到新的临时Hash值,判断计算得到的新的临时Hash值中的k个检验比特是否等于约定值,判断为否,将第1个随机值自加1,转至步骤602);判断为是,转至步骤603);
    步骤603)将旧的临时Hash值作为第1个抗并行Hash值;设置随机值序号m的初值为2;
    步骤604)将第m个随机值设为1,2≤m<n+1;
    步骤605)根据约定的算法由临时Hash值计算得到新的临时Hash值,判断计算得到的新的临时Hash值中的k个检验比特是否等于约定值,判断为否,将第m个随机值自加1,转至步骤605);判断为是,转至步骤606);
    步骤606)将旧的临时Hash值作为第m个抗并行Hash值;
    步骤607)对随机值序号m自加1,当m<n+1,转至步骤604),否则转至步骤608);
    步骤608)得到n个抗并行Hash值。
  7. 根据权利要求1所述的抗并行攻击的轻量化区块链***,其特征在于,所述对新发布的业务区块进行正确性验证;具体包括:
    监督者检查该业务区块编号、前一区块的区块头的Hash值和负载的Hash值是否正确;
    根据约定的算法重新计算得到新的临时Hash值,通过判断新的临时Hash值的k个检验比特是否等于约定值,验证n个随机值和n个抗并行Hash值是否正确;
    使用第0区块中的记账者公钥,验证区块头里的数字签名是否正确。
  8. 根据权利要求1所述的抗并行攻击的轻量化区块链***,其特征在于,所述对整个区块链的状态进行监督;具体包括:
    监督者定期或不定期计算区块链当前状态,判断计算得到的区块链当前状态与之前记录的区块链当前状态是否一致,判断为否,宣布区块链异常,并保留相关证据;判断为是,保存区块链当前状态;
    监督者定期或不定期地从第1区块开始重新验证区块链每一个业务区块的负载与区块头中负载的Hash值是否匹配,若有一处不匹配,则宣布区块链异常,并保留相关证据。
  9. 根据权利要求8所述的抗并行攻击的轻量化区块链***,其特征在于,所述计算区块链当前状态;具体包括:
    对于第0区块,将第0区块的Hash值作为该区块的监督Hash值;
    对于第s区块,1≤s≤S,S为业务区块个数,从第1区块开始,采用递推方式依次计算每个区块的监督Hash值;其中,第s区块的监督Hash值,根据第s-1区块的监督Hash值和第s区块的区块头计算得到;
    当区块链无业务区块时,将第0区块的监督Hash值作为区块链当前状态,当区块链有S个业务区块时,将第S区块的监督Hash值作为区块链当前状态。
  10. 根据权利要求1所述的抗并行攻击的轻量化区块链***,其特征在于,所述记账者为一个,记账者与业务服务器之间的通信采用双向保密和双向身份认证机制。
PCT/CN2022/120162 2021-09-26 2022-09-21 一种抗并行攻击的轻量化区块链*** WO2023045962A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111128792.7A CN113965326B (zh) 2021-09-26 2021-09-26 一种抗并行攻击的轻量化区块链***
CN202111128792.7 2021-09-26

Publications (1)

Publication Number Publication Date
WO2023045962A1 true WO2023045962A1 (zh) 2023-03-30

Family

ID=79462636

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/120162 WO2023045962A1 (zh) 2021-09-26 2022-09-21 一种抗并行攻击的轻量化区块链***

Country Status (2)

Country Link
CN (1) CN113965326B (zh)
WO (1) WO2023045962A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965326B (zh) * 2021-09-26 2022-05-17 北京岸思信息科技有限公司 一种抗并行攻击的轻量化区块链***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108846752A (zh) * 2018-06-06 2018-11-20 北京京东金融科技控股有限公司 数据处理方法、***、区块链平台以及可读存储介质
CN110232634A (zh) * 2019-06-05 2019-09-13 湖南道业信息科技有限公司 区块链共识方法、区块链共识***和计算机可读存储介质
CN112073483A (zh) * 2020-08-28 2020-12-11 武汉大学 基于信誉与委员会背书机制的权威证明共识方法及***
CN113965326A (zh) * 2021-09-26 2022-01-21 北京岸思信息科技有限公司 一种抗并行攻击的轻量化区块链***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110930149B (zh) * 2018-12-07 2023-09-26 深圳市智税链科技有限公司 在区块链网络中确定记账节点的方法、代理节点和介质
CN110489486B (zh) * 2019-08-02 2020-12-18 腾讯科技(深圳)有限公司 生成区块链网络的方法、种子节点和介质
CN110825755B (zh) * 2019-10-30 2021-05-04 北京海益同展信息科技有限公司 区块链的共识方法、共识节点、电子设备、存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108846752A (zh) * 2018-06-06 2018-11-20 北京京东金融科技控股有限公司 数据处理方法、***、区块链平台以及可读存储介质
CN110232634A (zh) * 2019-06-05 2019-09-13 湖南道业信息科技有限公司 区块链共识方法、区块链共识***和计算机可读存储介质
CN112073483A (zh) * 2020-08-28 2020-12-11 武汉大学 基于信誉与委员会背书机制的权威证明共识方法及***
CN113965326A (zh) * 2021-09-26 2022-01-21 北京岸思信息科技有限公司 一种抗并行攻击的轻量化区块链***

Also Published As

Publication number Publication date
CN113965326B (zh) 2022-05-17
CN113965326A (zh) 2022-01-21

Similar Documents

Publication Publication Date Title
US10630463B2 (en) Meta block chain
KR102315473B1 (ko) 병렬-처리 블록체인 트랜잭션을 위한 시스템 및 방법
EP3580905B1 (en) Consortium blockchain network with verified blockchain and consensus protocols
US20230120742A1 (en) Quantumproof blockchain
Duong et al. Twinscoin: A cryptocurrency via proof-of-work and proof-of-stake
US20200143366A1 (en) Methods for decentralized digital asset transfer and smart contract state transition
US20180309567A1 (en) Confidentiality in a consortium blockchain network
CN112583917B (zh) 一种基于cscp的混合链构建方法
US20180219669A1 (en) Blockchain hash value recomputation
CN112615915B (zh) 一种在私有链之间构建联盟链的方法
EP3769217B1 (en) Prioritizing shared blockchain data storage
CN111837117B (zh) 可信执行环境中基于纠错编码的共享区块链数据存储
US11637711B2 (en) Method and system for DLT networks consensus enhancement using quantum computing mechanisms
Yanovich et al. Exonum: Byzantine fault tolerant protocol for blockchains
WO2021258549A1 (zh) 一种流水线友好的签名和验签方法、设备及存储介质
CN112507393A (zh) 一种保障区块链跨链事务一致性的方法
WO2023045962A1 (zh) 一种抗并行攻击的轻量化区块链***
US6826687B1 (en) Commitments in signatures
CN112417512A (zh) 一种基于区块链的跨境贸易隐私数据管理***及方法
US20230006836A1 (en) Multi-party and multi-use quantum resistant signatures and key establishment
Khalifa et al. Quantum attacks and defenses for proof-of-stake
CN112202703A (zh) 基于冗余余数***的区块链存储优化方法
Cheng et al. A new hybrid consensus protocol: Deterministic proof of work
Wang et al. Strongly synchronized redactable blockchain based on verifiable delay functions
Qi et al. Latency-first smart contract: Overclock the blockchain for a while

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22872008

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE