WO2020057158A1 - 一种区块链的数据处理方法、装置、设备及介质 - Google Patents

一种区块链的数据处理方法、装置、设备及介质 Download PDF

Info

Publication number
WO2020057158A1
WO2020057158A1 PCT/CN2019/087577 CN2019087577W WO2020057158A1 WO 2020057158 A1 WO2020057158 A1 WO 2020057158A1 CN 2019087577 W CN2019087577 W CN 2019087577W WO 2020057158 A1 WO2020057158 A1 WO 2020057158A1
Authority
WO
WIPO (PCT)
Prior art keywords
synchronization
block
synchronization group
signature
group
Prior art date
Application number
PCT/CN2019/087577
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 百度在线网络技术(北京)有限公司
Priority to US16/768,440 priority Critical patent/US11381385B2/en
Priority to JP2020531688A priority patent/JP6945742B2/ja
Publication of WO2020057158A1 publication Critical patent/WO2020057158A1/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/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • This application relates to blockchain technology, for example, to a data processing method, device, device, and medium of a blockchain.
  • Blockchain is a new application model of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithms.
  • the embodiments of the present application provide a data processing method, device, device, and medium of a blockchain to optimize a block data verification method.
  • An embodiment of the present application provides a data processing method for a blockchain, which is applied to a blockchain node and includes: acquiring a synchronization group creation transaction request; and determining a transaction request from the synchronization group creation to determine from the first block to the current A continuous block between blocks is used as a synchronization block of the synchronization group; a synchronization signature of the synchronization group is determined according to the synchronization block; and the synchronization signature is recorded in the block as transaction data.
  • An embodiment of the present application further provides a blockchain data processing device configured in a blockchain node, including: a transaction request acquisition module configured to acquire a synchronization group creation transaction request; a synchronization block determination module configured to The synchronization group creation transaction request determines a continuous block from the first block to the current block as a synchronization block of the synchronization group; a synchronization signature determination module is configured to determine according to the synchronization block A synchronization signature of the synchronization group; a recording module configured to record the synchronization signature as transaction data in a block.
  • An embodiment of the present application further provides a device including: one or more processors; a storage device configured to store one or more programs; and when the one or more programs are executed by the one or more processors , So that the one or more processors implement the data processing method of the blockchain according to any of the first aspects.
  • An embodiment of the present application further provides a medium storing a computer program, which when executed by a processor, implements the data processing method of any of the blockchains described in the first aspect.
  • FIG. 1 is a flowchart of a data processing method for a blockchain provided in Embodiment 1 of the present application;
  • FIG. 2 is a flowchart of a data processing method for a blockchain provided in Embodiment 2 of the present application;
  • FIG. 3 is a flowchart of a data processing method for a blockchain provided in Embodiment 3 of the present application;
  • FIG. 4 is a flowchart of a data processing method for a blockchain provided in Embodiment 4 of the present application;
  • FIG. 5 is a flowchart of a data processing method for a blockchain provided in Embodiment 5 of the present application.
  • FIG. 6 is a flowchart of a data processing method for a blockchain provided in Embodiment 6 of the present application.
  • FIG. 7 is a flowchart of a data processing method for a blockchain provided in Embodiment 7 of the present application.
  • Embodiment 8 is a flowchart of a blockchain data verification method provided in Embodiment 8 of the present application.
  • FIG. 9 is a schematic structural diagram of a blockchain data processing device provided in Embodiment 9 of the present application.
  • FIG. 10 is a schematic structural diagram of a device provided in Embodiment 10 of the present application.
  • FIG. 1 is a flowchart of a data processing method for a blockchain provided in Embodiment 1 of this application.
  • This embodiment is applicable to a data processing situation in a blockchain network. For example, it may be applicable to a node in a blockchain network. Scenarios where blockchain data needs to be synchronized from other nodes.
  • the applicable blockchain can be a public, private or alliance chain.
  • the solution in the embodiment of the present application is applied to a blockchain node.
  • the method can be executed by a blockchain data processing device.
  • the device can be implemented in software and / or hardware, and can be integrated into a node that carries the blockchain node. Computing device. Referring to FIG. 1, the method specifically includes:
  • the synchronization group is composed of one or more blocks;
  • the synchronization group creation transaction request refers to a transaction request for creating a synchronization group.
  • the synchronization group creation transaction request may include: the area required by the synchronization group Information such as the block identifier of the block, the location of the synchronization point that needs to be set, the signature method of the synchronization group, or the identification of the synchronization group.
  • the synchronization group creation transaction request may also be a creation instruction for creating a synchronization group, which is used to instruct a node to set a synchronization point at a current block location to create a synchronization group.
  • the so-called synchronization point generally refers to the end position of the synchronization group, and the start position of the synchronization group can be set by default. For example, each synchronization group starts from the previous synchronization point or starts from the 0th block.
  • Local nodes can receive synchronization group creation transaction requests initiated by other nodes in the blockchain network, or they can initiate synchronization group creation transaction requests locally.
  • the local node can be the current block generation node, or it can be other blockchain nodes; whether the local node is generated for the current block, and the method of obtaining the transaction request to create a synchronization group is different.
  • the synchronization group creation transaction request can be obtained by: 1) receiving a synchronization group creation transaction request initiated by any node in the blockchain network in real time; 2) the When the machine node detects that the current state of the blockchain meets the synchronization group creation rules stored in the locally deployed data or historical blocks, it initiates a synchronization group creation transaction request locally; 3) The local node needs the synchronization group for block data During synchronization, a local synchronization group creation transaction request is initiated.
  • the synchronization group creation transaction request can be obtained by: 1) receiving a synchronization group creation transaction request initiated by any node in the blockchain network in real time; 2) receiving The current synchronization group creation transaction request initiated by the current block generation node; 3)
  • the local node needs the synchronization group to synchronize block data, it initiates a synchronization group creation transaction request locally.
  • the method may further include: using a control authority public key to verify the identity of the creator of the synchronization group creation transaction request.
  • the node that sets the permission for example, the central node.
  • the central node in the blockchain has the control permission.
  • the private key of the control permission is used to encrypt part of the synchronization group creation transaction request to indicate its identity. Therefore, after obtaining the synchronization group creation transaction request, the local node can use the control permission.
  • the public key decrypts at least a part of the synchronization group creation transaction request that contains the identity of the creator.
  • each node in the blockchain can maintain a table storing the identity of each node locally.
  • the identity can be a node identity or a network IP address.
  • S120 Determine a continuous block from the first block to the current block according to the synchronization group creation transaction request as the synchronization block of the synchronization group.
  • the synchronization block is a block constituting a synchronization group.
  • the first block can be the 0th block in the blockchain, that is, the genesis block;
  • the current block refers to the block currently being generated by the blockchain network and is the newly generated block in the blockchain network;
  • the number of synchronization blocks in the synchronization group can be one, for example, the first block and the current block are the same block; it can also be multiple.
  • the current block is constantly updated with the operation of the blockchain network, so the synchronization blocks between different synchronization groups overlap. For example, if the current block is the 10th block, there is a synchronization group from the 0th block to the 10th block in the blockchain; if the synchronization block creation is initiated when the current block is the 20th block, the first Blocks 0 to 20 are a synchronization group and so on.
  • the synchronization point is set at the current block position by default, and as the last block of the synchronization group, the first block is the 0th block by default.
  • the local node can determine that the current block is the last block of the synchronization group according to the synchronization point position included in the synchronization group creation transaction request, and use the continuous blocks from 0 to the current block in the blockchain as synchronization. Group of sync blocks.
  • the local node can also locate the current block according to the block identifier included in the synchronization group creation transaction request, and use the continuous block from 0 to the current block in the blockchain as the synchronization block of the synchronization group. If the synchronization group creation transaction request is a creation instruction, after obtaining the synchronization group creation transaction request, the local node directly sets a synchronization point at the current block position, and will start a continuous block from 0 to the synchronization point position. Determine the sync block, etc. of the sync group.
  • the synchronization signature refers to an identifier for uniquely identifying or determining a certain synchronization group, and can be used to represent information of a synchronization block included in the synchronization group.
  • the synchronization signature method of the synchronization group can be the signature method specified in the synchronization group creation transaction request, or the signature method specified by the blockchain network, or the local node can use its own public key, private key, or Signature algorithms such as SHA256, etc.
  • a synchronization signature of the synchronization group may be obtained by performing a hash signature according to a block identifier of each synchronization block in the synchronization group.
  • this embodiment determines the synchronization signature of the synchronization group based on the synchronization block, which indirectly indicates the association relationship between the synchronization block, the synchronization group, and the synchronization signature, which brings convenience for subsequent synchronization group queries. .
  • the synchronization signature can be stored as transaction data in the block.
  • recording the synchronization signature as transaction data in the block may include: recording the synchronization signature as transaction data in the current block by the current block generating node, and sending the current block to other nodes for verification.
  • the local node after determining the synchronization signature of the synchronization group according to the synchronization block, the local node directly records the synchronization signature of the synchronization group as transaction data and records it in the current block; and Send the current block to other nodes in the blockchain for verification; after receiving the current block sent by the local node, other nodes will process the synchronization group creation transaction request and calculate the same in the same way as the local node
  • the synchronization signature of the synchronization group If the synchronization signature is consistent with the synchronization signature in the current block, it is confirmed that the current block is valid and the current block is stored in the blockchain; if it is not consistent, it is sent to other nodes in the blockchain. Send a block invalidation message containing the current block ID.
  • the synchronization signature After the synchronization signature is recorded as transaction data in the block, if any node in the blockchain wants to synchronize the blockchain, the synchronization signature can be verified. After the synchronization signature verification passes, the synchronization group is used as the unit. Synchronization speeds up data synchronization.
  • the synchronization block of the newly constructed synchronization group each time will cover the synchronization of all previously established synchronization groups. Block, so if the sync signature of the latest sync group is stored in the block, the sync signature of the sync group previously stored in the blockchain can be invalidated by default. If you need to download the synchronization blockchain, you can quickly find the synchronization signature corresponding to the latest synchronization group by traversing from back to front in the blockchain, without identifying all the blocks, reducing the number of synchronization signatures used to obtain the synchronization signature. time.
  • the synchronization group established from the first block is more suitable for newly added nodes in the blockchain network to download the synchronization blockchain. It is only necessary to verify the synchronization signature of the synchronization group once. Each block in the synchronization group is verified, which simplifies the verification process. If you need to download the block segment from 0 to a certain position in the blockchain, you can find the closest synchronous signature that the block segment belongs to and use.
  • the technical solution provided in the embodiment of the present application after obtaining a synchronization group creation transaction request, constructs a synchronization group from the first block to the current block according to the synchronization group creation transaction request, which is more suitable for newly joined nodes in the blockchain network.
  • Download the synchronization block chain determine the synchronization signature of the synchronization group based on the synchronization blocks that make up the synchronization group, and then store the synchronization signature as transaction data in the block, reducing the probability of the synchronization signature being tampered with.
  • any node in the blockchain wants to obtain block data, it can be verified by using a synchronization group as a unit, which provides a new idea for nodes in the blockchain to verify the blockchain data and optimizes the verification of block data. the way. If used in the scenario of synchronizing block data, multiple synchronization blocks can be verified at one time, speeding up data synchronization.
  • FIG. 2 is a flowchart of a data processing method for a blockchain provided in Embodiment 2 of the present application.
  • This embodiment provides a method for obtaining a synchronization group creation transaction request based on the foregoing embodiment.
  • This embodiment is based on a zone.
  • Blockchain nodes deploy data to create synchronization groups. Referring to FIG. 2, the method specifically includes:
  • the current state refers to the current state of the blockchain network, and may include at least one of the current time and the current block height.
  • the current time refers to the current local time of the local node; the block height is the serial number of the current block of the blockchain; the current block height refers to the current number of blocks in the blockchain network, etc .;
  • the local deployment data refers to the current When the node participates in the blockchain network, the operating rules of the locally deployed blockchain network; the locally deployed data can include synchronization group creation rules, issuance mechanisms, reward and punishment mechanisms, and so on.
  • the locally deployed data can be stored locally on the local node. It can also be stored in the genesis block, which is the 0th block of the blockchain.
  • the deployment data can also be submitted to the blockchain network in the form of a smart contract and stored in a block, and the synchronization group creation rules in the deployment data can be executed regularly.
  • the synchronization group creation rule refers to the conditions that need to be met to create the same group.
  • the synchronization group creation rule may include at least one of the following:
  • the preset time value refers to a preset fixed time point or time period for creating a synchronization group, for example, a synchronization group is created every 10 minutes, or a synchronization group is created at an entire time point; the preset block height interval is The preset block height period for creating a synchronization group, for example, a new synchronization group is created every 100 blocks.
  • the local node if it recognizes that the current time meets the preset time value for the synchronization group creation in the locally deployed data, it initiates a synchronization group creation transaction request. For example, the preset time value is every 10 minutes. When the local node recognizes that the difference between the current time minus the last synchronization group creation time is equal to 10 minutes, it initiates a synchronization group creation transaction request. It may also be that if the local node recognizes that the current block height meets the preset block height interval created by the synchronization group in the locally deployed data, it initiates a synchronization group creation transaction request. For example, the preset block height interval is 100 blocks before the last block of the previous synchronization group and the current block.
  • the local node When the local node recognizes that the current block height meets the preset block height interval, it initiates a synchronization group. Create a transaction request. It may also be that the current time and the current block height satisfy the preset time and preset block height interval of the synchronous creation in the local deployment data, respectively, and then initiate a synchronization group creation transaction request.
  • the local node in this embodiment is a current block generation node or a node specifically used to supervise the creation of a synchronization group.
  • S220 Determine a continuous block from the first block to the current block according to the synchronization group creation transaction request as the synchronization block of the synchronization group.
  • the blockchain node ensures the orderliness of the creation of the synchronization group and the rational operation of the blockchain network by adding a synchronization group creation rule to the locally deployed data when joining the blockchain network. And when it is recognized that the current state of the blockchain meets the synchronization group creation rules, it can automatically initiate a synchronization group creation request, providing a new idea for obtaining synchronization group creation transaction requests.
  • FIG. 3 is a flowchart of a data processing method for a blockchain provided in Embodiment 3 of the present application.
  • This embodiment provides a method for obtaining a synchronization group creation transaction request based on the foregoing embodiment.
  • the technical solution is suitable for determining synchronization group creation rules by means of smart contracts. Referring to FIG. 3, the method specifically includes:
  • the synchronization group creation rule may be written into the block as transaction data in a smart contract or other form recognized by the blockchain network.
  • the synchronization group creation rule may include at least one of a current time satisfying a preset time value and a current block height satisfying a preset block height interval.
  • the local node can traverse the historical block to obtain the synchronization group creation rule, or it can also set a trigger notification mechanism when the historical block stores the synchronization group creation rule to notify the current block generation node to query for the synchronization group creation. rule.
  • the local node recognizes that the current state of the blockchain meets the synchronization group creation rules stored in the historical block, it initiates a synchronization group creation transaction request.
  • S320 Determine a continuous block from the first block to the current block according to the synchronization group creation transaction request as the synchronization block of the synchronization group.
  • the technical solution provided in the embodiment of the present application guarantees that the synchronization group creation rules are non-tamperable and transparent by storing the synchronization group creation rules in the block, and the current state of the blockchain is recognized by the blockchain node to satisfy the synchronization group creation.
  • a rule When a rule is created, it can automatically initiate a synchronization group creation request, which provides a new idea for obtaining a synchronization group creation transaction request.
  • obtaining a synchronization group creation transaction request can also be performed in the following ways:
  • the synchronization group usage requirement refers to the demand generated when the synchronization group needs to be used; the synchronization group usage requirement may include the blocks included in the required synchronization group, etc .; optionally, the generation of the synchronization group usage requirement may include: if If the local needs to synchronize the blockchain, the use of the synchronization group is generated. It may also include: if the data in the blockchain needs to be modified locally, the use of the synchronization group is generated.
  • the local node when the local node is a node newly added to the blockchain, or the local node is missing some or all of its blocks due to communication quality or other factors such as malicious attacks, the local node If you need to synchronize the blockchain, the synchronization group usage demand is generated locally; the local node can initiate a synchronization group creation transaction request based on the synchronization group usage demand; the local node can also send a synchronization group usage demand request to the current block generation node, or The block generation node detects that the local node generates a synchronization group use request, and the current block generation node initiates a synchronization group creation transaction request.
  • any node can be any node in the blockchain that requires synchronization, or any node with super authority; it can also be the current block generation node, etc.
  • the local node can obtain a synchronization group creation transaction request by receiving a synchronization group creation transaction request initiated in real time by any node in the blockchain.
  • the synchronization group creation transaction request initiated by the foregoing node may carry a synchronization group creation rule.
  • the creation rule may specify a rule for creating a synchronization group at the current moment, or a rule for subsequent continuous creation of a synchronization group, that is, stored in a block. As a synchronization group creation rule in subsequent historical blocks.
  • FIG. 4 is a flowchart of a data processing method for a blockchain provided in Embodiment 4 of the present application. This embodiment is further optimized based on the foregoing embodiment.
  • This embodiment provides an indexing method of a synchronization group. Referring to FIG. 4, the method specifically includes:
  • S420 Determine a continuous block from the first block to the current block according to the synchronization group creation transaction request as the synchronization block of the synchronization group.
  • S430 Determine a synchronization signature of the synchronization group according to the synchronization block.
  • the index data refers to data used for assisting nodes to quickly find synchronization group information.
  • the index data may include a synchronization group identifier, synchronization block identifiers forming a synchronization group, a synchronization signature of the synchronization group, and a block identifier where the synchronization signature is located.
  • the synchronization group identifier may be the number or name of the synchronization group; the block identifier refers to a mark for uniquely identifying or determining a certain block, and may be the ID or number of the block.
  • a synchronization group index table refers to a table that stores index data of different synchronization groups according to a certain order or rule. For example, index data of different synchronization groups can be stored according to the synchronization group identifier. A synchronization group can uniquely correspond to a row or One column and so on. Optionally, the synchronization group index table can be dynamically updated according to the synchronization group established in the blockchain, such as adding, deleting, or replacing.
  • the local node after receiving the synchronization group creation transaction request and performing signature processing to verify the transaction data, the local node saves the mapping relationship of the synchronization group, synchronization signature, and synchronization block in the local synchronization group index table.
  • a local node when a local node needs to query a certain synchronization group, it can query the required synchronization group in any one or several of the following ways:
  • the local node when the local node needs to use the synchronization group to synchronize the blockchain, if the synchronization group index table is stored locally, it can first query in the local synchronization group index table. If there is a match with the required synchronization group, The synchronization group can directly obtain the index data of the synchronization group for synchronization operation; if there is no matching synchronization group, the local node can initiate a synchronization group query transaction request to each node it trusts to make each node it trusts After receiving the synchronization group query transaction request, the local synchronization group index table is used to query the index data of the synchronization group; if the local node receives the unqueried information feedback from each node it trusts, it sends the current block to the current block The generating node sends a synchronization group query transaction request to request the current block generating node to traverse the blockchain from the current block forward to query the synchronization group. If the current block generation node does not find a matching synchronization group
  • the above-mentioned methods of querying the synchronization group can be performed independently; or the local query can be performed first, which is the first method, and then the synchronization group query transaction request is sent, which is the first method. Search in the second or third way.
  • the nodes in the blockchain can maintain a synchronization group index table locally, and store the index data of the synchronization group in The local synchronization group index table provides convenience for subsequent query, verification, and data synchronization.
  • FIG. 5 is a flowchart of a data processing method for a blockchain provided in Embodiment 5 of the present application. Based on the foregoing embodiment, this embodiment acquires a local node by receiving a synchronization group creation transaction request initiated by any node in real time. The way synchronization groups create transaction requests is further optimized. Referring to FIG. 5, the method specifically includes:
  • the proposal request means that any node in the blockchain needs to execute a transaction, such as a smart contract, to initiate a proposal transaction request, and the current block generation node requests feedback from other nodes on the voting results;
  • the proposal request can include At least one of the following: the synchronization block and signature method of the synchronization group to be formed.
  • the proposal request may indicate the creation content of the synchronization group based on the default mode, for example, the currently initiated synchronization group creation proposal request indicates that a synchronization point is created in the current block.
  • S520 According to the proposal request, a proposal voting notification is initiated, and other nodes are required to vote on the creation of the synchronization group.
  • the current block generation node can determine the voting result according to the voting ratio.
  • the voting ratio can be set by default or specified by the synchronization group creation proposal request.
  • the associated synchronization group creation transaction request may be accepted, and the synchronization group creation transaction request may generally be carried in the synchronization group creation proposal request.
  • S550 According to the synchronization group creation transaction request, determine a continuous block from the first block to the current block as the synchronization block of the synchronization group.
  • a voting is made on the synchronization group creation proposal request based on the consensus mechanism of the blockchain network, and the synchronization group creation transaction request in determining the proposal request is approved After that, the subsequent synchronization group creation process is executed.
  • FIG. 6 is a flowchart of a data processing method for a blockchain provided in Embodiment 6 of the present application. Based on the foregoing embodiment, this embodiment provides a method for determining a synchronization signature of a synchronization group according to a synchronization block. Referring to FIG. 6, the method specifically includes:
  • S620 Determine a continuous block from the first block to the current block according to the synchronization group creation transaction request as the synchronization block of the synchronization group.
  • S630 The block identifiers of the synchronization blocks are serially connected together, and signature calculation is performed to form a synchronization signature of the currently created synchronization group.
  • the local node obtains the block identifier of the synchronization block from the block header of each synchronization block, and divides the block of each synchronization block.
  • the identifiers are connected together as a whole identifier in the order of the number of each synchronization block, and the overall identifier is signed using the signature method specified in the synchronization group creation transaction request, the local node's public key, private key, or a signature algorithm such as SHA256. Forms the synchronization signature of the currently created synchronization group.
  • determining the synchronization signature of the synchronization group according to the synchronization block may further include: establishing the Merkel tree of the block identifier of each synchronization block, and The root of the Merkel tree is used as a synchronous signature.
  • the machine node After determining the synchronization block of the synchronization group according to the synchronization group creation transaction request, the machine node obtains the block identifier of the synchronization block from the block header of each synchronization block, and according to the block identifier of each synchronization block
  • the Merkel tree algorithm is used to generate the Merkel tree, and the root of the Merkel tree is used as the synchronization signature of the synchronization group.
  • determining the synchronization signature of the synchronization group according to the synchronization block may further include: determining the synchronization signature of the synchronization group according to the synchronization block and association information, where the association information includes at least one of the following: creator information and creation time information.
  • the creator information refers to the information of the node that created the synchronization group, such as the node ID; the creation time information refers to the local timestamp of the local node that created the synchronization group.
  • the local node can string the identifications of the synchronization blocks together as an overall identification, and add the creator information and creation time information to the overall identification to form a new overall identification, and sign the new overall identification.
  • the current block generating node records the synchronization signature as transaction data in the current block, and sends the current block to other nodes for verification.
  • other nodes After receiving the current block sent by the local node, other nodes first obtain the creation time information from the synchronization signature, and compare the creation time information with the current local time of the local node. If the time difference is not within the preset time threshold , It means that the local node may be fake, and the subsequent synchronization signature verification process will not be performed, and the verification failure information will be directly fed back; if the time difference is within a preset time threshold, other nodes can use the same The synchronization signature of the synchronization group is calculated.
  • the current block is confirmed to be valid and the current block is stored in the blockchain. If it is not consistent, it is sent to the blockchain. Other nodes send block invalidation information containing the current block identifier.
  • the technical solution provided by the embodiment of the present application uses different synchronization signature algorithms to determine the synchronization signature of the synchronization group according to the synchronization block and the actual situation, so that the use of the synchronization signature is more flexible; at the same time, the synchronization signature is determined according to the synchronization block, which indirectly indicates that The synchronization signature follows certain rules and the association relationship among synchronization blocks, synchronization groups, and synchronization signatures, which facilitates subsequent synchronization group queries.
  • FIG. 7 is a flowchart of a data processing method of a blockchain provided in Embodiment 7 of the present application. Based on the foregoing embodiment, this embodiment further provides a method for determining a synchronization signature of a synchronization group according to a synchronization block. Referring to FIG. 7, the method specifically includes:
  • S710 Obtain a synchronization group creation transaction request.
  • S720 Determine a continuous block from the first block to the current block according to the synchronization group creation transaction request as the synchronization block of the synchronization group.
  • S730 Sign the block header data of each synchronization block to form a sub-signature, use each sub-signature to establish a Merkel tree, and use the root of the Merkel tree as a synchronization signature.
  • the block header data may include a previous block identifier, a block creation timestamp, a random number, a target hash, and a Merkle tree root established by transaction data in the block.
  • the sub-signature can be a hash signature or the like.
  • the local node After the local node determines the synchronization block of the synchronization group according to the synchronization group creation transaction request, it can obtain the block header data of the synchronization block from each synchronization block, and the block header data of each synchronization block. Sub-signatures are performed using signatures such as hash signatures. Based on each sub-signature, a Merkel tree algorithm is used to generate the Merkel tree, and the root of the Merkel tree is used as the synchronization signature of the synchronization group.
  • determining the synchronization signature of the synchronization group according to the synchronization block may further include: determining the synchronization signature of the synchronization group according to the synchronization block and association information, where the association information includes at least one of the following: creator information and creation time information.
  • the creator information refers to the information of the node that created the synchronization group, such as the node ID; the creation time information refers to the local timestamp of the local node that created the synchronization group.
  • the local node signs the block header data of each synchronized block to form a sub-signature.
  • the Merkel tree is generated using the Merkel tree algorithm, and the root of the Merkel tree is created and created.
  • the user information and the creation time information are used as the synchronization signature of the synchronization group.
  • a sub-signature is formed by first signing the block header data of each synchronized block, and then the Merkel tree algorithm is used to calculate the sub-signature to generate a Merkel tree.
  • the root acts as a synchronous signature.
  • determining the synchronization signature of the synchronization group according to the synchronization block may further include: performing signature calculation according to the synchronization block of the currently created synchronization group and the synchronization signature of at least one existing synchronization group to form the synchronization of the currently created synchronization group. signature.
  • the local node may first query from the local synchronization group index table to obtain the synchronization signature of the existing synchronization group included in the currently created synchronization group.
  • the synchronization block currently created includes the 0th block to the 300th block; the existing synchronization group 1 is composed of the 0th block to the 100th block, and the synchronization group 2 is composed of the 0th block From the block to the 200th block, the local node can combine the synchronization signature of synchronization group 1 and synchronization signature of synchronization group 2 and the synchronization block of the current synchronization group to sign to form the synchronization signature of the currently created synchronization group.
  • the signature method used in this embodiment makes the synchronization groups related and not isolated.
  • FIG. 8 is a flowchart of a method for verifying data of a blockchain provided in Embodiment 8 of this application.
  • This embodiment provides a method for verifying data when a synchronization group exists in a blockchain.
  • the method is applicable to a blockchain network. Solution in which any node synchronizes data from other nodes.
  • the synchronization group may be created in the manner of the foregoing embodiment.
  • the solution of this embodiment is executed by a data verification device of the blockchain.
  • the device may be implemented in software and / or hardware, and may generally be configured in an electronic device of a blockchain node. Referring to FIG. 8, the method specifically includes:
  • S810 Initiate a block synchronization request to other nodes, and receive a block feedback from other nodes.
  • a block synchronization request is initiated to other nodes to download synchronized block data.
  • the other nodes may be any node storing a blockchain, preferably a trusted node of a local node.
  • the block synchronization request refers to the demand generated when the nodes in the blockchain need to synchronize the block data.
  • the block synchronization request may include the block identifier of the required synchronization block.
  • generating a block synchronization request may include at least one of the following: 1) if it is determined that the local node is a node newly joining the blockchain network, generating a block synchronization request to obtain a complete blockchain; 2) the local When a node's blockchain is missing some or all of its blocks due to communication quality or other factors such as malicious attacks, the local needs to download the blockchain synchronously, a block synchronization request is generated. 3) Generate a block synchronization request for the block to be queried according to the block data query request; 4) Generate a block synchronization request for the block to be verified according to the block data verification request.
  • the local node sends a block synchronization request to other nodes in the blockchain network. After receiving the block synchronization request sent by the local node, the other node obtains the block data of the corresponding synchronization group and feeds back the block data to the local node.
  • Machine node; the local node receives the block data of the synchronization group feedback from other nodes and saves it locally.
  • S820 Determine a synchronization group matching the block to be synchronized, and query the synchronization signature of the synchronization group from the block, where the synchronization group includes at least one synchronization block.
  • the local node may perform a synchronization group lookup in a locally maintained index table or a blockchain according to the block synchronization request included in the block synchronization request. If a matching synchronization group is found, it will The matching synchronization group is determined as the synchronization group where the block to be synchronized is located; if a matching synchronization group is not found, a synchronization group creation transaction request can be sent to the blockchain network to request the blockchain network to create the synchronization group To get a sync group.
  • the locally maintained index table can be added to the synchronization group information for query when the synchronization group is created.
  • the method may further include: if it is determined that there is no matching synchronization group required, initiating a synchronization group creation transaction request.
  • the local node After the local node determines the synchronization group where the block to be synchronized is located, it can obtain the synchronization signature of the synchronization group from the block according to the synchronization group.
  • the execution sequence of the above operations S810 and S820 is not limited.
  • a block data synchronization request may be initiated, and synchronized block data may be received from other nodes, and then the corresponding synchronization group may be matched to obtain a synchronization signature.
  • S830 Calculate a synchronization signature according to the synchronization block, and compare and verify with the obtained synchronization signature.
  • the synchronization block refers to a block forming a synchronization group, and each synchronization group includes at least one synchronization block.
  • the synchronization signatures of the obtained synchronization groups are different, and the manner in which the local node calculates the synchronization signatures based on the synchronization block is also different.
  • the local node can obtain the synchronization signature of the synchronization group according to the synchronization block calculation, and compare the calculated synchronization signature with the synchronization signature obtained from the block. If the two are the same, it is determined that the synchronization signature verification passes ; If not, then it is determined that the synchronization signature of the synchronization group has not been verified.
  • the synchronization signature verification of the synchronization group passes, it is determined that the synchronization block verification of the synchronization group passes; if the synchronization signature fails verification, it is determined that the synchronization block of the synchronization group fails verification.
  • the verification of the synchronous signature is used instead of the block identification verification function of the synchronized block, or the verification priority of the synchronized signature may be set higher than the verification priority of the synchronized block.
  • the verification is performed once in the synchronization group unit, and there is no need to verify the block identifier of each synchronized block one by one, which simplifies the verification process.
  • the synchronous signature is recorded in the block, it is recognized and effectively supervised by other nodes, and it can also play a role in preventing block data from being tampered with.
  • the local node when the local node needs to use block data for synchronization, it only needs to compare and verify the synchronization signature calculated according to the synchronization block with the synchronization signature obtained from the block.
  • the method of verifying block data is optimized, the verification process is simplified, and the data synchronization is accelerated.
  • FIG. 9 is a schematic structural diagram of a blockchain data processing device provided in Embodiment 9 of the present application.
  • the device can be configured in a blockchain node and can perform data processing of the blockchain provided by any embodiment of the present application.
  • the method has the corresponding functional modules and beneficial effects of executing the method. As shown in Figure 9, the device includes:
  • a transaction request acquisition module 910 configured to acquire a synchronization group to create a transaction request
  • the synchronization block determination module 920 is configured to create a transaction request according to a synchronization group, and determine a continuous block from the first block to the current block as a synchronization block of the synchronization group;
  • a synchronization signature determining module 930 configured to determine a synchronization signature of a synchronization group according to a synchronization block
  • the recording module 940 is configured to record the synchronization signature as transaction data in a block.
  • a synchronization group is constructed according to the synchronization group creation transaction request, and a synchronization signature of the synchronization group is determined according to the synchronization block that forms the synchronization group, and then the synchronization signature is used as a transaction.
  • Data is stored in blocks, reducing the probability of tampering with the synchronization signature. If any node in the blockchain wants to obtain block data, it can be verified by using a synchronization group as a unit, which provides a new idea for nodes in the blockchain to verify the blockchain data and optimizes the verification of block data. the way. If used in the scenario of synchronizing block data, multiple synchronization blocks can be verified at one time, speeding up data synchronization.
  • the transaction request obtaining module 910 is configured to perform at least one of the following operations:
  • a synchronization group creation transaction request is initiated.
  • the above-mentioned synchronization group creation rule may include at least one of the following: the current time satisfies a preset time value; the current block height satisfies a preset block height interval.
  • the above device may further include:
  • the saving module is configured to use the synchronization signature as transaction data and record the index data of the synchronization group in the local synchronization group index table after recording in the block.
  • the above device may further include:
  • the query module is configured to query the index data of the synchronization group in the local synchronization group index table; or initiate a synchronization group query transaction request to request the current block generation node to traverse the blockchain from back to front to query the synchronization group.
  • the synchronization signature determination module 930 is configured to perform at least one of the following operations:
  • the synchronization signature determination module 930 is further configured to:
  • the synchronization signature of the synchronization group is determined according to the synchronization block and association information, where the association information includes at least one of the following: creator information and creation time information.
  • the recording module 940 is configured as:
  • the current block generation node records the synchronization signature as transaction data in the current block, and sends the current block to other nodes for verification.
  • FIG. 10 is a schematic structural diagram of a device provided in Embodiment 10 of the present application.
  • FIG. 10 shows a block diagram of an exemplary device 12 suitable for use in implementing embodiments of the present application.
  • the device 12 shown in FIG. 10 is merely an example, and should not impose any limitation on the functions and scope of use of the embodiments of the present application.
  • the device 12 is typically a computing device that assumes the functions of a blockchain network node.
  • the device 12 is represented in the form of a general-purpose computing device.
  • the components of the device 12 may include, but are not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 connecting different system components (including the system memory 28 and the processing unit 16).
  • the bus 18 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local area bus using any of a variety of bus structures.
  • these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the enhanced ISA bus, the Video Electronics Standards Association (VESA) local area bus, and peripheral component interconnects ( PCI) bus.
  • the device 12 typically includes a variety of computer system-readable media. These media can be any available media that can be accessed by the device 12, including volatile and non-volatile media, removable and non-removable media.
  • System memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32.
  • the device 12 may further include other removable / non-removable, volatile / nonvolatile computer system storage media.
  • the storage system 34 may be used to read and write non-removable, non-volatile magnetic media (not shown in FIG. 10, commonly referred to as a "hard drive").
  • a disk drive for reading and writing to a removable non-volatile disk (such as a "floppy disk"), and a removable non-volatile optical disk (such as a CD-ROM, DVD-ROM, etc.) may be provided. Or other optical media).
  • each drive may be connected to the bus 18 through one or more data medium interfaces.
  • the system memory 28 may include at least one program product having a set (eg, at least one) of program modules configured to perform the functions of the embodiments of the present application.
  • a program / utility tool 40 having a set (at least one) of program modules 42 may be stored in, for example, system memory 28.
  • Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and programs Data, each or some combination of these examples may include an implementation of the network environment.
  • the program module 42 generally performs functions and / or methods in the embodiments described in this application.
  • the device 12 may also communicate with one or more external devices 14 (such as a keyboard, pointing device, display 24, etc.), and may also communicate with one or more devices that enable a user to interact with the device 12, and / or with the device that enables
  • the device 12 can communicate with any device (e.g., a network card, modem, etc.) that can communicate with one or more other computing devices. This communication can be performed through an input / output (I / O) interface 22.
  • the device 12 may communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through the network adapter 20. As shown, the network adapter 20 communicates with other modules of the device 12 via the bus 18.
  • LAN local area network
  • WAN wide area network
  • public network such as the Internet
  • the processing unit 16 executes various functional applications and data processing by running a program stored in the system memory 28, for example, implementing a data processing method of the blockchain provided by the embodiment of the present application.
  • the eleventh embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored.
  • the program is executed by a processor, the data processing method of the blockchain described in the foregoing embodiment can be implemented.
  • the computer-readable storage medium can be configured on a blockchain node.
  • the computer storage medium in the embodiments of the present application may adopt any combination of one or more computer-readable media.
  • the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
  • the computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in combination with an instruction execution system, apparatus, or device.
  • the computer-readable signal medium may include a data signal in baseband or propagated as part of a carrier wave, which carries a computer-readable program code. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, and the computer-readable medium may send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device .
  • Program code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for performing the operations of this application may be written in one or more programming languages, or a combination thereof, including programming languages such as Java, Smalltalk, C ++, and also conventional Procedural programming language—such as "C" or similar programming language.
  • the program code can be executed entirely on the user's computer, partly on the user's computer, as an independent software package, partly on the user's computer, partly on a remote computer, or entirely on a remote computer or server.
  • the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (such as through an Internet service provider) Internet connection).
  • LAN local area network
  • WAN wide area network
  • Internet service provider Internet service provider

