WO2024045552A1 - 一种数据处理方法及相关设备 - Google Patents
一种数据处理方法及相关设备 Download PDFInfo
- Publication number
- WO2024045552A1 WO2024045552A1 PCT/CN2023/081446 CN2023081446W WO2024045552A1 WO 2024045552 A1 WO2024045552 A1 WO 2024045552A1 CN 2023081446 W CN2023081446 W CN 2023081446W WO 2024045552 A1 WO2024045552 A1 WO 2024045552A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transaction
- data management
- management device
- blockchain
- target data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Definitions
- This application relates to the field of blockchain technology, and in particular to a data processing method, a distributed data management system, a data management device, a computing equipment cluster, a computer-readable storage medium, and a computer program product.
- Blockchain technology uses block chain data structures to verify and store data, uses distributed node consensus algorithms to generate and update data, uses cryptography to ensure the security of data transmission and access, and uses automated A decentralized architecture and computing paradigm that uses smart contracts composed of script codes to program and manipulate data.
- Each participant in the blockchain holds the same ledger, and for each participant, their information is publicly visible to other participants. As the application of blockchain becomes more widespread, more organizations can share data on a main chain as participants.
- This application provides a data processing method that specifies transaction participants in the transaction request and relies on the blockchain to implement private transactions such as privacy writing or privacy query without the need to write additional chain code or update the chain code each time , which realizes the chain code and business code that need to be developed to upload user-shielded private data to the chain, reduces the complexity of operations, and improves the scope of application and ease of use of the blockchain network.
- This method also does not require the private key to be transferred offline, avoiding the risk of privacy leakage caused by the leakage of the private key.
- This application also provides a distributed data management system, a data management device, a computing device cluster, a computer-readable storage medium and a computer program product corresponding to the above method.
- this application provides a data processing method.
- This method is applied to a distributed data management system, which includes multiple data management devices.
- the first data management device among the multiple data management devices corresponds to the first blockchain node of the blockchain network.
- the second data management device among the plurality of data management devices corresponds to the second blockchain node of the blockchain network.
- the target data management device among the multiple data management devices receives a transaction request from the blockchain client.
- the transaction request includes the identification of the transaction participant, and then the target data management device enters the transaction request into the blockchain network according to the transaction request.
- Output (input output, IO) transaction information ciphertext which is obtained by encrypting the transaction information plaintext using a key invisible to another participant other than the transaction participant, and then the target data management device sends the transaction information to the blockchain
- the client returns the transaction results.
- This method specifies the transaction participants in the transaction request, and relies on the blockchain to implement private transactions such as privacy writing or privacy query. There is no need to write additional chain code or update the chain code every time, thus enabling users to shield private data from being uploaded to the chain.
- the chain code and business code that need to be developed reduce the complexity of operations and improve the scope of application and ease of use of the blockchain network.
- This method also does not require the private key to be transferred offline, avoiding the risk of privacy leakage caused by the leakage of the private key.
- this method provides a set of adapted distributed data management systems (also called distributed privacy protection engines) for decentralized systems such as blockchain networks to complete the need for decentralized privacy protection capabilities and solve the problem.
- the centralized system cannot meet the needs of distributed management, and will also cause the risk of managers doing evil in centralized management.
- the distributed data management system relies on the performance of the blockchain system to efficiently utilize the performance of the current chain by encrypting transaction information.
- the blockchain nodes of the blockchain network include blockchain ledgers, and the blockchain ledgers are distributed public ledgers.
- the target data management device can transaction information ciphertext in the blockchain ledger IO according to the transaction request.
- the operation of the target data management device in the blockchain ledger IO transaction information ciphertext can be recorded in the blockchain for subsequent traceability and data security.
- the target data management device mounts local storage, and the local storage includes the private ledger of the blockchain network.
- the private ledger is maintained by the target data management device.
- the target data management device can transaction information ciphertext in the private ledger IO of the blockchain network according to the transaction request.
- the ciphertext of IO transaction information in the private ledger does not require consensus among the various blockchain nodes of the blockchain network. It is more efficient and can meet the needs of Transaction requirements.
- the transaction request is a storage request
- the transaction request includes the plain text of the transaction information.
- the target data management device can encrypt the transaction according to the chain key of the transaction initiator in the private transaction group among the transaction participants. Information plaintext, obtain the first transaction information ciphertext, and store the first transaction information ciphertext to the blockchain ledger.
- the target data management device encrypts the plain text of the transaction information based on the public key or symmetric key of the transaction initiator among the transaction participants, obtains the second cipher text of the transaction information, and stores the second cipher text of the transaction information in the private ledger.
- This method encrypts the transaction information ciphertext separately and then stores it in the blockchain ledger and private ledger.
- the private ledger data is lost or tampered with, it can also be restored based on the blockchain ledger, further improving the reliability of data storage. .
- the transaction request is a query request.
- the target data management device can also read the ciphertext of the transaction information from the private ledger or the blockchain ledger according to the transaction request. Then the target data management device can read the ciphertext of the transaction information. Decrypt and obtain the clear text of the transaction information.
- the transaction results may include the above-mentioned transaction information in plain text.
- the ciphertext of the transaction information is invisible to non-transaction participants.
- the target data management device obtains the ciphertext of the transaction information and decrypts it, and then carries it in the transaction result and returns it to the blockchain client, realizing privacy. Inquire.
- the target data management device can also obtain the transaction initiator among the transaction participants in the private transaction group through blockchain network negotiation before the blockchain network IOs the ciphertext of the transaction information according to the transaction request.
- a chain key that is not visible to another party other than the party involved in the transaction includes the chain key.
- transaction participants in the private transaction group can use the above-mentioned chain key to implement encrypted sessions, and other participants in the blockchain network (such as the alliance chain) cannot decrypt it, ensuring transaction security.
- the target data management device also supports updating the chain key. Specifically, when the key update condition is triggered, the target data management device may update the chain key through a double ratchet algorithm. In this way, you can prevent Prevent replay attacks and further improve security.
- the key update condition includes that the number of transactions based on the chain key reaches a preset number.
- the target data management device may also receive a public-private key pair issued by the certificate issuing node for the transaction initiator among the transaction participants before the blockchain network IO transaction information ciphertext according to the transaction request. Keys that are not visible to parties other than those involved in the transaction include the public key in a public-private key pair.
- Transaction participants in a private transaction group can disclose their public keys within the group.
- the public key is not visible to other participants in the blockchain network. Participants in the blockchain network other than the transaction participants Ciphertext encrypted using the above public key cannot be decrypted, thus enabling private transactions and ensuring privacy security.
- the target data management device mounts local storage, and the local storage includes the private ledger of the blockchain network.
- the target data management device can obtain the first meta-information of the data stored in the private ledger from the private ledger, and obtain the second meta-information of the data stored in the private ledger from the blockchain ledger of the blockchain network. Then the target data management device performs a fault check based on the first meta-information and the second meta-information, and obtains the fault check result.
- the target data management device scans the meta-information in the local private ledger and the blockchain ledger and compares the meta-information to determine whether the local storage is faulty or whether the data in the locally stored private ledger has been deleted or tampering, thereby realizing efficient fault inspection, quickly locating the fault point, and meeting business needs.
- the target data management device when the fault check result indicates that the data stored in the private ledger has been tampered with, deleted, or there is a storage failure mounted by the target data management device, the target data management device can also use the blockchain ledger to Perform crash recovery.
- the target data management device can perform fault recovery based on the blockchain ledger storage data to maintain data consistency when the data stored in the private ledger is tampered with, deleted, or a storage failure mounted on the target data management device occurs.
- the target data management device can provide a storage interface or a query interface.
- the blockchain client can call the storage interface to generate a storage request, or call the query interface to generate a query request.
- This method provides a unified interface for private data storage (upload, on-chain) or query (download), eliminating the need to separately develop chain code and business code for private data on-chain and query, reducing operational complexity and improving the efficiency of the blockchain system. Scope of application and ease of use.
- the transaction request is a query request
- the target data management device reads the transaction information ciphertext from the private ledger according to the transaction request, decrypts the transaction information ciphertext, and obtains the transaction information plaintext.
- the hash value of the plain text of the transaction information is compared with the hash value of the plain text of the transaction information stored in the blockchain network. If they are consistent, the plain text of the transaction information is carried in the transaction result.
- the target data management device supports verification of the private data queried from the private ledger and the data on the chain, thereby ensuring that the private data is not tampered with.
- the target data management device when a transaction participant exits the private transaction group, the target data management device does not need to update the chain key.
- the target data management device can reuse the chain key in the privacy transaction group formed by the remaining transaction participants. Conduct private transactions within the group. On the one hand, it ensures the security of private transactions, and on the other hand, there is no need to update the chain key, which reduces the operational complexity.
- this application provides a distributed data management system.
- the distributed data management system includes multiple Data management device, the first data management device among the plurality of data management devices corresponds to the first blockchain node of the blockchain network, and the second data management device among the plurality of data management devices corresponds to the blockchain network the second blockchain node;
- the target data management device among the plurality of data management devices is used to receive a transaction request from the blockchain client, where the transaction request includes the identification of the transaction participant;
- the target data management device is also configured to input and output IO transaction information ciphertext in the blockchain network according to the transaction request, and the transaction information ciphertext adopts another participating party other than the transaction participant.
- the plain text of the transaction information is encrypted with a key invisible to the party, and the transaction result is returned to the blockchain client.
- the blockchain nodes of the blockchain network include blockchain ledgers
- the target data management device is specifically used for:
- the transaction information ciphertext is entered in the blockchain ledger IO.
- the target data management device mounts local storage, and the local storage includes the private ledger of the blockchain network;
- the target data management device is specifically used for:
- the transaction information ciphertext is in the private ledger IO.
- the transaction request is a storage request, and the transaction request includes plain text of transaction information
- the target data management device is specifically used for:
- the plain text of the transaction information is encrypted, the first transaction information cipher text is obtained, and the first transaction information cipher text is stored in the blockchain ledger.
- the plain text of the transaction information is encrypted according to the public key or symmetric key of the transaction initiator among the transaction participants, a second cipher text of the transaction information is obtained, and the second cipher text of the transaction information is stored in the private ledger.
- the transaction request is a query request
- the target data management device is specifically used for:
- the method also includes:
- the target data management device decrypts the ciphertext of the transaction information and obtains the plaintext of the transaction information
- the transaction result includes the plain text of the transaction information.
- the target data management device is also used to:
- the chain secret of the transaction initiator in the privacy transaction group among the transaction participants is obtained through negotiation on the blockchain network. key;
- Keys that are not visible to another party other than the party to the transaction include the chain key.
- the target data management device is also used to:
- the chain key is updated through a double ratchet algorithm.
- the key update conditions include:
- the number of transactions based on the chain key reaches a preset number.
- the target data management device is also used to:
- the blockchain network before the blockchain network inputs and outputs the IO transaction information ciphertext, receive the public and private key pair issued by the certificate issuing node for the transaction initiator among the transaction participants;
- Keys that are not visible to another party other than the transaction party include the public key in the public-private key pair.
- the target data management device mounts local storage, and the local storage includes the private ledger of the blockchain network;
- the target data management device is also used for:
- the target data management device is also used to:
- fault recovery is performed based on the blockchain ledger.
- the present application provides a data management device.
- the data management device corresponds to the blockchain node of the blockchain network, and the data management device includes:
- a communication module used to receive a transaction request from a blockchain client, where the transaction request includes the identification of the transaction participant;
- a management module configured to input and output IO transaction information ciphertext in the blockchain network according to the transaction request.
- the transaction information ciphertext adopts a ciphertext that is invisible to another participant other than the transaction participant.
- the key is obtained by encrypting the plain text of the transaction information;
- the communication module is also used to return transaction results to the blockchain client.
- the blockchain nodes of the blockchain network include blockchain ledgers
- the management module is specifically used for:
- the transaction information ciphertext is entered in the blockchain ledger IO.
- the data management device mounts local storage, and the local storage includes the private ledger of the blockchain network;
- the management module is specifically used for:
- the transaction information ciphertext is in the private ledger IO.
- the transaction request is a storage request, and the transaction request includes plain text of transaction information
- the management module is specifically used for:
- the plain text of the transaction information is encrypted, the first transaction information cipher text is obtained, and the first transaction information cipher text is stored in the blockchain ledger.
- the plain text of the transaction information is encrypted according to the public key or symmetric key of the transaction initiator among the transaction participants, a second cipher text of the transaction information is obtained, and the second cipher text of the transaction information is stored in the private ledger.
- the transaction request is a query request
- the management module is specifically used for:
- the management module is also used to:
- the transaction result includes the plain text of the transaction information.
- the management module is also used to:
- the chain secret of the transaction initiator in the privacy transaction group among the transaction participants is obtained through negotiation on the blockchain network. key;
- Keys that are not visible to another party other than the party to the transaction include the chain key.
- the management module is also used to:
- the chain key is updated through a double ratchet algorithm.
- the key update conditions include:
- the number of transactions based on the chain key reaches a preset number.
- the communication module is also used to:
- Keys that are not visible to another party other than the transaction party include the public key in the public-private key pair.
- the data management device mounts local storage, and the local storage includes the private ledger of the blockchain network;
- the communication module is also used for:
- the device also includes:
- a fault checking module configured to perform fault checking according to the first meta-information and the second meta-information, and obtain a fault checking result.
- the device further includes:
- a fault recovery module configured to perform fault recovery based on the blockchain ledger when the fault check result indicates that the data stored in the private ledger has been tampered with, deleted, or a storage failure mounted on the data management device.
- this application provides a computing device cluster.
- the cluster of computing devices includes at least one computing device including at least one processor and at least one memory.
- the at least one processor and the at least one memory communicate with each other.
- the at least one processor is configured to execute instructions stored in the at least one memory, so that the computing device or a cluster of computing devices executes the data processing method as described in the first aspect or any implementation of the first aspect.
- the present application provides a computer-readable storage medium in which instructions are stored, and the instructions instruct a computing device or a cluster of computing devices to execute the first aspect or any one of the first aspects. Implement the data processing method described in the method.
- the present application provides a computer program product containing instructions that, when run on a computing device or a cluster of computing devices, causes the computing device or a cluster of computing devices to execute the first aspect or any one of the first aspects. Implement the data processing method described in the method.
- Figure 1 is a schematic architectural diagram of a distributed data management system provided by an embodiment of the present application.
- Figure 2 is a schematic architectural diagram of a distributed data management system provided by an embodiment of the present application.
- Figure 3 is a schematic architectural diagram of a distributed data management system in a multi-scenario alliance provided by an embodiment of the present application
- Figure 4 is a flow chart of a data processing method provided by an embodiment of the present application.
- Figure 5 is a schematic diagram of a key chain provided by an embodiment of the present application.
- Figure 6 is a schematic diagram of an application scenario of a data processing method provided by an embodiment of the present application.
- Figure 7 is a schematic flow chart of the initialization of a distributed data management system provided by an embodiment of the present application.
- Figure 8 is a schematic flow chart of group creation provided by an embodiment of the present application.
- Figure 9 is a schematic flowchart of a privacy transaction initiation provided by an embodiment of the present application.
- Figure 10 is a schematic flowchart of a private transaction synchronization provided by an embodiment of the present application.
- Figure 11 is a schematic flow chart of a private transaction query provided by an embodiment of the present application.
- Figure 12 is a schematic structural diagram of a distributed data management system provided by an embodiment of the present application.
- Figure 13 is a schematic structural diagram of a computing device provided by an embodiment of the present application.
- Figure 14 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
- Figure 15 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
- Figure 16 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
- first and second in the embodiments of this application are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, features defined as “first” and “second” may explicitly or implicitly include one or more of these features.
- Blockchain network which can also be referred to as blockchain for short, refers to a peer-to-peer (P2P) network built based on blockchain technology.
- a blockchain network includes multiple blockchain nodes, each of which is a peer node.
- multiple blockchain nodes jointly maintain a continuously growing blockchain ledger constructed of ordered data blocks.
- Each blockchain node stores a copy of the above-mentioned blockchain ledger and maintains consistency between copies. Therefore, the blockchain ledger is a public ledger of the blockchain network.
- E2EE end-to-end encryption
- End-to-end encryption is a communication system where only the users participating in the communication can read the information. It prevents potential eavesdroppers, including but not limited to telecommunications providers, Internet service providers and providers of the communication system, from obtaining the clear text of communications between the two parties. Such systems are designed to prevent potential surveillance or tampering attempts.
- the blockchain network includes Participant A, Participant B, Participant C, and Participant D.
- Participant A, Participant B, and Participant C conduct transactions.
- Participant A conducts transactions with Participant B and Participant C.
- Party C shares data
- Party A can encrypt the data end-to-end to share the data. Share it with Participant B and Participant C, and keep it confidential to Participant D.
- the industry usually uses zero-knowledge proof to protect the privacy of transaction information.
- a bill scenario is used as an example.
- the blockchain client can generate zero-knowledge proof information, and then initiate on-chain verification, and the blockchain node will perform the validity verification of the zero-knowledge proof information. If the verification is passed, the blockchain node conducts private transactions with the pre-established privacy ticket pool.
- the privacy note pool is used to store privacy notes to be traded.
- the above solution requires changing the smart contract and upgrading the chain code when the transaction participants change. For example, when participant A and participant B conduct private transactions, the chain code needs to be upgraded to specify participant A and participant B to conduct private transactions. This greatly reduces the performance of the blockchain network and affects transaction efficiency, thereby affecting transaction efficiency. Affects the availability of the blockchain network.
- the distributed management system includes multiple data management devices. Each data management device is part of a distributed data management system. Among them, the distributed data management system is essentially a distributed storage engine, which is mainly used to protect the privacy of transaction information and other data. Therefore, the distributed data management system can also be called a distributed privacy protection engine and a distributed data management system.
- the data management device in is part of the above-mentioned distributed privacy protection engine.
- the first data management device among the plurality of data management devices corresponds to the first blockchain node of the blockchain network
- the second data management device among the plurality of data management devices corresponds to the second blockchain node of the blockchain network. .
- the target data management device among the multiple data management devices receives a transaction request from the blockchain client.
- the transaction request includes the identification of the transaction participant, and then the target data management device enters the transaction request into the blockchain network according to the transaction request.
- Output (input output, IO) transaction information ciphertext which is obtained by encrypting the transaction information plaintext using a key invisible to another participant other than the transaction participant, and then the target data management device sends the transaction information to the blockchain
- the client returns the transaction results.
- This method specifies the transaction participants in the transaction request, and relies on the blockchain to implement private transactions such as privacy writing or privacy query. There is no need to write additional chain code or update the chain code every time, thus enabling users to shield private data from being uploaded to the chain.
- the chain code and business code that need to be developed reduce the complexity of operations and improve the scope of application and ease of use of the blockchain network.
- This method also does not require the private key to be transferred offline, avoiding the risk of privacy leakage caused by the leakage of the private key.
- This method provides a set of adapted distributed data management systems (also called distributed privacy protection engines) for decentralized systems such as blockchain networks to complete the need for decentralized privacy protection capabilities and solve the problem of centralization.
- the system cannot meet the needs of distributed management, and it will also cause the risk of managers doing evil in centralized management.
- the distributed data management system relies on the performance of the blockchain system to efficiently utilize the performance of the current chain by encrypting transaction information.
- the distributed data management system 100 includes multiple data management devices 10, and each of the multiple data management devices 10 corresponds to a blockchain network 200.
- a blockchain node of 20 For example, the first data management device corresponds to the first blockchain node, and the second data management device corresponds to the second blockchain node.
- each data management device 10 can also mount the local storage 30 .
- the data management device 10 in the embodiment of the present application supports the management and adaptation of different storage media.
- the data management device 10 can mount different storage media. Same storage media, including but not limited to mechanical hard disk drive (HDD) or solid state drive (SDD).
- the blockchain node 20 includes the blockchain ledger of the blockchain network 200 (belonging to the public ledger), and the local storage 30 includes the private ledger of the blockchain network 200 .
- the data management device 10 can also interface with the blockchain client 40 .
- Blockchain participants such as cloud tenants and off-cloud users can initiate transactions through the blockchain client 40 .
- blockchain participants can share private data with designated participants through the blockchain client, or query private data.
- the target data management device among the plurality of data management devices 10 can receive a transaction request from the blockchain client 40.
- the transaction request includes the identifier (identifier, ID) of the transaction participant.
- the transaction participant includes When participant A (for example, organization A) and participant B (for example, organization B), the transaction request may include the identification of organization A and the identification of organization B.
- the target data management device transacts the information ciphertext in the blockchain network 20010 according to the transaction request.
- the transaction request when the transaction request is a storage request, it can be to store the transaction information ciphertext in the blockchain ledger and private ledger of the blockchain network 200; when the transaction request is a query request, it can be to query the private ledger of the blockchain network 200.
- Transaction information ciphertext when the transaction information ciphertext is not found in the private ledger, the transaction information ciphertext can also be queried from the blockchain ledger.
- the ciphertext of the transaction information may be obtained by encrypting the plaintext of the transaction information using a key invisible to another participant other than the transaction participant (such as organization C).
- the ciphertext of transaction information stored in the public ledger and the ciphertext of transaction information stored in the private ledger can be encrypted using different keys.
- the transaction information ciphertext stored in the public ledger which may also be called the first transaction information ciphertext, may be encrypted based on the chain key of the transaction initiator in the private transaction group negotiated by the blockchain network 200 .
- the transaction information ciphertext stored in the private ledger also called the second transaction information ciphertext, can be encrypted using the public key pair of the public-private key pair issued by the certificate authority (CA) node for the transaction initiator among the transaction participants. get.
- CA certificate authority
- the target data management device returns the transaction result to the blockchain client 40.
- the transaction results can be different.
- the transaction request is a storage request (also called a data upload request or a data upload request)
- the transaction result can be a transaction success notification, which is used to indicate the success of the storage.
- the transaction request is a query request (which may also be called a data download request)
- the transaction result may include the plain text of the queried transaction information.
- the plain text of the transaction information can be obtained by decrypting the cipher text of the transaction information by the target data management device.
- the client side may also include a blockchain software development toolkit (SDK).
- SDK blockchain software development toolkit
- the blockchain SDK is used to receive transaction requests, such as storage requests for private data, query requests for querying private data, and the load is processed on the client side to obtain private data, group and identity verification calculations, and submit privacy
- the data is sent to the distributed data management system 100 side for further interaction with the blockchain node 200 .
- the data management device 10 of the distributed data management system 100 may include an end-to-end encryption component, thereby encrypting the plain text of the transaction information.
- the end-to-end encryption component includes the optimization of the signal algorithm and the rectification of blockchain integration. It completes the entire process of key negotiation (such as chain key negotiation) based on the blockchain network 200, replacing the centralized system or centralized node distribution. Key, use its capabilities to create highly secure group transaction capabilities.
- the data management device 10 may also include a group manager.
- the group manager is used to calculate relevant group information for each organization (also referred to as a participant or member) corresponding to the data management device 10 .
- the group manager checks the privacy Easy group, create private transaction group, delete private transaction group.
- the group manager can also trigger the generation and saving of keys.
- the group manager can trigger the generation and saving of one or more of chain keys, temporary public-private key pairs, and symmetric keys.
- the data management device 10 may also include private ledger management.
- Private ledger management can support local storage of private data of different participants and build the ability to quickly query private data. At the same time, this module can also support the ability to reconstruct local data from the blockchain ledger when data is lost.
- the data management device 10 may also include computational checks. Computational verification is used to provide support for identity verification, group comparison, comparison of locally stored information and on-chain stored information, etc.
- End-to-end encryption components private ledger management, group manager, calculation verification and other modules can be combined to build a highly available distributed data management system 100 based on the blockchain network 200.
- the data management device 10 shown in Figure 1 may be a software device, and the software device may be deployed on other computing devices independent of the blockchain node.
- the data management device shown in FIG. 1 may also be a hardware device.
- the hardware device may be a computing device with a privacy protection function that is independent of the blockchain node 20 .
- each data management device 10 of the distributed data management system 100 can also be deployed on the blockchain node 20, that is, the block chain node 20.
- the chain node 20 includes a blockchain kernel and a data management device 10 .
- the data management device 10 may be a middleware or component, and the middleware or component may be integrated into the blockchain node 20 .
- the distributed data management system 100 of the embodiment of this application is aimed at the blockchain.
- user data is open to all participants on the chain, but some users want to define privacy by specifying transaction participants.
- Transaction or private information a system designed to integrate blockchain and end-to-end encryption.
- the system provides distributed privacy protection components (such as the above-mentioned data management device 10) to support key management and privacy data storage for different users, thereby achieving organizational-level user privacy protection, and is also based on embedded group management capabilities. Improve the convenience of uploading and querying user privacy protection data.
- the distributed data management system 100 can be applied to finance, energy, government affairs, aviation, agriculture, people's livelihood, logistics and other industries.
- the distributed data management system 100 can be applied to scenarios such as commodity procurement and sales, non-fungible token (NFT) transactions, and other scenarios.
- NFT non-fungible token
- the distributed data management system 100 can be used as a distributed storage bottom layer to support the metaverse or web3.0.
- public cloud refers to the cloud services provided by cloud service providers to users through the public Internet (Internet). Users can access the cloud through the Internet and enjoy various services, including but not limited to computing, storage, network, etc.
- Private cloud is a cloud computing method built by the enterprise itself to provide services within the enterprise. Private cloud is an enterprise Built for stand-alone use, it can be deployed in an enterprise's data center or uniformly deployed in a cloud service provider's computer room.
- Hybrid cloud is a cloud computing usage that combines private cloud and public cloud.
- Edge nodes are relative to cloud computing data centers and refer to network nodes with fewer intermediate links between them and the final access users. The edge node can be a computer room or a physical device. Compared with directly accessing the origin site, users have better response capabilities and connection speeds when accessing the edge node.
- the distributed data management system 100 can also be deployed in different environments in a distributed manner.
- multiple data management devices 10 of the distributed data management system 100 can be deployed in public clouds, hybrid clouds, and edge nodes respectively, thereby providing multi-scenario alliances.
- Data management services For example, trading goods on an e-commerce platform involves the following five organizations: farmers, shippers, wholesalers, distributors, and retailers.
- the data management devices 10 corresponding to these organizations can be deployed in a distributed manner in a hybrid environment formed by public clouds, private clouds and edge nodes.
- farmers transfer goods to distributors abroad when they sell goods abroad, shippers move goods between parties, wholesalers purchase goods from distributors, retailers purchase goods from shippers and wholesalers, and distribution Traders may wish to conduct private transactions with farmers and shippers so that wholesalers and retailers keep the terms of the transactions confidential and thereby avoid exposing the markups charged by distributors.
- the distributor may also want to set up a separate privacy deal with the wholesaler because it charges the wholesaler a lower price than the retailer.
- wholesalers may also wish to establish private transactions with retailers and shippers.
- the embodiment of the present application Based on the distributed data management system 100 provided by the embodiment of the present application, the embodiment of the present application also provides a corresponding data processing method.
- the method includes:
- S402 The target data management device receives the transaction request sent by the blockchain client.
- the transaction request is a storage request
- S404 to S410 are executed
- the transaction request is a query request
- S412 to S418 are executed.
- the target data management device may be any data management device 10 in the distributed data management system 100, for example, it may be the above-mentioned first data management device or the second data management device.
- a transaction request can be a storage request.
- a storage request is used to store data, for example, to the blockchain network 200 .
- a transaction request can also be a query request. Used in query requests to query data, such as obtaining data from the blockchain network 200.
- the transaction request can include the identification of the transaction participants to indicate that the data is shared among the transaction participants and kept confidential from non-transaction participants (such as another participant in the blockchain network other than the transaction participant). .
- the storage request is used to request that the transaction information plaintext and other data be end-to-end encrypted before being uploaded to the chain.
- the transaction request is a query request, it is used to request that the transaction information ciphertext be decrypted to obtain the transaction information plaintext. Return later.
- the participants can be organizations in the blockchain network.
- the identification of the transaction participants can be one or more of the organization name and organization code.
- the transaction request can include the organization names of Organization A and Organization B, thereby specifying the privacy transaction between Organization A and Organization B.
- the user When you want to initiate a privacy transaction between Organization B and Organization C, the transaction request can include the organization names of Organization B and Organization C, thereby specifying the privacy transaction between Organization B and Organization C.
- the transaction request when the transaction request is a storage request, the transaction request can also carry the plain text of the transaction information.
- the transaction letter The information plaintext may specifically be data that needs to be shared.
- the target data management device encrypts the plain text of the transaction information based on the chain key of the transaction initiator in the private transaction group among the transaction participants, and obtains the first cipher text of the transaction information.
- the participant can be in one or more private transaction groups, and the target data management device can determine the private transaction group corresponding to this transaction based on the identification of the transaction participant in the transaction request. For example, when the transaction request includes the organization names of organization A and organization B, the target data management device may determine the private transaction group to be the group formed by organization A and organization B, which is recorded as group (organization A, organization B). The same organization can have different chain keys in different private transaction groups.
- the target data management device can obtain the chain key of the transaction initiator in the private transaction group among the transaction participants based on the private transaction group for this transaction. Key, such as the chain key of organization A in group (organization A, organization B), and then use the chain key to encrypt, thereby obtaining the first transaction information ciphertext.
- KDF chain refers to the KDF key of the key derivation function (KDF) chain.
- KDF chain is the abbreviation of KDF key chain.
- KDF is defined as a cryptographic function that inputs a secret and random KDF key (KDF key) and some other input data, and returns the output data. Under the premise that the key is unknown, the output data is indistinguishable from random numbers (that is, KDF meets the requirements of pseudo-random function (PRF) in cryptography). If the key is not secret and random, the KDF output should still serve as a secure cryptographic hash of the KDF key and input data.
- a KDF chain includes the output keys of multiple KDFs.
- FIG. 5 shows a KDF chain that processes three input keys (KDF keys) and generates three output keys.
- the target data management device can encrypt the transaction information using a double ratchet algorithm based on the chain key, thereby obtaining the first transaction information ciphertext, and then carrying it in the message to send it to the data management device 10 corresponding to the designated transaction participant. .
- the KDF keys saved by both parties will be used for three chains: root chain, sending chain and receiving chain (one party's The sending chain corresponds to the receiving chain of the other party and vice versa).
- Organization A and Organization B exchange messages (the messages can carry the ciphertext of the first transaction information), they also exchange new Diffie-Hellman public keys, and the key output by Diffie-Hellman will serve as the root chain. input of.
- the key output by the root chain will be used as the KDF key for the sending chain and receiving chain. This is called the Diffie-Hellman ratchet.
- the output key will be used to encrypt and decrypt messages. This is called symmetric-key ratchet.
- Each message sent or received can be encrypted using a unique message key.
- the message key is the output key of the sending KDF chain and the receiving KDF chain. Since the KDF input of the sending KDF chain and the receiving KDF chain is a constant, these two chains are not recoverable after being compromised.
- the sending and receiving chains ensure that each message is encrypted with a unique key that can be deleted after encryption or decryption.
- the process of calculating the next chain key and message key from a given chain key is called a ratchet step of the symmetric-key ratchet.
- the double ratchet algorithm combines the symmetric key ratchet with DH A ratchet is composed together and uses the latter to update the chain key based on the Diffie-Hellman output.
- the communicating parties each generate a DH key pair (Diffie-Hellman public key and private key) as the current ratchet key pair. Every message sent from either party will carry a message header containing the sender's current Ratchet public key.
- the local end When receiving the new ratchet public key sent from the remote end, the local end will perform a DH ratchet step (DH ratchet step) to generate a new ratchet key pair to replace the current key pair of the local end.
- the communicating parties alternately update the ratchet key pair, forming a "ping-pong" behavior pattern.
- An eavesdropper who intercepts only one of the parties may obtain the value of the current ratchet private key, but this ratchet private key will eventually be replaced by the undisclosed ratchet private key.
- the Diffie-Hellman computation between the ratchet key pair will define a new DH output unknown to the attacker.
- the target data management device can also use the private key in the public-private key pair generated by the CA node to sign, so that the opposite end can perform signature verification and thereby determine the identity of the local end.
- the CA node can derive a temporary public and private key pair, and the target data management device can use the temporary private key and combine it with the signature algorithm to sign the first transaction information ciphertext in the message.
- the target data management device can construct a key value (KV) based on the group and the group message, and then upload the group message to the link in the form of a key value.
- KV key value
- the target data management device stores the first transaction information ciphertext in the blockchain ledger.
- the target data management device can send the first transaction information ciphertext to the corresponding blockchain node 20 , and the blockchain node 20 stores the first transaction information ciphertext in based on the smart contract of the blockchain network 200 .
- Blockchain ledger the blockchain nodes 20 can perform consensus based on the consensus algorithm defined by the smart contract, and after reaching a consensus, each blockchain node 20 stores the first transaction information ciphertext in the area maintained by each by adding blocks. Blockchain ledger.
- the target data management device encrypts the plain text of the transaction information based on the public key or symmetric key of the transaction initiator among the transaction participants, and obtains the second cipher text of the transaction information.
- the target data management device can use the public key or symmetric key of the transaction initiator to encrypt the plain text of the transaction information through an encryption algorithm, thereby obtaining the second cipher text of the transaction information.
- the target data management device uses a public key, it can encrypt by an asymmetric encryption algorithm; when the target data management device uses a symmetric key, it can encrypt by a symmetric encryption algorithm.
- the data management device 10 corresponding to other transaction participants in the private transaction group can use the public key or symmetric key of the transaction participant to encrypt the plain text of the transaction information through an encryption algorithm, thereby obtaining the second transaction Information cipher text.
- the target data management device stores the second transaction information ciphertext in the private ledger.
- the target data management device stores the second transaction information ciphertext calculated by the target data management device to the private account book in the local storage mounted on the target data management device.
- the data management device 10 corresponding to other transaction participants in the private transaction group can store the second transaction information ciphertext calculated by the data management device 10 to the private ledger in the local storage mounted on the data management device 10 .
- the second transaction information ciphertext stored in different private ledgers can be encrypted using the keys (public keys or symmetric keys) of the corresponding transaction participants. Therefore, the second transaction information ciphertext stored in different private ledgers can be different. .
- the above-mentioned S404 to S410 are an implementation manner in which the target data management device stores the transaction information ciphertext in the blockchain network 200 according to the storage request. In other possible implementation manners of the embodiment of the present application, it can also be implemented Store transaction information ciphertext in other ways.
- the target data management device may not mount local storage.
- the local target data management device may not execute the above-mentioned S408 and S410.
- S412 The target data management device queries the second transaction information ciphertext from the private ledger. If the query is successful, S414 can be executed. If the query fails, S416 and S418 can be executed.
- the target data management device may first query the second transaction information ciphertext from the locally stored private ledger to improve query efficiency and query performance. Considering that the second transaction information cipher text in the locally stored private ledger may be tampered with or deleted, or the locally stored storage medium fails, the query may fail. Based on this, the target data management device may perform S414 for decryption when the query is successful. , when the query fails, execute S416 and S418 to obtain and decrypt the first transaction information ciphertext.
- the target data management device decrypts the second transaction information ciphertext and obtains the transaction information plaintext.
- the target data management device when the target data management device uses the public key to encrypt the plain text of the transaction information to obtain the second cipher text of the transaction information, it can use the private key to decrypt the second cipher text of the transaction information to restore the plain text of the transaction information.
- the target data management device uses the symmetric key to encrypt the plain text of the transaction information to obtain the second cipher text of the transaction information, the target data management device can use the symmetric key to decrypt the second cipher text of the transaction information to restore the plain text of the transaction information.
- S416 The target data management device queries the first transaction information ciphertext from the blockchain account book.
- the target data management device may query the first transaction information ciphertext from the blockchain account book based on the smart contract of the blockchain network 200 . Due to the non-tampering characteristics of the blockchain, the target data management device can query the first transaction information ciphertext from the blockchain ledger maintained by each blockchain node 20 .
- the target data management device decrypts the first transaction information ciphertext and obtains the transaction information plaintext.
- the first transaction information ciphertext is usually based on the chain key and encrypted using the double ratchet algorithm. Based on this, the target data management device can decrypt the first transaction information ciphertext through a double ratchet algorithm in combination with the chain key, thereby obtaining the transaction information plaintext.
- the target data management device can directly query the first transaction information ciphertext from the blockchain ledger according to the query request, and then decrypt the first transaction information ciphertext to obtain the transaction information plaintext.
- the above-mentioned S404 to S418 are an implementation method for the target data management device in the embodiment of the present application to obtain the ciphertext of the transaction information in the blockchain network 200IO according to the transaction request.
- the data processing method in the embodiment of the present application can also be executed by executing other steps to achieve.
- S420 The target data management device returns the transaction result to the blockchain client.
- the transaction results are different for different transaction requests.
- the transaction result can be a transaction success notification, which is used to indicate the success of the storage.
- the transaction result may also include the plain text of the queried transaction information.
- the plain text of the transaction information can be obtained by decrypting the cipher text of the transaction information by the target data management device.
- the target data management device can also obtain the first meta-information of the data stored in the private ledger from the private ledger, and obtain the first metadata of the data stored in the private ledger from the blockchain ledger of the blockchain network.
- Secondary information of data stored in private ledgers refers to the meta-information of the data stored in the private ledger itself, such as one or more of the creator, creation time, size, and hash value of the data.
- the second meta-information refers to the data stored on the chain.
- the meta information of the data in the private ledger such as one or more of the creator, creation time, size, and hash value of the data.
- the second meta information can be that when the data is stored in the private ledger, its meta information is stored on the chain. .
- the target data management device may perform a fault check based on the first meta-information and the second meta-information, and obtain a fault check result. Specifically, the target data management device can compare the first meta-information and the second meta-information. If the first meta-information and the second meta-information do not match, it indicates that a failure has occurred, for example, the data stored in the private account book has been tampered with, deleted, or the data has been deleted. In the event of a storage failure mounted by the target data management device, the target management device may write the fault check result into the blockchain network 200 .
- the target data management device can also perform fault recovery based on the blockchain ledger. Specifically, the target data management device can decrypt the first transaction information ciphertext in the blockchain ledger to obtain the transaction information plaintext, then encrypt the transaction information plaintext to obtain the second transaction information ciphertext, and convert the second transaction information ciphertext into Stored in a private ledger for failure recovery.
- the embodiment of the present application provides a data processing method.
- this method for blockchains in consortium chain scenarios or open consortium chain scenarios, user data is open to all participants on the chain, but some participants wish to define private transactions or private information by specifying different participants.
- This method introduces a distributed data management system 100 to support the management of keys and the storage of private data for different participants to achieve organizational-level privacy protection.
- the embedded group management capabilities it improves the efficiency of uploading and querying user privacy data. Convenience.
- the blockchain network includes blockchain node A corresponding to organization A, blockchain node B corresponding to organization B, blockchain node C and organization D corresponding to organization C.
- the corresponding blockchain node D is bound to data management device A
- blockchain node B is bound to data management device B
- blockchain node C is bound to data management device C
- blockchain node D is not bound to data.
- Management device therefore, blockchain node A, blockchain node B, and blockchain node C have private transaction capabilities
- blockchain node D is an ordinary blockchain node and does not have private transaction capabilities.
- the data management device bound to the blockchain node can create a private transaction group.
- data management device A can create the following privacy transaction groups: group (organization A, organization B), group (organization A, organization C), group (organization B, organization C) and group (organization A, organization B, organization C). It should be noted that as the organization in the blockchain network expands or shrinks, the data management device can also dynamically update the private transaction group.
- the data management device can also create the following private transaction group: group (organization A, organization D), group (organization A, organization B, organization D), group (organization A, organization D) C, organization D), group (organization B, organization C, organization D), group (organization C, organization D) and group (organization A, organization B, organization C), organization D.
- Data management device A, data management device B, and data management device C can negotiate the chain key based on the blockchain network and synchronize the chain key in the group.
- organization A initiates a transaction, for example, organization A sends a transaction request for storing data to data management device A through the blockchain client, and the transaction request includes the identification of organization A and the identification of organization B
- data management device A can The chain key of organization A in group (organization A, organization B) encrypts the plain text of the transaction information, obtains the first cipher text of the transaction information, and then stores the first cipher text of the transaction information on the chain.
- data management device A can also use the public key or symmetric key of organization A to encrypt the plain text of the transaction information, obtain the second cipher text of the transaction information, and then store the second cipher text of the transaction information locally, specifically in a private ledger. .
- This stage may include the following steps:
- Step 1 The target data management device of the distributed data management system periodically accesses the blockchain node to obtain the group list, group status, and on-chain event notifications.
- Step 2 The target data management device periodically accesses the private ledger in local storage to obtain the group list and group status.
- Step 3 The target data management device compares the group list and group status obtained from the blockchain node with the group list and group status obtained from the local ledger. If they are consistent, return to step 1 and step 2. If they are inconsistent, go to step 4.
- Step 4 The target data management device identifies the reason for the inconsistency. If the reason is that the group has not been created or the creation of other data management devices has timed out, the on-chain status is changed.
- Step 5 The target data management device triggers group creation.
- Step 6 The target data management device performs on-chain event notification.
- the target data management device when it triggers group creation, it can generate an on-chain event notification, which is used to notify other data management devices that the current target data management device is responsible for creating the target group.
- the target data management device can execute based on the on-chain event notification. The action of creating a target group.
- the data management system of the distributed data management system can interact with the blockchain network at startup and access the blockchain nodes to obtain the group list, group status and current organization-related events stored in the current chain. and other information, while loading the group list and group status in the locally stored private ledger, and calculating the group differences through comparison. If the chain and local groups are consistent, the initialization is completed. If they are inconsistent, identify the cause of the current inconsistency to see if it is other reasons. The data management device times out when creating a group. Based on different reasons, the creation task is preempted and updated to the chain, and the group creation process is triggered at the same time. Then return to step 1 and step 2 to continue checking the group.
- this stage may include the following steps:
- Step 1 After startup, each data management device of the distributed data management system queries the organizational information on the chain and synchronizes it. Group information.
- Step 2 Data management device A creates a group list based on the organization information, compares the local and on-chain group lists, creates the missing group group (organization A, organization B, organization C), and updates the on-chain status, creation time, creation By.
- Step 3 Data management device B and data management device C compare and check the local group and the group on the chain, determine that the group (organization A, organization B, organization C) creation task is executed by data management device A, and start monitoring the task. , and prepare the key for it.
- Step 4 The CA node issues the temporary public and private key pairs used by data management device A, data management device B, and data management device C in group (organization A, organization B, organization C) respectively.
- Data management device A, data management device B , the data management device C generates chain keys in groups (organization A, organization B, organization C) respectively.
- Step 5 Data management device A uploads the temporary public key of data management device A to the chain, updates the transaction on the chain and notifies organization B.
- Organization C uploads its temporary public key.
- Step 6 Data management devices B and C monitor the transactions on the chain, upload their respective temporary public keys, and update the transaction status.
- Step 7 Data management device A, data management device B and data management device C respectively use the public keys of other designated transaction participants to encrypt their respective chain keys, sign with the private keys, and then upload the ciphertext of the chain keys to the chain. .
- Step 8 Data management device A, data management device B and data management device C respectively use the public keys of other designated transaction participants to verify the signature, and after passing the verification, use their respective private keys to decrypt to obtain the other designated transaction participants. The chain key is then encrypted and saved.
- Figure 8 is an example of creating a group (organization A, organization B, organization C) and synchronizing the chain key.
- group can be created in a similar manner and the chain key can be synchronized within the group.
- Step 1 The blockchain client sends a transaction request to the target data management device.
- the transaction request includes the identifiers of organization A, organization B, and organization C, for example, the organization names of organization A, organization B, and organization C.
- Step 2 The target data management device verifies the signature carried in the transaction request and whether the organization specified in the transaction request exists. If the verification passes, step 3 is performed. If not, the transaction request is rejected.
- the transaction initiated from the blockchain client includes the scope of the specified group and the content of the transaction.
- the data management device first checks its signature. If it is an illegal request, it will return directly. If it is a legal request, it will verify whether the organization of the private transaction is If it exists, it will be returned if it does not exist.
- Step 3 The target data management device queries the chain for the group status of the group to which the organization specified in the transaction request belongs. If the group status is normal, perform steps 4 and 5 to synchronize private transactions. If the group status is that the group does not exist, the group is in the process of key change, or the group is being created, group creation or processing is triggered.
- the transaction request is returned to the blockchain client to wait for the group creation to end and initiate the group creation process.
- Step 4 The target data management device encrypts the plain text of the transaction information and uploads it to the chain.
- Step 5 The target data management device encrypts and stores the transaction information in plain text in the private ledger.
- Step 6 The target data management device counts the number of private transactions. When the number of private transactions reaches the preset number, perform step 7.
- the preset number can be set based on experience value, for example, the preset number can be set to 10.
- Step 7 The target data management device triggers key update.
- Figure 10 illustrates an example of privacy transactions between Organization A and Organization B, which specifically includes the following steps:
- Step 1 Organization A sends a transaction request to data management device A through the blockchain client.
- Step 2 Data management device A can use the double ratchet algorithm to generate a message key based on the chain key of organization A in the group, use the message key to encrypt the plain text of the transaction information, sign it with the private key, and then upload it to the chain with the group message .
- Step 3 Data management device B monitors the new message sent by data management device A in the group, uses the chain key of organization A in the group to generate a message key, and uses the message key to decrypt the ciphertext of the transaction information to obtain the plaintext of the transaction information. .
- Step 4 Data management device C monitors the ciphertext generated on the chain, but cannot decrypt it.
- Step 5 When the number of private transactions between data management device A and data management device B reaches the preset number, key update is triggered to generate a new chain key and public-private key pair.
- Step 6 Data management device A uploads the new temporary public key used in the group to the chain, and updates the on-chain transaction to notify other organizations in the group to upload the new public key.
- Step 7 Data management device B monitors on-chain transactions, uploads its new temporary public key used in the group, and updates on-chain transactions.
- Step 8 Data management device A obtains the new temporary public key used by organization B in the group, uses the temporary public key to encrypt the chain key, uses the private key to sign, and then uploads the ciphertext to the chain.
- Step 9 Data management device B obtains the new temporary public key used by organization A in the group, uses the temporary public key to encrypt the chain key, uses the private key to sign, and then uploads the ciphertext to the chain.
- Step 10 Data management device A and data management device B use the peer's public key to verify the signature. After passing the verification, they use their own private keys to decrypt to obtain the peer's chain key in the group.
- the data management device can transmit private data based on the blockchain and regularly update the group secret key through the end-to-end encrypted double ratchet algorithm to achieve forward security capabilities for group transactions.
- the data management device may also update keys for private transactions based on the number of key update rotations specified in the configuration. For example, the number of key update rotations can be specified as a minimum of once to achieve the effect of one-time padding. If the number of key update rotations is reached, group members will generate temporary public and private keys and new chain keys, and then based on the negotiation in the previous process The process is synchronized to other members of the group.
- Step 1 The blockchain client sends a transaction request to the target data management device.
- Step 2 The target data management device verifies the signature in the transaction request. If the verification passes, step 3 is performed. If the verification fails, the transaction request is rejected.
- Step 3 The target data management device queries the ciphertext of transaction information from the locally stored private ledger.
- the data management device supports private transaction query capabilities through the blockchain client. Since the data management device can host all temporary keys used for transaction encryption and are invisible to the user, transactions can be queried based on the data management device. After the user initiates a private transaction query, the data management device can verify whether the signature of the transaction request is a legal request. If it is not legal, it will be returned directly. If it is legal, the result will be queried from the locally stored private ledger and returned to the customer. At the same time, in order to ensure that the transaction has not been tampered with, the target data management device can compare the hash on the chain and the hash of the private ledger. If it does not exist in the private ledger, the ciphertext of the transaction information can be obtained from the blockchain ledger on the chain.
- the embodiment of the present application also provides a distributed data management system 100 as described above.
- the distributed data management system 100 is introduced below with reference to the accompanying drawings.
- the distributed data management system 100 includes multiple data management devices 10 .
- the first data management device among the plurality of data management devices 10 corresponds to the first blockchain node of the blockchain network
- the second data management device among the plurality of data management devices 10 corresponds to the second blockchain of the blockchain network. node.
- the target data management device among the plurality of data management devices 10 is configured to receive a transaction request from the blockchain client, where the transaction request includes the identification of the transaction participant;
- the target data management device is also configured to input and output IO transaction information ciphertext in the blockchain network according to the transaction request, and the transaction information ciphertext adopts another participating party other than the transaction participant.
- the plain text of the transaction information is encrypted with a key invisible to the party, and the transaction result is returned to the blockchain client.
- the blockchain nodes of the blockchain network include blockchain ledgers
- the target data management device is specifically used for:
- the transaction information ciphertext is entered in the blockchain ledger IO.
- the target data management device mounts local storage, and the local storage includes the private ledger of the blockchain network;
- the target data management device is specifically used for:
- the transaction information ciphertext is in the private ledger IO.
- the transaction request is a storage request, and the transaction request includes plain text of transaction information
- the target data management device is specifically used for:
- the plain text of the transaction information is encrypted, the first transaction information cipher text is obtained, and the first transaction information cipher text is stored in the blockchain ledger.
- the plain text of the transaction information is encrypted according to the public key or symmetric key of the transaction initiator among the transaction participants, a second cipher text of the transaction information is obtained, and the second cipher text of the transaction information is stored in the private ledger.
- the transaction request is a query request
- the target data management device is specifically used for:
- the method also includes:
- the target data management device decrypts the ciphertext of the transaction information and obtains the plaintext of the transaction information
- the transaction result includes the plain text of the transaction information.
- the target data management device is also used to:
- the chain secret of the transaction initiator in the privacy transaction group among the transaction participants is obtained through negotiation on the blockchain network. key;
- Keys that are not visible to another party other than the party to the transaction include the chain key.
- the target data management device is also used to:
- the chain key is updated through a double ratchet algorithm.
- the key update conditions include:
- the number of transactions based on the chain key reaches a preset number.
- the target data management device is also used to:
- the blockchain network before the blockchain network inputs and outputs the IO transaction information ciphertext, receive the public and private key pair issued by the certificate issuing node for the transaction initiator among the transaction participants;
- Keys that are not visible to another party other than the transaction party include the public key in the public-private key pair.
- the target data management device mounts local storage, and the local storage includes the private ledger of the blockchain network;
- the target data management device is also used for:
- the target data management device is also used to:
- fault recovery is performed based on the blockchain ledger.
- the target data management device may be any one of the plurality of data management devices 10 , for example, it may be the above-mentioned first data management device or the second data management device.
- the structure of the data management device is introduced below. As shown in Figure 12, the data management device 10 includes:
- the communication module 102 is used to receive a transaction request from the blockchain client, where the transaction request includes the identification of the transaction participant;
- the management module 104 is configured to input and output IO transaction information ciphertext in the blockchain network according to the transaction request.
- the transaction information ciphertext is invisible to another participant other than the transaction participant.
- the key is obtained by encrypting the plain text of the transaction information;
- the communication module 102 is also used to return transaction results to the blockchain client.
- management module 104 is used to implement the group manager, end-to-end encryption component, private ledger management or calculation verification functions shown in Figure 1 or Figure 2 or Figure 3 .
- the above-mentioned communication module 102 and management module 104 can be implemented by hardware modules or software modules.
- the communication module 102 and the management module 104 may be application programs or application program modules running on a computing device or a cluster of computing devices.
- the communication module 102 can be implemented by a transceiver module such as a network interface card or a transceiver.
- the management module 104 may be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
- ASIC application-specific integrated circuit
- PLD programmable logic device
- the above-mentioned PLD can be implemented by a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
- CPLD complex programmable logical device
- FPGA field-programmable gate array
- GAL general array logic
- the blockchain nodes of the blockchain network include blockchain ledgers
- the management module 104 is specifically used to:
- the transaction information ciphertext is entered in the blockchain ledger IO.
- the data management device mounts local storage, and the local storage includes the private ledger of the blockchain network;
- the management module 104 is specifically used to:
- the transaction information ciphertext is in the private ledger IO.
- the transaction request is a storage request, and the transaction request includes plain text of transaction information
- the management module 104 is specifically used to:
- the plain text of the transaction information is encrypted, the first transaction information cipher text is obtained, and the first transaction information cipher text is stored in the blockchain ledger.
- the plain text of the transaction information is encrypted according to the public key or symmetric key of the transaction initiator among the transaction participants, a second cipher text of the transaction information is obtained, and the second cipher text of the transaction information is stored in the private ledger.
- the transaction request is a query request
- the management module 104 is specifically used to:
- the management module 104 is also used to:
- the transaction result includes the plain text of the transaction information.
- the management module 104 is also used to:
- the chain secret of the transaction initiator in the privacy transaction group among the transaction participants is obtained through negotiation on the blockchain network. key;
- Keys that are not visible to another party other than the party to the transaction include the chain key.
- the management module 104 is also used to:
- the chain key is updated through a double ratchet algorithm.
- the key update conditions include:
- the number of transactions based on the chain key reaches a preset number.
- the communication module 102 is also used to:
- Keys that are not visible to another party other than the transaction party include the public key in the public-private key pair.
- the data management device 10 mounts local storage, and the local storage includes the private ledger of the blockchain network;
- the communication module 102 is also used to:
- the device 10 also includes:
- the fault checking module 106 is used to perform fault checking according to the first meta-information and the second meta-information, and obtain Fault check results.
- the above-mentioned fault checking module 106 can be implemented by a hardware module or a software module.
- the fault checking module 106 may be an application or application module running on a computing device or cluster of computing devices.
- the fault checking module 106 may be a device implemented using an application specific integrated circuit (ASIC), or a programmable logic device (PLD), or the like.
- ASIC application specific integrated circuit
- PLD programmable logic device
- the above-mentioned PLD can be implemented by a complex program logic device CPLD, a field programmable gate array FPGA, a general array logic GAL, or any combination thereof.
- the device 10 further includes:
- the fault recovery module 108 is configured to perform fault recovery based on the blockchain ledger when the fault check result indicates that the data stored in the private ledger has been tampered with, deleted, or a storage failure mounted on the data management device.
- the above-mentioned fault recovery module 108 can be implemented by a hardware module or a software module.
- the fault recovery module 108 may be an application or application module running on a computing device or cluster of computing devices.
- the fault recovery module 108 may be a device implemented using an application specific integrated circuit (ASIC), or a programmable logic device (PLD), or the like.
- ASIC application specific integrated circuit
- PLD programmable logic device
- the above-mentioned PLD can be implemented by a complex program logic device CPLD, a field programmable gate array FPGA, a general array logic GAL, or any combination thereof.
- computing device 1300 includes: bus 1302, processor 1304, memory 1306, and communication interface 1308.
- the processor 1304, the memory 1306 and the communication interface 1308 communicate through a bus 1302.
- the computing device 1300 may be a computing device in a central cloud, such as a central server, or a computing device in an edge cloud, such as an edge server.
- the computing device 1300 may also be a lightweight device, such as a smartphone, a smart wearable device, and other terminal devices. It should be understood that this application does not limit the number of processors and memories in the computing device 1300.
- the bus 1302 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
- PCI peripheral component interconnect
- EISA extended industry standard architecture
- the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one line is used in Figure 13, but it does not mean that there is only one bus or one type of bus.
- Bus 1302 may include a path that carries information between various components of computing device 1300 (eg, memory 1306, processor 1304, communications interface 1308).
- the processor 1304 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP) or a digital signal processor (DSP). any one or more of them.
- CPU central processing unit
- GPU graphics processing unit
- MP microprocessor
- DSP digital signal processor
- Memory 1306 may include volatile memory, such as random access memory (RAM).
- the processor 1304 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid state drive (SSD). drive, SSD).
- ROM read-only memory
- HDD hard disk drive
- SSD solid state drive
- the memory 1306 stores executable program code, and the processor 1304 executes the executable program code to implement the foregoing data processing method.
- the memory 1306 stores instructions for the distributed data management system 100 or the data management device 10 to execute the data processing method.
- the communication interface 1308 uses transceiver modules such as, but not limited to, network interface cards and transceivers to implement communication between the computing device 1300 and other devices or communication networks.
- An embodiment of the present application also provides a computing device cluster.
- the computing device cluster includes at least one computing device 1300 .
- the computing device 1300 may be a server, such as a central server or an edge server.
- computing device 1300 may also be a terminal device.
- the computing device cluster includes at least one computing device 1300. Instructions for performing the data processing method of the same distributed data management system 100 may be stored in the memory 1306 of one or more computing devices 1300 in the cluster of computing devices.
- one or more computing devices 1300 in the computing device cluster may also be used to execute part of the instructions of the distributed data management system 100 for executing the data processing method.
- a combination of one or more computing devices 1300 may collectively execute instructions of the distributed data management system 100 for performing the data processing method.
- the memory 1306 in different computing devices 1300 in the computing device cluster can store different instructions for executing part of the functions of the distributed data management system 100 .
- Figure 15 shows a possible implementation.
- two computing devices 1300A and 1300B are connected through a communication interface 1308.
- the memory in the computing device 1300A stores instructions for executing the functions of the communication module 102 and the management module 104 .
- Instructions for the functions of the fault detection module 106 and the fault recovery module 108 are stored on memory in the computing device 1300B.
- the memories 1306 of the computing devices 1300A and 1300B jointly store instructions for the distributed data management system 100 to perform the data processing method.
- connection method between the computing device clusters shown in Figure 15 can be considered that the data processing method provided by this application needs to scan the distributed ledger maintained by the blockchain node in the blockchain network when performing fault check. When the fault is restored, , need to read the fault information stored in the blockchain node. Therefore, it is considered that the functions implemented by the communication module 102 and the management module 104 are executed by the computing device 1300A, and the functions implemented by the fault checking module 106 and the fault recovery module 108 are executed by the computing device 1300B.
- computing device 1300A shown in FIG. 15 may also be performed by multiple computing devices 1300.
- the functions of computing device 1300B may also be performed by multiple computing devices 1300.
- one or more computing devices in a cluster of computing devices may be connected through a network.
- the network may be a wide area network or a local area network, etc.
- Figure 16 shows a possible implementation. As shown in Figure 16, two computing devices 1300C and 1300D are connected through a network. Specifically, the connection to the network is made through a communication interface in each computing device.
- instructions for executing the functions of the communication module 102 and the management module 104 are stored in the memory 1306 of the computing device 1300C.
- instructions for performing the functions of the fault checking module 106 and the fault recovery module 108 are stored in the memory 1306 in the computing device 1300D.
- connection method between the computing device clusters shown in Figure 16 can be considering that the data processing method provided by this application needs to scan the distributed ledger maintained by the blockchain node in the blockchain network, or read the storage in the blockchain node. Therefore, it is considered that the functions implemented by the communication module 102 and the management module 104 are executed by the computing device 1300C, and the functions implemented by the fault checking module 106 and the fault recovery module 108 are executed by the computing device 1300D. It should be understood that the functions of computing device 1300C shown in FIG. 16 may also be performed by multiple computing devices 1300. Likewise, the functions of computing device 1300D may also be performed by multiple computing devices 1300.
- An embodiment of the present application also provides a computer-readable storage medium.
- the computer-readable storage medium may be any available medium that a computing device can store or a data storage device such as a data center that contains one or more available media. Prepare.
- the available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, solid state drive), etc.
- the computer-readable storage medium includes instructions that instruct the computing device to perform the above-mentioned data processing method applied to the distributed data management system 100.
- An embodiment of the present application also provides a computer program product containing instructions.
- the computer program product may be a software or program product containing instructions capable of running on a computing device or cluster of computing devices or stored in any available medium.
- the computer program product is run on at least one computing device (computing device or computing device cluster), at least one computing device is caused to execute the above data processing method.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
Claims (26)
- 一种数据处理方法,其特征在于,应用于分布式数据管理系统,所述分布式数据管理系统包括多个数据管理装置,所述多个数据管理装置中的第一数据管理装置对应区块链网络的第一区块链节点,所述多个数据管理装置中的第二数据管理装置对应区块链网络的第二区块链节点;所述多个数据管理装置中的目标数据管理装置接收来自区块链客户端的交易请求,所述交易请求中包括交易参与方的标识;所述目标数据管理装置根据所述交易请求,在所述区块链网络输入输出IO交易信息密文,所述交易信息密文采用对所述交易参与方之外的另一参与方不可见的密钥对交易信息明文加密得到;所述目标数据管理装置向所述区块链客户端返回交易结果。
- 根据权利要求1所述的方法,其特征在于,所述区块链网络的区块链节点中包括区块链账本;所述目标数据管理装置根据所述交易请求,在所述区块链网络输入输出IO交易信息密文,包括:所述目标数据管理装置根据所述交易请求,在所述区块链账本IO交易信息密文。
- 根据权利要求1所述的方法,其特征在于,所述目标数据管理装置挂载本地存储,所述本地存储中包括所述区块链网络的私有账本;所述目标数据管理装置根据所述交易请求,在所述区块链网络输入输出IO交易信息密文,包括:所述目标数据管理装置根据所述交易请求,在所述私有账本IO交易信息密文。
- 根据权利要求3所述的方法,其特征在于,所述交易请求为存储请求,所述交易请求包括交易信息明文;所述目标数据管理装置根据所述交易请求,在所述区块链网络输入输出IO交易信息密文,包括:所述目标数据管理装置根据所述交易参与方中交易发起方在隐私交易群组中的链密钥,加密交易信息明文,获得第一交易信息密文,存储所述第一交易信息密文至所述区块链账本;所述目标数据管理装置根据所述交易参与方中交易发起方的公钥或对称密钥加密交易信息明文,获得第二交易信息密文,存储所述第二交易信息密文至所述私有账本。
- 根据权利要求3所述的方法,其特征在于,所述交易请求为查询请求;所述目标数据管理装置根据所述交易请求,在所述区块链网络输入输出IO交易信息密文,包括:所述目标数据管理装置根据所述交易请求,从所述私有账本或所述区块链账本读取所述交易信息密文;所述方法还包括:所述目标数据管理装置对所述交易信息密文进行解密,获得所述交易信息明文;所述交易结果包括所述交易信息明文。
- 根据权利要求1至5任一项所述的方法,其特征在于,所述目标数据管理装置根据所述交易请求,在所述区块链网络输入输出IO交易信息密文之前,所述方法还包括:通过所述区块链网络协商得到所述交易参与方中交易发起方在隐私交易群组中的链密钥;对所述交易参与方之外的另一参与方不可见的密钥包括所述链密钥。
- 根据权利要求6所述的方法,其特征在于,所述方法还包括:当密钥更新条件被触发时,通过双棘轮算法更新所述链密钥。
- 根据权利要求7所述的方法,其特征在于,所述密钥更新条件包括:基于所述链密钥的交易次数达到预设数量。
- 根据权利要求1至5任一项所述的方法,其特征在于,所述目标数据管理装置根据所述交易请求,在所述区块链网络输入输出IO交易信息密文之前,所述方法还包括:接收证书签发节点为所述交易参与方中交易发起方签发的公私钥对;对所述交易参与方之外的另一参与方不可见的密钥包括所述公私钥对中的公钥。
- 根据权利要求1至9任一项所述的方法,其特征在于,所述目标数据管理装置挂载本地存储,所述本地存储中包括所述区块链网络的私有账本;所述方法还包括:所述目标数据管理装置从所述私有账本获取所述私有账本中存储数据的第一元信息,以及从所述区块链网络的区块链账本中获取所述私有账本中存储数据的第二元信息;根据所述第一元信息和所述第二元信息进行故障检查,获得故障检查结果。
- 根据权利要求10所述的方法,其特征在于,所述方法还包括:当所述故障检查结果表征所述私有账本中存储数据被篡改、删除或者所述目标数据管理装置挂载的存储故障,所述目标数据管理装置根据所述区块链账本进行故障恢复。
- 一种分布式数据管理系统,其特征在于,所述分布式数据管理系统包括多个数据管理装置,所述多个数据管理装置中的第一数据管理装置对应区块链网络的第一区块链节点,所述多个数据管理装置中的第二数据管理装置对应区块链网络的第二区块链节点;所述多个数据管理装置中的目标数据管理装置,用于接收来自区块链客户端的交易请求,所述交易请求中包括交易参与方的标识;所述目标数据管理装置,还用于根据所述交易请求,在所述区块链网络输入输出IO交易信息密文,所述交易信息密文采用对所述交易参与方之外的另一参与方不可见的密钥对交易信息明文加密得到,向所述区块链客户端返回交易结果。
- 根据权利要求12所述的系统,其特征在于,所述区块链网络的区块链节点中包括区块链账本;所述目标数据管理装置具体用于:根据所述交易请求,在所述区块链账本IO交易信息密文。
- 根据权利要求12所述的系统,其特征在于,所述目标数据管理装置挂载本地存储,所述本地存储中包括所述区块链网络的私有账本;所述目标数据管理装置具体用于:根据所述交易请求,在所述私有账本IO交易信息密文。
- 根据权利要求14所述的系统,其特征在于,所述交易请求为存储请求,所述交易请求包括交易信息明文;所述目标数据管理装置具体用于:根据所述交易参与方中交易发起方在隐私交易群组中的链密钥,加密交易信息明文,获得第一交易信息密文,存储所述第一交易信息密文至所述区块链账本;根据所述交易参与方中交易发起方的公钥或对称密钥加密交易信息明文,获得第二交易信息密文,存储所述第二交易信息密文至所述私有账本。
- 根据权利要求14所述的系统,其特征在于,所述交易请求为查询请求;所述目标数据管理装置具体用于:根据所述交易请求,从所述私有账本或所述区块链账本读取所述交易信息密文;所述方法还包括:所述目标数据管理装置对所述交易信息密文进行解密,获得所述交易信息明文;所述交易结果包括所述交易信息明文。
- 根据权利要求11至16任一项所述的系统,其特征在于,所述目标数据管理装置还用于:在根据所述交易请求,在所述区块链网络输入输出IO交易信息密文之前,通过所述区块链网络协商得到所述交易参与方中交易发起方在隐私交易群组中的链密钥;对所述交易参与方之外的另一参与方不可见的密钥包括所述链密钥。
- 根据权利要求17所述的系统,其特征在于,所述目标数据管理装置还用于:当密钥更新条件被触发时,通过双棘轮算法更新所述链密钥。
- 根据权利要求18所述的系统,其特征在于,所述密钥更新条件包括:基于所述链密钥的交易次数达到预设数量。
- 根据权利要求11至16任一项所述的系统,其特征在于,所述目标数据管理装置还用于:在根据所述交易请求,在所述区块链网络输入输出IO交易信息密文之前,接收证书签发节点为所述交易参与方中交易发起方签发的公私钥对;对所述交易参与方之外的另一参与方不可见的密钥包括所述公私钥对中的公钥。
- 根据权利要求11至20任一项所述的系统,其特征在于,所述目标数据管理装置挂载本地存储,所述本地存储中包括所述区块链网络的私有账本;所述目标数据管理装置还用于:从所述私有账本获取所述私有账本中存储数据的第一元信息,以及从所述区块链网络的区块链账本中获取所述私有账本中存储数据的第二元信息;根据所述第一元信息和所述第二元信息进行故障检查,获得故障检查结果。
- 根据权利要求21所述的系统,其特征在于,所述目标数据管理装置还用于:当所述故障检查结果表征所述私有账本中存储数据被篡改、删除或者所述目标数据管理装置挂载的存储故障,根据所述区块链账本进行故障恢复。
- 一种数据管理装置,其特征在于,所述数据管理装置对应区块链网络的区块链节点,所述数据管理装置包括:通信模块,用于接收来自区块链客户端的交易请求,所述交易请求中包括交易参与方的标识;管理模块,用于根据所述交易请求,在所述区块链网络输入输出IO交易信息密文,所述交易信息密文采用对所述交易参与方之外的另一参与方不可见的密钥对交易信息明文加密得到;所述通信模块,还用于向所述区块链客户端返回交易结果。
- 一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算设备集群执行如权利要求1至11中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至11任一项所述的方法。
- 一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至11任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23858594.7A EP4560974A4 (en) | 2022-08-31 | 2023-03-14 | DATA PROCESSING AND ASSOCIATED DEVICES |
| US19/067,606 US20250202724A1 (en) | 2022-08-31 | 2025-02-28 | Data processing method and related device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211063836.7A CN117675216A (zh) | 2022-08-31 | 2022-08-31 | 一种数据处理方法及相关设备 |
| CN202211063836.7 | 2022-08-31 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/067,606 Continuation US20250202724A1 (en) | 2022-08-31 | 2025-02-28 | Data processing method and related device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024045552A1 true WO2024045552A1 (zh) | 2024-03-07 |
Family
ID=90072073
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/081446 Ceased WO2024045552A1 (zh) | 2022-08-31 | 2023-03-14 | 一种数据处理方法及相关设备 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20250202724A1 (zh) |
| EP (1) | EP4560974A4 (zh) |
| CN (1) | CN117675216A (zh) |
| WO (1) | WO2024045552A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118631588A (zh) * | 2024-08-09 | 2024-09-10 | 北京三友卓越科技有限公司 | 一种数字地球空间的访问控制方法、设备及介质 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118094639B (zh) * | 2024-04-28 | 2024-07-02 | 北京中关村科金技术有限公司 | 基于人工智能的企业大数据挖掘方法及系统 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109493020A (zh) * | 2018-11-08 | 2019-03-19 | 众安信息技术服务有限公司 | 基于区块链的安全交易方法和装置 |
| CN110033266A (zh) * | 2019-02-19 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、节点和存储介质 |
| CN110335043A (zh) * | 2019-07-03 | 2019-10-15 | 中国银行股份有限公司 | 一种基于区块链系统的交易隐私保护方法、设备以及系统 |
| CN110827034A (zh) * | 2019-10-31 | 2020-02-21 | 支付宝(杭州)信息技术有限公司 | 用于发起区块链交易的方法及装置 |
| US20200259665A1 (en) * | 2017-11-15 | 2020-08-13 | Tencent Technology (Shenzhen) Company Limited | Transaction data processing method, computing device, and storage medium |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112883015A (zh) * | 2021-04-23 | 2021-06-01 | 北京中科金财科技股份有限公司 | 区块链数据管理方法、设备及存储介质 |
-
2022
- 2022-08-31 CN CN202211063836.7A patent/CN117675216A/zh active Pending
-
2023
- 2023-03-14 WO PCT/CN2023/081446 patent/WO2024045552A1/zh not_active Ceased
- 2023-03-14 EP EP23858594.7A patent/EP4560974A4/en active Pending
-
2025
- 2025-02-28 US US19/067,606 patent/US20250202724A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200259665A1 (en) * | 2017-11-15 | 2020-08-13 | Tencent Technology (Shenzhen) Company Limited | Transaction data processing method, computing device, and storage medium |
| CN109493020A (zh) * | 2018-11-08 | 2019-03-19 | 众安信息技术服务有限公司 | 基于区块链的安全交易方法和装置 |
| CN110033266A (zh) * | 2019-02-19 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、节点和存储介质 |
| CN110335043A (zh) * | 2019-07-03 | 2019-10-15 | 中国银行股份有限公司 | 一种基于区块链系统的交易隐私保护方法、设备以及系统 |
| CN110827034A (zh) * | 2019-10-31 | 2020-02-21 | 支付宝(杭州)信息技术有限公司 | 用于发起区块链交易的方法及装置 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4560974A4 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118631588A (zh) * | 2024-08-09 | 2024-09-10 | 北京三友卓越科技有限公司 | 一种数字地球空间的访问控制方法、设备及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4560974A4 (en) | 2025-11-12 |
| EP4560974A1 (en) | 2025-05-28 |
| US20250202724A1 (en) | 2025-06-19 |
| CN117675216A (zh) | 2024-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11356285B2 (en) | Distributed key management for trusted execution environments | |
| TWI725655B (zh) | 用於在可信執行環境中執行子邏輯代碼的程式執行和資料證明的方法、設備和系統 | |
| US20220166634A1 (en) | Method and apparatus for generating blockchain transaction | |
| AU2019204725B2 (en) | Retrieving access data for blockchain networks using highly available trusted execution environments | |
| US11893577B2 (en) | Cryptographic key storage system and method | |
| CN111541724B (zh) | 区块链一体机及其节点自动加入方法、装置 | |
| US11514446B2 (en) | Method and apparatus for starting smart contract, electronic device, and storage medium | |
| EP3619668B1 (en) | Performing parallel execution of transactions in a distributed ledger system | |
| WO2022193985A1 (zh) | 一种数据处理方法、装置、设备及存储介质 | |
| CN112751673B (zh) | 一种基于端边云协同的可监管数据隐私共享方法 | |
| WO2023024742A1 (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
| JP2020528224A (ja) | 信頼できる実行環境におけるスマート契約動作のセキュアな実行 | |
| CA3058013A1 (en) | Managing sensitive data elements in a blockchain network | |
| CN115412568A (zh) | 分布式数据传输方法、装置及系统 | |
| WO2022193984A1 (zh) | 跨链进行数据传输的方法、装置、计算机设备、存储介质和计算机程序产品 | |
| US20250202724A1 (en) | Data processing method and related device | |
| CN111212139A (zh) | 对信任节点信息进行更新的方法及装置 | |
| CN111541552A (zh) | 区块链一体机及其节点自动加入方法、装置 | |
| CN113259130B (zh) | 一种交易数据处理方法、装置、设备以及介质 | |
| CN111241593A (zh) | 用于区块链节点的数据同步方法及装置 | |
| CN111211876B (zh) | 发送针对数据请求的应答消息的方法及装置、区块链系统 | |
| CN111162970B (zh) | 在区块链系统中测试去中心化应用服务器的方法及装置 | |
| WO2021172589A1 (ja) | 情報処理システム、及びプログラム | |
| CN115914243B (zh) | 一种信息处理方法及装置、存储介质 | |
| HK40029934A (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: 23858594 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023858594 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2023858594 Country of ref document: EP Effective date: 20250220 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023858594 Country of ref document: EP |