Abstract

本申请实施例公开了一种区块链的数据处理方法、装置、设备及介质。其中,区块链的数据处理方法应用于区块链节点,该方法包括:获取同步组创建事务请求;根据所述同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为所述同步组的同步区块;根据所述同步区块确定所述同步组的同步签名;将所述同步签名作为事务数据,记录在区块中。

Description

一种区块链的数据处理方法、装置、设备及介质
本申请要求在2018年9月18日提交中国专利局、申请号为201811089389.6的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术,例如涉及一种区块链的数据处理方法、装置、设备及介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
现有区块链技术中,当某个节点需要从其他节点同步获取区块链数据时,需要对接收到的数据进行多重验证,以确定区块的有效性、合法性和数据正确性等,验证过程需要占用大量处理器的处理资源,耗时较长。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种区块链的数据处理方法、装置、设备及介质,以优化区块数据的验证方式。
本申请实施例提供了一种区块链的数据处理方法,应用于区块链节点,包括:获取同步组创建事务请求;根据所述同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为所述同步组的同步区块;根据所述同步区块确定所述同步组的同步签名;将所述同步签名作为事务数据,记录在区块中。
本申请实施例还提供了一种区块链的数据处理装置,配置于区块链节点中,包括:事务请求获取模块,设置为获取同步组创建事务请求;同步区块确定模块,设置为根据所述同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为所述同步组的同步区块;同步签名确定模块,设置为根据所述同步区块确定所述同步组的同步签名;记录模块,设置为将所述同步签名作为事务数据,记录在区块中。
本申请实施例还提供了一种设备,包括:一个或多个处理器;存储装置,设置为存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个 处理器实现第一方面中任意所述的区块链的数据处理方法。
本申请实施例还提供了一种介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的区块链的数据处理方法。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例一中提供的一种区块链的数据处理方法的流程图;
图2是本申请实施例二中提供的一种区块链的数据处理方法的流程图;
图3是本申请实施例三中提供的一种区块链的数据处理方法的流程图;
图4是本申请实施例四中提供的一种区块链的数据处理方法的流程图;
图5是本申请实施例五中提供的一种区块链的数据处理方法的流程图;
图6是本申请实施例六中提供的一种区块链的数据处理方法的流程图;
图7是本申请实施例七中提供的一种区块链的数据处理方法的流程图;
图8是本申请实施例八中提供的一种区块链的数据验证方法的流程图;
图9是本申请实施例九中提供的一种区块链的数据处理装置的结构示意图;
图10是本申请实施例十中提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1为本申请实施例一提供的区块链的数据处理方法的流程图,本实施例可适用于区块链网络中的数据处理情况,例如可适用于区块链网络中,某个节点需要从其他节点同步获取区块链数据的场景。所适用的区块链可以是公有链、私有链或者联盟链。本申请实施例的方案应用于区块链节点,该方法可以由区块链的数据处理装置来执行,该装置可采用软件和/ 或硬件的方式实现,并可集成于承载区块链节点的计算设备中。参见图1,该方法具体包括:
S110,获取同步组创建事务请求。
其中,同步组是由一个或多个区块所组成;同步组创建事务请求是指用于创建同步组的事务请求,可选的,同步组创建事务请求中可以包括:同步组所需包括区块的区块标识、同步组所需设置的同步点位置、同步组的签名方式或同步组的标识等信息。本实施例中,同步组创建事务请求还可以是一种用于创建同步组的创建指令,用于指示节点在当前区块位置处设置同步点以创建同步组。
所谓同步点一般可以指同步组的结束位置,而同步组的起始位置可默认设置,例如默认每个同步组均从上一个同步点开始,或均从第0个区块开始。本机节点可以接收区块链网络中其它节点发起的同步组创建事务请求,也可以本地发起同步组创建事务请求。
需要说明的是,本机节点可以是当前区块生成节点,也可以是其它区块链节点;本机节点是否为当前区块生成,获取同步组创建事务请求的方式不同。具体的,若本机节点是当前区块生成节点,则可以通过如下方式获取同步组创建事务请求:1)接收区块链网络中的任一节点实时发起的同步组创建事务请求;2)本机节点在检测到区块链的当前状态满足本地部署数据中或历史区块中存储的同步组创建规则时,本地发起同步组创建事务请求;3)本机节点在需要同步组进行区块数据同步时,本地发起同步组创建事务请求。
对应的,若本机节点是其它区块链节点,则可以通过如下方式获取同步组创建事务请求:1)接收区块链网络中的任一节点实时发起的同步组创建事务请求;2)接收当前区块生成节点所发起的同步组创建事务请求;3)本机节点在需要同步组进行区块数据同步时,本地发起同步组创建事务请求。
为了保证区块数据的安全和可靠性,示例性的,获取同步组创建事务请求之后还可以包括:采用控制权限公钥对同步组创建事务请求的创建者身份进行验证。
需要说明的是,为了进一步对发起同步组创建的权限进行控制,可以控制由设定权限的节点发起同步组的创建,例如由中心节点进行发起。区块链中的中心节点拥有控制权限,采用控制权限私钥对同步组创建事务请求的部分内容进行加密,以表明身份,因此本机节点在获取到同步组创建事务请求之后,可以采用控制权限公钥对同步组创建事务请求中至少包含创建者身份标识的部分内容进行解密。后续,可以将解密得到的创建者身份标识发送给设定的验证节点进行验证,或将解密得到的创建者身份标识与预先存储的身份标识进行匹配来进行验证。其中,区块链中的每个节点本地可以维护一张存储各个节点身份标识的表。身份标识可以是节点标识或网络IP地址等。
S120,根据同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为同步组的同步区块。
其中,同步区块为组成同步组的区块。首个区块可以是区块链中第0个区块,即创世区块;当前区块是指区块链网络当前正在生成的区块,是区块链网络中最新生成的区块;同步组的同步区块个数可以是一个,例如首个区块和当前区块为同一个区块;也可以是多个。
需要说明的是,当前区块随着区块链网络的运行,不断的更新,因此不同同步组之间的同步区块交叠。例如,当前区块为第10个区块,则区块链中第0个区块至第10个区块一个同步组;若当前区块为第20个区块时发起同步组创建,则第0个区块至第20个区块为一个同步组等。本实施例中同步点默认设置在当前区块位置处,且作为同步组的末尾区块,首个区块默认为第0个区块。
具体的,本机节点可以根据同步组创建事务请求中包括的同步点位置确定当前区块为同步组的末尾区块,并将区块链中从0开始到当前区块的连续区块作为同步组的同步区块。本机节点还可以根据同步组创建事务请求中包括的区块标识,定位到当前区块,并将区块链中从0开始到当前区块的连续区块作为同步组的同步区块。若同步组创建事务请求是创建指令,本机节点在获取到同步组创建事务请求之后,直接在当前区块位置处设置一个同步点,并将从0开始到同步点位置之间的连续区块确定同步组的同步区块等。
S130,根据同步区块确定同步组的同步签名。
其中,同步签名是指用于唯一识别或确定某一同步组的标识,可以用于代表同步组内所包含的同步区块的信息等。可选的,同步组的同步签名方式可以是同步组创建事务请求中指定的签名方式,也可以是区块链网络规定的签名方式,还可以是本机节点采用自身的公钥、私钥或签名算法如SHA256等确定的签名方式等。
具体的,不同的签名方式决定了对区块数据的验证程度,后续实施例将详细的介绍不同签名方式确定同步组的同步签名的实现方案。例如,可以依据同步组内各同步区块的区块标识进行哈希签名得到该同步组的同步签名。
需要说明的是,本实施例依据同步区块来确定同步组的同步签名,间接表明了同步区块、同步组及同步签名三者之间的关联关系,为后续进行同步组查询带来了便利。
S140,将同步签名作为事务数据,记录在区块中。
为了降低本机节点篡改同步组的同步签名的概率,在根据同步区块确定同步组的同步签名之后,可以将同步签名作为事务数据,存储在区块中。
可选的,将同步签名作为事务数据,记录在区块中可以包括:通过当前区块生成节点将同步签名作为事务数据,记录在当前区块中;将当前区块发送给其他节点进行验证。
具体的,若本机节点是当前区块生成节点,本机节点在依据同步区块确定同步组的同步签名之后,直接将该同步组的同步签名作为事务数据,记录在当前区块中;并将当前区块发送给区块链中的其他节点进行验证;其他节点接收到本机节点发送的当前区块后,将对同步组创建事务请求进行处理,采用与本机节点相同的方式计算该同步组的同步签名,若同步签名与当前区块中的同步签名一致,则确认当前区块有效,并将当前区块存储在区块链中;若不一致,则向区块链中的其他节点发送包含当前区块标识的区块失效信息。
将同步签名作为事务数据,记录在区块中之后,若区块链中任一节点想要同步区块链,则可以对同步签名进行验证,在同步签名验证通过之后,以同步组为单位进行同步,加快了数据同步速率。
需要说明的是,由于本实施例是从第0个区块到当前区块来构建同步组的,因此,每次最新构建的同步组的同步区块将涵盖之前所有已构建的同步组的同步区块,因此若区块中存储了最新的同步组的同步签名,区块链中之前所存储的同步组的同步签名可以默认为失效。若需要下载同步区块链时,在区块链中从后向前遍历可以快速查找到最新的同步组所对应的同步签名,不用识别所有的区块,减少了获取同步组的同步签名所用的时间。此外,本实施例中,从首个区块开始建立的同步组,更适用于区块链网络中新加入的节点下载同步区块链,只需要验证一次同步组的同步签名即可,不需要对同步组内每个区块都进行验证,简化了验证流程。若需要同步下载的是区块链中从0开始到某个位置的区块段,则可以查找该区块段所属的最接近的一个同步签名来使用。
本申请实施例提供的技术方案,在获取同步组创建事务请求后,依据同步组创建事务请求构建从首个区块到当前区块的同步组,更适用于区块链网络中新加入的节点下载同步区块链;并依据组成同步组的同步区块确定同步组的同步签名,而后将同步签名作为事务数据存储于区块中,降低了同步签名被篡改的概率。若区块链中任一节点想要获取区块数据,可以以同步组为单位进行验证,为区块链中的节点验证区块链数据提供了一种新思路,优化了区块数据的验证方式。若用于同步区块数据的场景,则可以一次性验证多个同步区块,加速了数据同步。
实施例二
图2为本申请实施例二提供的区块链的数据处理方法的流程图,本实施例在上述实施例 的基础上,提供了一种获取同步组创建事务请求的方式,本实施例基于区块链节点的部署数据来创建同步组。参见图2,该方法具体包括:
S210,如果识别到当前状态满足本地部署数据中的同步组创建规则时,则发起同步组创建事务请求。
其中,当前状态是指区块链网络当前所处的状态,可以包括当前时间和当前区块高度等中的至少一种。当前时间是指本机节点当前的本地时间;区块高度是区块链的当前区块的序号;当前区块高度是指区块链网络当前的区块个数等;本地部署数据是指本机节点参与到区块链网络时,本地所部署的区块链网络的运行规则;本地部署数据可以包括同步组创建规则、发行机制、奖罚机制等。需要说明的是,本地部署数据可以存储于本机节点的本地。还可存储于创世区块中,即区块链的第0个区块中。并且,部署数据还可以以智能合约的形式提交到区块链网络中,并存储在某个区块里面,可定期去执行部署数据中的同步组创建规则。
同步组创建规则是指用于创建同组所需满足的条件。可选的,同步组创建规则可以包括下述至少一项:
1)当前时间满足预设时间值;2)当前区块高度满足预设区块高度间隔等。其中,预设时间值是指预先设定的创建同步组的固定时间点或时间周期,例如每隔10分钟创建同步组,或每整时间点创建同步组等;预设区块高度间隔是指预先设定的创建同步组的区块高度周期,例如每隔100个区块就创建一个新的同步组。
具体的,若本机节点识别到当前时间满足本地部署数据中的同步组创建的预设时间值,则发起同步组创建事务请求。例如,预设时间值为每隔10分钟,当本机节点识别到当前时间减去上一同步组创建时间的差值等于10分钟,则发起同步组创建事务请求。还可以是若本机节点识别到当前区块高度满足本地部署数据中同步组创建的预设区块高度间隔,则发起同步组创建事务请求。例如,预设区块高度间隔为前一个同步组的末尾区块与当前区块之前相隔100个区块,当本机节点识别到当前区块高度满足预设区块高度间隔,则发起同步组创建事务请求。也可以是当前时间和当前区块高度分别满足本地部署数据中的同步创建的预设时间和预设区块高度间隔,则发起同步组创建事务请求。
需要说明的是,本实施例中的本机节点为当前区块生成节点或专门用于监管同步组创建的节点。
S220,根据同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为同步组的同步区块。
S230,根据同步区块确定同步组的同步签名。
S240,将同步签名作为事务数据,记录在区块中。
本申请实施例提供的技术方案,区块链节点通过在加入区块链网络时,在本地部署数据中添加同步组创建规则,保证了同步组创建的有序性以及区块链网络运行的合理性;并在识别到区块链当前状态满足同步组创建规则时,能够自动发起同步组创建请求,为获取同步组创建事务请求提供了一种新思路。
实施例三
图3为本申请实施例三提供的区块链的数据处理方法的流程图,本实施例在上述实施例的基础上,又提供了一种获取同步组创建事务请求的方式,本实施例的技术方案适用于通过智能合约的方式确定同步组创建规则。参见图3,该方法具体包括:
S310,如果识别到当前状态满足历史区块中存储的同步组创建规则时,则发起同步组创建事务请求。
本实施例中,同步组创建规则可以以智能合约,或其他该区块链网络认可的形式,作为事务数据被写入到区块中。可选的,同步组创建规则中可以包括当前时间满足预设时间值和当前区块高度满足预设区块高度间隔等中的至少一项。
具体的,本机节点可以遍历历史区块来获取同步组创建规则,也可以是历史区块在存储同步组创建规则时,一并设置触发通知机制,通知当前区块生成节点查询获取同步组创建规则。当本机节点识别到区块链的当前状态满足历史区块中存储的同步组创建规则,则发起同步组创建事务请求。
S320,根据同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为同步组的同步区块。
S330,根据同步区块确定同步组的同步签名。
S340,将同步签名作为事务数据,记录在区块中。
本申请实施例提供的技术方案,通过将同步组创建规则存储于区块中,保证同步组创建规则的不可篡改性和透明度,并在区块链节点识别到区块链当前状态满足同步组创建规则时,能够自动发起同步组创建请求,为获取同步组创建事务请求提供了一种新思路。
示例性的,获取同步组创建事务请求还可以通过如下几种方式:
1)如果产生同步组使用需求,则发起同步组创建事务请求。
其中,同步组使用需求是指需要使用同步组时所产生的需求;同步组使用需求中可以包括所需同步组所中包括的区块等;可选的,产生同步组使用需求可以包括:如果本地需要同 步区块链,则产生同步组使用需求;还可以包括:如果本地需要修改区块链中的数据,则产生同步组使用需求等。
具体的,当本机节点是新加入区块链的节点,或者本机节点由于通信质量或受到恶意攻击等其他因素导致本机节点的区块链缺失部分或全部区块等时,本机节点需要同步区块链,则本地产生同步组使用需求;本机节点可以依据同步组使用需求发起同步组创建事务请求;本机节点还可以向当前区块生成节点发送同步组使用需求请求,或当前区块生成节点检测到本机节点产生同步组使用需求,当前区块生成节点发起同步组创建事务请求。
2)接收任一节点实时发起的同步组创建事务请求。其中,任一节点可以为区块链中有同步需求的任一节点,也可以是具有超级权限的任一节点;还可以是当前区块生成节点等。具体的,本机节点可以通过接收区块链中任一节点实时发起的同步组创建事务请求而获得同步组创建事务请求。
3)区块链中的任一节点,如果本地需要使用同步组,且遍历区块链后未查询到与之匹配的同步组时,则发起同步组创建事务请求。
上述节点发起的同步组创建事务请求中,可以携带同步组创建规则,该创建规则可以规定当前时刻创建同步组的规则,也可以是规定后续持续创建同步组的规则,即,存储到区块中,作为后续的历史区块中的同步组创建规则。
实施例四
图4为本申请实施例四提供的区块链的数据处理方法的流程图,本实施例在上述实施例的基础上,进一步的优化,本实施例提供了同步组的索引方式。参见图4,该方法具体包括:
S410,获取同步组创建事务请求。
S420,根据同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为同步组的同步区块。
S430,根据同步区块确定同步组的同步签名。
S440,将同步签名作为事务数据,记录在区块中。
S450,将同步组的索引数据保存在本地的同步组索引表中。
其中,索引数据是指用于辅助节点快速查找到同步组信息的数据;可以包括同步组标识、组成同步组的各同步区块标识、同步组的同步签名以及同步签名所在的区块标识等。同步组标识可以是同步组的编号或名称等;区块标识是指用于唯一识别或确定某一区块的标志,可以是区块的ID或编号等。
同步组索引表是指按照一定顺序或规则存储不同同步组索引数据的表;例如,可以按照同步组标识存储不同同步组的索引数据,一个同步组可以唯一对应于同步组索引表中的一行或一列等。可选的,同步组索引表可根据区块链中所建立的同步组进行动态的更新如增加、删除或替换等。
具体的,本机节点在接收到同步组创建事务请求,且进行签名处理验证事务数据后,就将同步组、同步签名以及同步区块等的映射关系保存在本地的同步组索引表中。
示例性的,本机节点在需要查询某一同步组时,可以通过如下任意一种或几种方式查询所需同步组:
1)在本地的同步组索引表中查询同步组的索引数据。
2)发起同步组查询事务请求,请求当前区块生成节点从后向前遍历区块链以查询同步组;其中,同步组查询请求是指用于查询同步组的请求,可以包括所需同步组标识或同步组签名等。
3)向本机节点所信任的各个节点发送同步组查询请求,请求各个节点在本地的同步组索引表中查询同步组的索引数据等。
具体的,本机节点在需要使用同步组同步区块链时,若本地存储有同步组索引表,则可以先在本地的同步组索引表中进行查询,如果有与所需同步组相匹配的同步组,可以直接获取该同步组的索引数据进行同步操作;如果没有相匹配的同步组,本机节点可以向其所信任的各个节点发起同步组查询事务请求,以使其所信任的各个节点在接收到该同步组查询事务请求后,在本地的同步组索引表中查询同步组的索引数据;如果本机节点接收到其所信任的各个节点反馈的未查询到信息,则向当前区块生成节点发送同步组查询事务请求,以请求当前区块生成节点从当前区块开始向前遍历区块链以查询同步组。若当前区块生成节点也没有查询到匹配的同步组,则可以发起包括所需同步组的同步组创建事务请求。
需要说明的是,上述所给出的查询所需同步组的方式之间可以是独立的进行;也可以按照先进行本地查询即第一种方式,后进行发送同步组查询事务请求的方式即第二或第三种方式查询。
本申请实施例提供的技术方案,在构建同步组及将同步组的同步签名存储于区块后,区块链中的节点可以在本地维护一个同步组索引表,将同步组的索引数据保存在本地的同步组索引表中,为后续查询、验证及同步数据等提供了便利。
实施例五
图5为本申请实施例五提供的区块链的数据处理方法的流程图,本实施例在上述实施例的基础上,对本机节点通过接收任一节点实时发起的同步组创建事务请求而获取同步组创建事务请求的方式进一步的优化。参见图5,该方法具体包括:
S510,接收任一节点发起的同步组创建提案请求。
其中,提案请求是指区块链中的任一节点在需要执行某一事务,例如智能合约时,发起提案事务请求,由当前区块生成节点向其他节点要求反馈投票结果;提案请求中可以包括下述至少一项:要组建的同步组的同步区块和签名方式等。或者,提案请求可以基于默认方式表示同步组的创建内容,例如,当前发起的同步组创建提案请求表明在当前区块创建同步点。
S520,按照提案请求,发起提案投票通知,要求其他节点对该同步组的创建进行投票表决。
S530,根据投票结果确定提案请求中的同步组创建事务请求的可执行性。
当前区块生成节点可以根据投票比例确定投票结果,投票比例可以默认设置,或由同步组创建提案请求规定。
S540,接收任一节点实时发起的同步组创建事务请求。
具体的,在确定提案请求中的同步组创建事务请求被认可之后,可接受关联的同步组创建事务请求,该同步组创建事务请求一般可携带在同步组创建提案请求中。
S550,根据同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为同步组的同步区块。
S560,根据同步区块确定同步组的同步签名。
S570,将同步签名作为事务数据,记录在区块中。
本申请实施例提供的技术方案,在获取同步组创建事务请求之前,先基于区块链网络的共识机制对同步组创建提案请求进行表决,并在确定提案请求中的同步组创建事务请求被认可之后,执行后续的同步组创建流程。
实施例六
图6为本申请实施例六提供的区块链的数据处理方法的流程图,本实施例在上述实施例的基础上,提供了一种根据同步区块确定同步组的同步签名的方式。参见图6,该方法具体包括:
S610,获取同步组创建事务请求。
S620,根据同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为同步组的同步区块。
S630,将各个同步区块的区块标识顺序串在一起,进行签名计算,形成当前创建同步组的同步签名。
具体的,本机节点在根据同步组创建事务请求确定同步组的同步区块之后,从每个同步区块的区块头中获取该同步区块的区块标识,将各个同步区块的区块标识按照各个同步区块的编号顺序连接在一起作为一个整体标识,采用同步组创建事务请求中指定的签名方式、本机节点的公钥、私钥或签名算法如SHA256等对整体标识进行签名,形成当前创建同步组的同步签名。
为了进一步提高同步签名的安全性且增加同步签名的复杂度,示例性的,根据同步区块确定同步组的同步签名还可以包括:将各个同步区块的区块标识建立梅克尔树,将梅克尔树的根作为同步签名。具体的,机节点在根据同步组创建事务请求确定同步组的同步区块之后,从每个同步区块的区块头中获取该同步区块的区块标识,依据各个同步区块的区块标识,采用梅克尔树算法生成梅克尔树,将梅克尔树的根作为同步组的同步签名。
此外,为了进一步提高同步签名的安全性且增加同步签名的可信度,以及减少本机节点作假的概率。示例性的,根据同步区块确定同步组的同步签名还可以包括:根据同步区块和关联信息,确定同步组的同步签名,其中,关联信息包括下述至少一项:创建者信息和创建时间信息。
创建者信息是指创建同步组的节点信息如节点标识;创建时间信息是指本机节点创建同步组的本地时间戳。
具体的,本机节点可以将各个同步区块的标识顺序串在一起作为一个整体标识,并将创建者信息和创建时间信息添加到整体标识中形成新的整体标识,对新的整体标识进行签名,形成当前创建同步组的同步签名。还可以是本机节点在依据各个同步区块的区块标识,采用梅克尔树算法生成梅克尔树之后,将梅克尔树的根、创建者信息和创建时间信息一起作为同步组的同步签名。
S640,将同步签名作为事务数据,记录在区块中。
具体的,通过当前区块生成节点将同步签名作为事务数据,记录在当前区块中;将当前区块发送给其他节点进行验证。其他节点接收到本机节点发送的当前区块后,首先从同步签名中获取创建时间信息,将创建时间信息与本机节点的当前本地时间进行比较,若时间差值不在预设的时间阈值内,则说明本机节点可能存在作假的现象,将不进行后续同步签名的验 证流程,直接反馈验证失败信息;若时间差值在预设的时间阈值内,其他节点可以采用与本机节点相同的方式计算该同步组的同步签名,若同步签名与当前区块中的同步签名一致,则确认当前区块有效,并将当前区块存储在区块链中;若不一致,则向区块链中的其他节点发送包含当前区块标识的区块失效信息。
本申请实施例提供的技术方案,依据同步区块及实际情况采用不同的同步签名算法来确定同步组的同步签名,使同步签名的使用更加灵活;同时依据同步区块确定同步签名,又间接表明了同步签名遵循一定的规律,以及同步区块、同步组及同步签名三者之间的关联关系,为后续进行同步组查询带来了便利。
实施例七
图7为本申请实施例七提供的区块链的数据处理方法的流程图,本实施例在上述实施例的基础上,又提供了一种根据同步区块确定同步组的同步签名的方式。参见图7,该方法具体包括:
S710,获取同步组创建事务请求。
S720,根据同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为同步组的同步区块。
S730,将各个同步区块的区块头数据,进行签名以形成子签名,采用各个子签名建立梅克尔树,将梅克尔树的根作为同步签名。
其中,区块头数据可以包括前一区块标识、区块创建的时间戳、随机数、目标哈希及该区块内的事务数据所建立的梅克尔树根等。子签名可以是哈希签名等。
具体的,本机节点在根据同步组创建事务请求确定同步组的同步区块之后,可以从每个同步区块中获取该同步区块的区块头数据,并对各个同步区块的区块头数据采用哈希签名等签名方式进行子签名,依据各个子签名,采用梅克尔树算法生成梅克尔树,将梅克尔树的根作为同步组的同步签名。
为了进一步提高同步签名的安全性且增加同步签名的可信度,以及减少本机节点作假的概率。示例性的,根据同步区块确定同步组的同步签名还可以包括:根据同步区块和关联信息,确定同步组的同步签名,其中,关联信息包括下述至少一项:创建者信息和创建时间信息。创建者信息是指创建同步组的节点信息如节点标识;创建时间信息是指本机节点创建同步组的本地时间戳。
具体的,本机节点将各个同步区块的区块头数据,进行签名以形成子签名,依据各个子签名,采用梅克尔树算法生成梅克尔树之后,将梅克尔树的根、创建者信息和创建时间信息一起作为同步组的同步签名。
S740,将同步签名作为事务数据,记录在区块中。
本申请实施例提供的技术方案,通过先采用各个同步区块的区块头数据进行签名形成子签名,再采用梅克尔树算法对子签名进行计算生成梅克尔树,将梅克尔树的根作为同步签名。通过增加同步签名的复杂程度,进一步提高了同步签名的安全性且增加同步签名的可信度。
示例性的,根据同步区块确定同步组的同步签名还可以包括:根据当前创建同步组的同步区块,以及至少一个已存在同步组的同步签名,进行签名计算,形成当前创建同步组的同步签名。
具体的,本机节点在确定了当前创建同步组的同步区块之后,可以先从本地的同步组索引表中进行查询,获取当前创建同步组包含的已存在同步组的同步签名。例如,当前创建同步组包括的同步区块为第0个区块至第300个区块;已存在的同步组1由第0个区块至第100个区块组成,同步组2由第0个区块至第200个区块组成,本机节点可以结合同步组1的同步签名和同步组2的同步签名,以及当前同步组的同步区块进行签名,形成当前创建同步组的同步签名。本实施例中所采用的签名方法,使得各同步组之间是有关联的,不是孤立的。
实施例八
图8为本申请实施例八提供的区块链的数据验证方法的流程图,本实施例提供了一种对区块链中存在同步组时的数据验证方法,该方法适用于区块链网络中,任一节点从其他节点进行数据同步场景的解决方案。其中,该同步组可采用前述实施例的方式来创建。该实施例的方案由区块链的数据验证装置来执行,该装置可以采用软件和/或硬件的方式实现,一般可配置在区块链节点的电子设备中。参见图8,该方法具体包括:
S810,向其他节点发起区块同步请求,并接收其他节点反馈的区块。
本实施例中,在产生区块同步请求时,会向其他节点发起区块同步请求,以下载同步区块数据。其他节点可以是任何存储有区块链的节点,优选是本机节点的信任节点。区块同步请求是指区块链中的节点需要进行区块数据同步时所产生的需求,区块同步请求可以包括所需同步区块的区块标识。
可选的,产生区块同步请求可以包括如下至少一种:1)如果确定本机节点为新加入区块链网络的节点,则产生获取完整区块链的区块同步请求;2)本机节点由于通信质量或受 到恶意攻击等其他因素导致本机节点的区块链缺失部分或全部区块等时,本地需要同步下载区块链,则产生区块同步请求。3)根据区块数据查询请求产生待查询区块的区块同步请求;4)根据区块数据验证请求产生待验证区块的区块同步请求等。
本机节点向区块链网络中的其他节点发送区块同步请求,其他节点接收到本机节点发送的区块同步请求后,获取对应的同步组的区块数据,将区块数据反馈给本机节点;本机节点接收其他节点反馈的同步组的区块数据,并在本地保存。
S820,确定待同步区块匹配的同步组,并从区块中查询同步组的同步签名,其中,同步组包括至少一个同步区块。
具体的,本机节点可依据区块同步请求中包括的,所需同步的区块标识在本地维护的索引表或区块链等中进行同步组查找,如果查找到匹配的同步组,则将匹配的同步组确定为所需同步的区块所在的同步组;如果未查找到匹配的同步组,则可以向区块链网络发送同步组创建事务请求,以请求区块链网络创建该同步组,从而获得同步组。本地维护的索引表可以是在同步组创建时,将同步组信息添加进去的,以备查询。
可选的,该方法还可以包括:如果确定所需没有匹配的同步组,则发起同步组创建事务请求。
本机节点在确定所需同步的区块所在的同步组之后,可以依据同步组从区块中获取同步组的同步签名。
上述操作S810和S820的执行先后顺序不限,也可以先发起区块数据同步请求,从其他节点接收同步的区块数据,而后再匹配对应的同步组,获取同步签名。
S830,根据同步区块计算同步签名,与获取到的同步签名进行比对验证。
其中,同步区块是指组成同步组的区块,每个同步组包括至少一个同步区块。可选的,获取的同步组的同步签名方式不同,本机节点依据同步区块计算同步签名的方式也不同。
具体的,本机节点可以依据同步区块计算得到同步组的同步签名,将计算得到的同步签名与从区块中获取到的同步签名进行比对,若两者相同,则确定同步签名验证通过;若不相同,则确定同步组的同步签名未验证通过。
S840,如果验证通过,则确定为同步组的同步区块验证通过。
具体的,若同步组的同步签名验证通过,则确定同步组的同步区块验证通过;若同步签名未验证通过,则确定同步组的同步区块未验证通过。
需要说明的是,本实施例中采用同步签名的验证直接代替同步区块的区块标识验证功能,或者也可以是设置同步签名的验证优先级高于同步区块的验证优先级。在使用区块数据进行 同步时,以同步组为单位验证一次,无需逐一对每个同步区块的区块标识进行验证,简化了验证流程。此外,由于同步签名是记录在区块中的,因此得到了其他节点的认可和有效监督,同时也能够起到区块数据防止篡改的作用。
在上述方案中,还可以包括:如果确定待同步区块中的至少一个区块无匹配的同步组,则根据无匹配区块的区块标识进行验证。例如,当待同步区块为920块,在第900个区块处形成有同步点,第0至900个区块为一个同步组,而最后20块不归属于任何同步组,可以对于属于同步组的同步区块可以根据同步签名来进行验证,不属于同步组的区块仍然根据区块自身标识来进行验证。
本申请实施例提供的技术方案,本机节点在需要使用区块数据进行同步时,只需将依据同步区块计算得到的同步签名与从区块中获取到的同步签名进行比对验证即可,无需逐一对每个同步区块的区块标识进行验证,与现有的区块数据验证方法相比,优化了区块数据的验证方式,简化了验证流程,加速数据同步。
实施例九
图9为本申请实施例九提供的一种区块链的数据处理装置的结构示意图,该装置可配置于区块链节点中,可执行本申请任意实施例所提供的区块链的数据处理方法,具备执行方法相应的功能模块和有益效果。如图9所示,该装置包括:
事务请求获取模块910,设置为获取同步组创建事务请求;
同步区块确定模块920,设置为根据同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为同步组的同步区块;
同步签名确定模块930,设置为根据同步区块确定同步组的同步签名;
记录模块940,设置为将同步签名作为事务数据,记录在区块中。
本申请实施例提供的技术方案,在获取同步组创建事务请求后,依据同步组创建事务请求构建同步组,并依据组成同步组的同步区块确定同步组的同步签名,而后将同步签名作为事务数据存储于区块中,降低了同步签名被篡改的概率。若区块链中任一节点想要获取区块数据,可以以同步组为单位进行验证,为区块链中的节点验证区块链数据提供了一种新思路,优化了区块数据的验证方式。若用于同步区块数据的场景,则可以一次性验证多个同步区块,加速了数据同步。
示例性的,事务请求获取模块910设置为执行一下至少一种操作:
如果识别到当前状态满足本地部署数据中的同步组创建规则时,则发起同步组创建事务请求;
如果识别到当前状态满足历史区块中存储的同步组创建规则时,则发起同步组创建事务请求;
接收任一节点实时发起的同步组创建事务请求;
如果产生同步组使用需求,则发起同步组创建事务请求。
需要说明的是,上述的同步组创建规则可以包括下述至少一项:当前时间满足预设时间值;当前区块高度满足预设区块高度间隔。
示例性的,上述装置还可以包括:
保存模块,设置为将同步签名作为事务数据,记录在区块中之后,将同步组的索引数据保存在本地的同步组索引表中。
示例性的,上述装置还可以包括:
查询模块,设置为在本地的同步组索引表中查询同步组的索引数据;或发起同步组查询事务请求,请求当前区块生成节点从后向前遍历区块链以查询同步组。
示例性的,同步签名确定模块930设置为执行一下至少一种操作:
将各个同步区块的区块标识顺序串在一起,进行签名计算,形成当前创建同步组的同步签名;
将各个同步区块的区块标识建立梅克尔树,将梅克尔树的根作为同步签名;
将各个同步区块的区块头数据,进行签名以形成子签名,采用各个子签名建立梅克尔树,将梅克尔树的根作为同步签名;
根据当前创建同步组的同步区块,以及至少一个已存在同步组的同步签名,进行签名计算,形成当前创建同步组的同步签名。
示例性的,同步签名确定模块930还设置为:
根据同步区块和关联信息,确定同步组的同步签名,其中,关联信息包括下述至少一项:创建者信息和创建时间信息。
示例性的,记录模块940设置为:
通过当前区块生成节点将同步签名作为事务数据,记录在当前区块中;将当前区块发送给其他节点进行验证。
实施例十
图10为本申请实施例十提供的一种设备的结构示意图。图10示出了适于用来实现本申请实施方式的示例性设备12的框图。图10显示的设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。设备12典型的是承担区块链网络节点功能的计算设备。
如图10所示,设备12以通用计算设备的形式表现。设12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一 个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的区块链的数据处理方法。
实施例十一
本申请实施例十一还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述实施例所述的区块链的数据处理方法。该计算机可读存储介质,可以配置于区块链节点上。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地 在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (11)

  1. 一种区块链的数据处理方法,应用于区块链节点,所述方法包括:
    获取同步组创建事务请求;
    根据所述同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为所述同步组的同步区块;
    根据所述同步区块确定所述同步组的同步签名;
    将所述同步签名作为事务数据,记录在区块中。
  2. 根据权利要求1所述的方法,其中,获取同步组创建事务请求的操作包括以下至少一种:
    如果识别到当前状态满足本地部署数据中的同步组创建规则时,则发起同步组创建事务请求;
    如果识别到当前状态满足历史区块中存储的同步组创建规则时,则发起同步组创建事务请求;
    接收任一节点实时发起的同步组创建事务请求;
    如果产生同步组使用需求,则发起同步组创建事务请求。
  3. 根据权利要求2所述的方法,所述同步组创建规则包括下述至少一项:
    当前时间满足预设时间值;
    当前区块高度满足预设区块高度间隔。
  4. 根据权利要求1所述的方法,其中,将所述同步签名作为事务数据,记录在区块中之后,还包括:
    将同步组的索引数据保存在本地的同步组索引表中。
  5. 根据权利要求4所述的方法,所述方法还包括:
    在本地的同步组索引表中查询同步组的索引数据;或
    发起同步组查询事务请求,请求当前区块生成节点从后向前遍历区块链以查询同步组。
  6. 根据权利要求1所述的方法,其中,根据所述同步区块确定所述同步组的同步签名包括下述至少一种:
    将各个同步区块的区块标识顺序串在一起,进行签名计算,形成当前创建同步组的同步签名;
    将各个同步区块的区块标识建立梅克尔树,将梅克尔树的根作为同步签名;
    将各个同步区块的区块头数据,进行签名以形成子签名,采用各个子签名建立梅克尔树,将梅克尔树的根作为同步签名;
    根据当前创建同步组的同步区块,以及至少一个已存在同步组的同步签名,进行签名计算,形成当前创建同步组的同步签名。
  7. 根据权利要求6所述的方法,其中,根据所述同步区块确定所述同步组的同步签名包括:
    根据所述同步区块和关联信息,确定所述同步组的同步签名,其中,所述关联信息包括下述至少一项:创建者信息和创建时间信息。
  8. 根据权利要求1所述的方法,其中,将所述同步签名作为事务数据,记录在区块中包括:
    通过当前区块生成节点将所述同步签名作为事务数据,记录在当前区块中;
    将所述当前区块发送给其他节点进行验证。
  9. 一种区块链的数据处理装置,配置于区块链节点中,所述装置包括:
    事务请求获取模块,设置为获取同步组创建事务请求;
    同步区块确定模块,设置为根据所述同步组创建事务请求,确定从首个区块开始到当前区块之间的连续区块,作为所述同步组的同步区块;
    同步签名确定模块,设置为根据所述同步区块确定所述同步组的同步签名;
    记录模块,设置为将所述同步签名作为事务数据,记录在区块中。
  10. 一种设备,所述设备包括:
    一个或多个处理器;
    存储装置,设置为存储一个或多个程序;
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的区块链的数据处理方法。
  11. 一种介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-8中任一所述的区块链的数据处理方法。
PCT/CN2019/087577 2018-09-18 2019-05-20 一种区块链的数据处理方法、装置、设备及介质 WO2020057158A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/768,440 US11381385B2 (en) 2018-09-18 2019-05-20 Data processing method and apparatus for blockchain, and storage medium
JP2020531688A JP6945742B2 (ja) 2018-09-18 2019-05-20 ブロックチェーンのデータ処理方法、装置、機器及び媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811089389.6A CN109361734B (zh) 2018-09-18 2018-09-18 一种区块链的数据处理方法、装置、设备及介质
CN201811089389.6 2018-09-18

Publications (1)

Publication Number Publication Date
WO2020057158A1 true WO2020057158A1 (zh) 2020-03-26

Family

ID=65351110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/087577 WO2020057158A1 (zh) 2018-09-18 2019-05-20 一种区块链的数据处理方法、装置、设备及介质

Country Status (4)

Country Link
US (1) US11381385B2 (zh)
JP (1) JP6945742B2 (zh)
CN (1) CN109361734B (zh)
WO (1) WO2020057158A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022102531A1 (ja) * 2020-11-12 2022-05-19 株式会社Nttドコモ 管理装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271446B (zh) * 2018-08-30 2020-10-23 杭州复杂美科技有限公司 一种平行链数据同步方法、设备和存储介质
CN109361734B (zh) 2018-09-18 2021-04-20 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质
US10949548B2 (en) * 2018-10-18 2021-03-16 Verizon Patent And Licensing Inc. Systems and methods for providing multi-node resiliency for blockchain peers
US11550928B2 (en) * 2019-01-11 2023-01-10 Combined Conditional Access Development And Support, Llc Distributed ledger-based digital content tracing
CN110187831B (zh) * 2019-05-13 2022-04-19 北京华宇九品科技有限公司 区块链联盟链的区块数据存储系统及方法
CN110222052A (zh) * 2019-05-20 2019-09-10 重庆金融资产交易所有限责任公司 区块链数据处理方法、装置、计算机设备和存储介质
CN110543446B (zh) * 2019-08-21 2020-11-24 杭州趣链科技有限公司 一种基于快照的区块链直接归档方法
CN111339188B (zh) * 2020-02-20 2023-10-31 百度在线网络技术(北京)有限公司 基于区块链的媒介内容处理方法、装置、设备和介质
CN111371557B (zh) * 2020-02-26 2024-01-23 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备及介质
CN111444203B (zh) * 2020-03-24 2021-09-28 腾讯科技(深圳)有限公司 一种同步处理方法、装置、设备及介质
CN111526217B (zh) * 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链中的共识方法和系统
US11416449B2 (en) * 2020-07-23 2022-08-16 National Applied Research Laboratories Method of synchronous deletion for distributed storage system
CN111935315B (zh) * 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 区块同步方法及装置
US20220173889A1 (en) * 2020-11-30 2022-06-02 Motional Ad Llc Secure Safety-Critical System Log
CN112487476A (zh) * 2020-11-30 2021-03-12 山东浪潮通软信息科技有限公司 一种防止会计凭证数据篡改方法、装置、设备及介质
CN114157435A (zh) * 2021-12-02 2022-03-08 贵州黔驰信息股份有限公司 一种基于区块链技术的文档处理方法、装置和客户端
US11954074B2 (en) * 2022-04-28 2024-04-09 Micro Focus Llc Method and apparatus for efficient file/folder synchronization

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180037851A (ko) * 2016-10-05 2018-04-13 한전케이디엔주식회사 블록체인을 이용한 스마트 그리드 시스템의 보안 방법
CN108023896A (zh) * 2017-12-28 2018-05-11 江苏通付盾科技有限公司 区块同步方法及系统
CN108234134A (zh) * 2017-12-28 2018-06-29 江苏通付盾科技有限公司 区块同步方法及系统
CN108241743A (zh) * 2018-01-04 2018-07-03 杭州复杂美科技有限公司 一种区块链快照方法
CN108370318A (zh) * 2015-12-21 2018-08-03 万事达卡国际股份有限公司 用于使用数字签名的区块链变型的方法和系统
CN109361734A (zh) * 2018-09-18 2019-02-19 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0972374A1 (en) * 1998-02-04 2000-01-19 Sun Microsystems, Inc. Method and apparatus for efficient authentication and integrity checking using hierarchical hashing
JP4938409B2 (ja) * 2006-10-13 2012-05-23 Kddi株式会社 デジタル放送用コンテンツ配信装置、デジタル放送用コンテンツ認証システム、デジタル放送用コンテンツ認証方法およびプログラム
US9208836B1 (en) * 2011-01-11 2015-12-08 Rambus Inc. Chip-to-chip signaling with improved bandwidth utilization
US10963881B2 (en) * 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
CN106296196A (zh) * 2015-06-05 2017-01-04 地气股份有限公司 数字货币交易签章方法与系统及其数字货币交易装置
JP6452156B2 (ja) * 2015-09-03 2019-01-16 日本電信電話株式会社 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
JP6355168B2 (ja) * 2015-11-09 2018-07-11 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
US10097344B2 (en) * 2016-07-15 2018-10-09 Mastercard International Incorporated Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains
JP6571609B2 (ja) * 2016-07-28 2019-09-04 Kddi株式会社 ブロックチェーンを作成するシステム及びプログラム
US10878522B2 (en) * 2016-08-18 2020-12-29 First American Financial Corporation Systems and methods for using blockchains to record, manage, and transfer ownership rights to land titles
US10339014B2 (en) * 2016-09-28 2019-07-02 Mcafee, Llc Query optimized distributed ledger system
US10348484B2 (en) * 2016-10-24 2019-07-09 Mastercard International Incorporated Method and system for fast tracking navigation of blockchains via data manipulation
US10586210B2 (en) * 2016-11-30 2020-03-10 International Business Machines Corporation Blockchain checkpoints and certified checkpoints
US20180181953A1 (en) * 2016-12-22 2018-06-28 Mastercard International Incorporated Method and system for anonymous directed blockchain transaction
CN106844477B (zh) * 2016-12-23 2018-05-01 北京众享比特科技有限公司 区块链系统、区块查找方法和区块链后向同步方法
KR101930825B1 (ko) * 2017-01-23 2018-12-19 주식회사 데일리인텔리전스 블록체인 네트워크를 이용해서 사용자를 인증하고 블록을 동기화하는 시스템 및 방법
CN107018125B (zh) * 2017-02-17 2019-08-09 阿里巴巴集团控股有限公司 一种区块链系统、数据存储方法及装置
WO2018154713A1 (ja) * 2017-02-24 2018-08-30 日本電気株式会社 情報検証システム、情報検証装置、方法およびプログラム
EP3632034B1 (en) * 2017-06-02 2021-10-13 Visa International Service Association Methods and systems for ownership verification using blockchain
CN107423426B (zh) * 2017-08-02 2020-06-02 众安信息技术服务有限公司 一种区块链块数据的数据归档方法及电子设备
US11196552B2 (en) * 2017-08-04 2021-12-07 Truss Financial, LLC Secure data distribution protocol using blockchains
US11502828B2 (en) * 2017-11-15 2022-11-15 International Business Machines Corporation Authenticating chaincode to chaincode invocations of a blockchain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108370318A (zh) * 2015-12-21 2018-08-03 万事达卡国际股份有限公司 用于使用数字签名的区块链变型的方法和系统
KR20180037851A (ko) * 2016-10-05 2018-04-13 한전케이디엔주식회사 블록체인을 이용한 스마트 그리드 시스템의 보안 방법
CN108023896A (zh) * 2017-12-28 2018-05-11 江苏通付盾科技有限公司 区块同步方法及系统
CN108234134A (zh) * 2017-12-28 2018-06-29 江苏通付盾科技有限公司 区块同步方法及系统
CN108241743A (zh) * 2018-01-04 2018-07-03 杭州复杂美科技有限公司 一种区块链快照方法
CN109361734A (zh) * 2018-09-18 2019-02-19 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022102531A1 (ja) * 2020-11-12 2022-05-19 株式会社Nttドコモ 管理装置

Also Published As

Publication number Publication date
JP2021506185A (ja) 2021-02-18
JP6945742B2 (ja) 2021-10-06
CN109361734A (zh) 2019-02-19
US20200389291A1 (en) 2020-12-10
CN109361734B (zh) 2021-04-20
US11381385B2 (en) 2022-07-05

Similar Documents

Publication Publication Date Title
WO2020057158A1 (zh) 一种区块链的数据处理方法、装置、设备及介质
CN109241192B (zh) 区块链的数据修改及区块验证方法、装置、设备和介质
CN108596588B (zh) 一种区块数据的处理方法、装置、计算设备和存储介质
JP7044881B2 (ja) 分散型ストレージ方法及び装置、コンピュータ機器及び記憶媒体
CN109213901B (zh) 一种区块链的数据同步方法、装置、设备及介质
WO2020143431A1 (zh) 记账方法、矿池服务器、终端设备、挖矿节点及矿池
CN109344631B (zh) 区块链的数据修改及区块验证方法、装置、设备和介质
CN109587238B (zh) 区块链的数据处理和同步方法、装置、设备及存储介质
CN108696358B (zh) 数字证书的管理方法、装置、可读存储介质及服务终端
CN109347803B (zh) 一种区块链的数据处理方法、装置、设备及介质
CN109684414B (zh) 区块数据的同步方法、装置、设备及存储介质
CN109194669B (zh) 一种轻量级节点的数据传输方法、装置、设备和介质
CN110011793A (zh) 防伪溯源数据处理方法、装置、设备及介质
RU2634179C1 (ru) Способ и система для доверенного доведения информации до пользователя
CN109345242B (zh) 基于区块链的密钥存储、更新方法、装置、设备和介质
US20210314169A1 (en) Digital certificate invalidation and verification method and device
CN109981297A (zh) 区块链处理方法、装置、设备及存储介质
CN111917551B (zh) 一种基于无证书公钥的句柄访问保护方法和系统
WO2019134565A1 (zh) 基于窄带物联网的终端验证方法及装置
CN109345243B (zh) 一种区块链的数据处理和验证方法、装置、设备及介质
CN111935078B (zh) 一种基于句柄的开放认证方法、装置及系统
CN109254999B (zh) 一种区块链的数据处理方法、装置、设备及介质
CN108881261B (zh) 一种容器环境下基于区块链技术的服务认证方法及系统
CN109918451B (zh) 基于区块链的数据库管理方法及系统
WO2017020669A1 (zh) 分布式系统节点身份认证方法及装置

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: 19861343

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020531688

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19861343

Country of ref document: EP

Kind code of ref document: A1