WO2024197879A1 - 区块链数据处理方法、平台、系统、装置和电子设备 - Google Patents
区块链数据处理方法、平台、系统、装置和电子设备 Download PDFInfo
- Publication number
- WO2024197879A1 WO2024197879A1 PCT/CN2023/085649 CN2023085649W WO2024197879A1 WO 2024197879 A1 WO2024197879 A1 WO 2024197879A1 CN 2023085649 W CN2023085649 W CN 2023085649W WO 2024197879 A1 WO2024197879 A1 WO 2024197879A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- blockchain
- client device
- private key
- network
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- 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
Definitions
- the present disclosure relates to the field of blockchain technology, and more specifically, to a blockchain data processing method, platform, system, device, electronic device and storage medium.
- Blockchain is a chain data structure that combines data blocks in a sequential manner in chronological order, and a distributed ledger that is cryptographically guaranteed to be tamper-proof and unforgeable.
- the on-chain data of the blockchain network is a data island, and different blockchains cannot be interconnected, which hinders the further development of the data application ecology between different blockchains.
- cross-chain data processing methods can be used to achieve data sharing between blockchains.
- the present disclosure provides a blockchain data processing method, platform, system, device, electronic device and storage medium.
- a blockchain data processing method comprising: in response to receiving a data processing request from a first client device, obtaining at least one first blockchain data from a first blockchain network based on object identification information carried in the data processing request; confirming the ownership of the first client device based on the encrypted verification information carried in the data processing request; and in the case where it is determined that the first client device has completed the ownership confirmation, sending the at least one first blockchain data to the first client device, so that the first client device decrypts the at least one first blockchain data using the block body private key corresponding to each of the at least one first blockchain data to obtain at least one second blockchain data.
- a blockchain data processing platform including: a blockchain data source management module, configured to, in response to receiving a data processing request from a first client device, obtain at least one first blockchain data from a first blockchain network based on object identification information carried in the data processing request; a private key control module, configured to confirm the ownership of the first client device based on the encrypted verification information carried in the data processing request; and a data processing module, configured to, when determining that the first client device has completed the confirmation of ownership, send the at least one first blockchain data to the first client device, so that the first client device decrypts the at least one first blockchain data using the block body private key corresponding to each of the at least one first blockchain data to obtain at least one second blockchain data.
- a blockchain data processing system comprising: a first client device, a first blockchain network, a blockchain data processing platform and a distributed private key network; wherein the blockchain data processing platform is configured to: in response to receiving a data processing request from the first client device, obtain at least one first blockchain data from the first blockchain network based on the object identification information carried in the data processing request; confirm the ownership of the first client device based on the encrypted verification information carried in the data processing request; and send the at least one first blockchain data to the first client device when it is determined that the first client device has completed the confirmation; the first client device is configured to: decrypt the at least one first blockchain data using the block private key corresponding to each of the at least one first blockchain data to obtain at least one second blockchain data.
- a blockchain data processing device including: a first acquisition module, used to respond to receiving a data processing request from a first client device and obtain at least one first blockchain data from a first blockchain network based on the object identification information carried in the data processing request; a right confirmation module, used to confirm the right of the first client device based on the encrypted verification information carried in the data processing request; and a first sending module, used to send the at least one first blockchain data to the first client device when it is determined that the first client device has completed the right confirmation, so that the first client device can use the block body private key corresponding to each of the at least one first blockchain data to decrypt the at least one first blockchain data and obtain at least one second blockchain data.
- an electronic device including a memory and a processor, wherein instructions executable by the processor are stored in the memory, and when the instructions are executed by the processor, the processor executes the method as described above.
- a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to execute and implement the method described above.
- a computer program product including a computer program, and when the computer program is executed by a processor, the computer program implements the method as described above.
- FIG1 schematically shows an exemplary system architecture to which a blockchain data processing method can be applied according to an embodiment of the present disclosure.
- FIG2 schematically shows a flow chart of a blockchain data processing method according to an embodiment of the present disclosure.
- FIG3 schematically shows a flow chart of a blockchain data processing method according to another embodiment of the present disclosure.
- FIG4 schematically shows a flowchart of a blockchain data processing method according to another embodiment of the present disclosure.
- FIG5A schematically shows a schematic diagram of a method for asynchronously viewing blockchain data according to an embodiment of the present disclosure.
- FIG5B schematically shows a schematic diagram of a blockchain data synchronization viewing method according to an embodiment of the present disclosure.
- FIG6 schematically shows a schematic diagram of a blockchain data sharing method according to an embodiment of the present disclosure.
- FIG. 7 schematically shows a schematic diagram of a blockchain data calling method according to an embodiment of the present disclosure.
- FIG8 schematically shows a schematic diagram of a blockchain data processing platform according to an embodiment of the present disclosure.
- FIG9 schematically shows a schematic diagram of a blockchain data processing system according to an embodiment of the present disclosure.
- FIG10 schematically shows a block diagram of a blockchain data processing device according to an embodiment of the present disclosure.
- FIG11 schematically shows a block diagram of an electronic device suitable for implementing a blockchain data processing method according to an embodiment of the present disclosure.
- the user's authorization or consent is obtained before obtaining or collecting the user's personal information.
- the embodiment of the present disclosure provides a blockchain data processing method.
- a data processing request from a first client device, based on the object identification information carried in the data processing request, at least one first blockchain data is obtained from the first blockchain network; based on the encrypted verification information carried in the data processing request, the first client device is authenticated; and when it is determined that the first client device has completed the authentication, a request is sent to the first client device.
- At least one first blockchain data is sent so that the first client device uses the block body private key corresponding to each of the at least one first blockchain data to decrypt the at least one first blockchain data to obtain at least one second blockchain data.
- Blockchain is a solution that uses a block chain data structure to verify and store data, a distributed node consensus algorithm to generate and update data, cryptography to ensure the security of data transmission and access, and smart contracts composed of automated script codes to collectively maintain a reliable database. Therefore, blockchain has basic characteristics such as openness, decentralization, information sharing, tamper-proof and traceability. Blockchain can replace the dependence on central servers with blocks.
- a block can be a container data structure that aggregates data and is included in a blockchain.
- a block can include a block header and a block body.
- the block header can include a version, timestamp, parent block hash, random number, difficulty coefficient, and Merkle root. The timestamp can represent the moment when the block was created.
- the parent block hash can be used to reference the previous block.
- the block body can include transaction details, transaction counter, and block size.
- Smart contracts are executable codes stored in the blockchain.
- the executable code determines the execution conditions and business processing logic of the smart contract, that is, the conditions for starting the smart contract and how to handle the received business processing requests after the smart contract is started.
- the execution of the smart contract can be triggered by an event.
- the execution of the smart contract will be recorded as a transaction on the blockchain and recorded in the blockchain.
- blockchain can be divided into public chain, private chain, alliance chain and hybrid chain.
- Alliance chain refers to a blockchain jointly participated and managed by several institutions, and each institution can run at least one blockchain node.
- the data of the alliance chain is only allowed to be read, written and traded by institutions in the alliance chain system, and the identity management system, transaction or proposal initiation based on PKI (Public Key Infrastructure) is implemented through digital certificates, and consensus is reached by joint signature verification by the participating parties.
- PKI Public Key Infrastructure
- the type of blockchain can be determined according to actual business needs, and is not limited here.
- the blockchain network is an alliance chain.
- a blockchain network can include multiple blockchain nodes.
- Blockchain nodes communicate through P2P (Peer to Peer).
- P2P Peer to Peer
- Blockchain nodes can be either clients or servers, that is, blockchain nodes can request services from other blockchain nodes or provide services to other blockchain nodes or external applications.
- FIG1 schematically shows an exemplary system architecture to which a blockchain data processing method can be applied according to an embodiment of the present disclosure. It should be noted that FIG1 is only an example of a system architecture to which an embodiment of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but does not mean that the embodiment of the present disclosure cannot be used in other devices, systems, environments or scenarios.
- the system architecture 100 may include a terminal device 101 , a server 102 , and a blockchain network 103 .
- the terminal device 101 may be any electronic device with a display screen, including but not limited to a smart phone, a tablet computer, a laptop computer, a desktop computer, and the like.
- Server 102 can be various types of servers that provide various services.
- the server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services (Virtual Private Server, VPS).
- the server can also be an edge server.
- the server can also be a server of a distributed system, or a server combined with a blockchain.
- the blockchain network 103 may include multiple blockchain nodes, each of which may be a client device or a server.
- the server 102 and the terminal device 101, and the server 102 and each blockchain node of the blockchain network 103 can communicate through the network, and the network may include various connection types, such as wired and/or wireless communication links.
- the blockchain data processing method provided in the embodiment of the present disclosure can generally be executed by the server 102. Accordingly, the blockchain data processing device provided in the embodiment of the present disclosure can also be set in the server 102.
- a user may input, select, and perform other operations in the client application of the terminal device 101.
- the terminal device 101 may generate a data processing request based on the input, selection, and other operations, and send the data processing request to the server 102.
- the server 102 may obtain the first blockchain data from the blockchain network 103 based on the object identification information carried in the data processing request.
- the server 102 may confirm the rights of the terminal device 101 based on the encrypted verification information carried in the data processing request.
- the first blockchain data is returned to the terminal device 101.
- the terminal device 101 may decrypt the first blockchain data using the block body private key corresponding to the first blockchain data to obtain the second blockchain data.
- terminal devices, servers, and blockchain networks in Figure 1 is only illustrative. Depending on the implementation needs, there may be any number of terminal devices, servers, and blockchain networks.
- FIG2 schematically shows a flow chart of a blockchain data processing method according to an embodiment of the present disclosure.
- the method includes operations S210 to S230 .
- At least one first blockchain data is obtained from a first blockchain network based on object identification information carried in the data processing request.
- the first client device is authenticated based on the encrypted verification information carried in the data processing request.
- the at least one first blockchain data is sent to the first client device so that the first client device uses the block body private key corresponding to each of the at least one first blockchain data to decrypt the at least one first blockchain data to obtain at least one second blockchain data.
- a client device may be an electronic device installed with various client applications.
- client applications may be divided into different types of client applications.
- the client application may be divided into a personal client application and a service client application.
- a personal client application may refer to a client application that a user uses the functions provided by the client application to perform business operations.
- a service client application may refer to a client application that supports users in performing business services.
- the client application may be divided into a program client application and a web client application.
- a program client application may refer to a client application that loads an application (Application, APP).
- a web client application may refer to a web client application.
- a web client application may include a web browser. According to whether the user has performed a registration operation, the client application may be divided into a registered client application and an unregistered client application.
- a registered client application may refer to a client application that a user has performed a registration operation in the process of using at least one of the functions provided by the client application itself and the functions provided by the application loaded in the client application.
- An unregistered client application may refer to a client application that a user has not performed a registration operation in the process of using the functions provided by the client application itself and the functions provided by the application loaded in the client application.
- the program client application may be a personal client application, a service client application, a registered client application, or an unregistered client application.
- the web client application may be a personal client application, a service client application, a registered client application, or an unregistered client application.
- a data processing request may be initiated by a first client device, or initiated by other client devices and forwarded by the first client device, and may be a request for obtaining blockchain data from various blockchain networks.
- the data processing request may be generated by a client device according to user input, selection, and other operations.
- the input operation may be, for example, an information input operation performed by a user in an input control of an interface of a client application in a client device through an input device such as a keyboard or a microphone.
- the selection operation may be, for example, an information selection operation performed by a user in a selection control of an interface of a client application in a client device using a mouse selection, a touch selection, and the like.
- the first client device may send a data processing request to a blockchain data processing platform.
- the object identification information may refer to information used to uniquely indicate the identity of the requester of the data processing request.
- the requester of the data processing request may refer to a user who controls the client device to initiate the data processing request.
- the object identification information may refer to the user's user name, user ID, user ID number and other information.
- the first blockchain network may be a blockchain network created by a blockchain data processing platform, and the server-side device of the blockchain data processing platform may at least serve as a bookkeeping node of the first blockchain network.
- the types of the first blockchain network may include, but are not limited to, public chains, alliance chains, private chains, side chains, branch chains, etc.
- the TPS of the Ethereum blockchain is generally 20, while the TPS of the private chain can be close to 100,000.
- the type of the first blockchain network may be an alliance chain network or a private chain network
- the server-side device of the blockchain data processing platform may serve as an authorized node in the alliance chain network or the private chain network.
- the blockchain data recorded in the first blockchain network may be user data originating from different data sources. After obtaining the user's authorization, the user data may be packaged into blocks and the blocks may be chained in the first blockchain network.
- obtaining the first blockchain data based on the object identification information can be performed by matching the object identification information with the relevant party identification of the block header of each block in the first blockchain network to determine the relevant target block, and the block body data of the relevant target block is the first blockchain data that needs to be obtained.
- the first blockchain data may include block body data of one or more blocks of the first blockchain network.
- the encrypted verification information may include information for identity authentication and authority authentication of the first client device.
- the encrypted verification information may include a user name and password, biometric information, answers to preset specific questions, password lock combinations, etc.
- the encrypted verification information may be obtained after encrypting the above-mentioned types of information.
- the above-mentioned types of information may be hashed, and the obtained hash value is the encrypted verification information.
- the obtained hash value may be encrypted by means of a digital signature method, an encryption method, etc., so as to obtain confidential verification information.
- the authority management method may also be used, such as DAC (Discretionary Access Control, active access control), MAC (Mandatory Access Control, mandatory access control), RBAC (Role-based Access Control, role-based access control), etc. to determine the authority of the first client device, and the authority may include data access rights, data ownership, etc.
- the first blockchain data can be obtained from the first blockchain network, or the second blockchain data obtained by decrypting the first blockchain data can be obtained.
- the second blockchain data can also be obtained after receiving a shared request from the first client device. Under the block of sharing, modification and other requests, the first blockchain data in the first blockchain network is shared, modified and processed.
- the second blockchain data may be plaintext data corresponding to the first blockchain data.
- the first client device can be authenticated based on the encrypted verification information, and when the authentication is completed, it can be determined that the first client device has the authority to obtain the first blockchain data, and the first blockchain data can be returned to the first client device.
- the data communication link between devices only transmits ciphertext data, and the blockchain private key used for decrypting the first blockchain data will not be exposed to the outside in plaintext or ciphertext, so the security of the blockchain network data can be effectively guaranteed, which is helpful for further data authenticity and tamper-proofing.
- a distributed private key network may be a distributed network composed of multiple nodes.
- the block private key generated when a user registers in the blockchain network may be distributedly stored on a specific node of the distributed private key network.
- the storage form of the block private key in the distributed private key network is not limited.
- the block private key may be divided into multiple sub-keys, each of which may be stored in one node.
- the block private key may be re-encrypted, the re-encrypted block private key may be stored in one node, and the key used for re-encryption may be stored in other nodes.
- confirming the rights of the first client device based on the encrypted verification information may include the blockchain data processing platform and the distributed private key network confirming the rights of the first client device in sequence.
- the encrypted verification information may be obtained by the first client device digitally signing the private key summary information using the object private key
- the private key summary information may be obtained by the first client device concatenating and hashing the block private keys corresponding to at least one first blockchain data.
- confirming the rights of the first client device may include the following operations:
- the object public key is obtained, wherein the object public key corresponds to the object private key.
- the encrypted verification information is signed using the object public key to obtain the first summary information, wherein, when the encrypted verification information is successfully signed, the first summary information is the private key summary information.
- the object identification information and the first summary information are sent to the distributed private key network so that the distributed private key network determines at least one blockchain private key based on the object identification information, concatenates and hashes at least one blockchain private key, obtains the second summary information, and determines the confirmation result of the first client device based on the matching result of the first summary information and the second summary information.
- the object identification information may include information that can represent the first client device and/or the requester of the data processing request.
- the blockchain data processing platform can obtain the object public key corresponding to the first client device and/or the requester of the data processing request from the storage unit.
- using the object public key to verify the encrypted verification information can be using the object public key Decrypt the encrypted authentication information.
- the first summary information may be the same as the private key summary information, or may be different from the private key summary information. Specifically, when any one of the object identification information and the encryption verification information is tampered with or disturbed during the data transmission process from the first client device to the blockchain data processing platform, the obtained first summary information may be different from the private key summary information. When both the object identification information and the encryption verification information are correct, the obtained first summary information may be the private key summary information. Furthermore, when the first summary information is different from the private key summary information, the first summary information must not match the second summary information.
- the private key summary information, the first summary information and the second summary information can all be represented as a hash value, and the above hash value can be calculated using the same hash algorithm.
- the hash algorithm can be selected according to the specific application scenario and is not limited here.
- a confirmation result indicating that the first client device has completed the confirmation can be obtained, and when it is determined that the first summary information and the second summary information do not match, a confirmation result indicating that the first client device has not completed the confirmation can be obtained.
- At least one first blockchain data can be obtained from at least one second blockchain network by cross-chain data acquisition.
- the second blockchain network may be a storage unit of a business information system. Users may register and authorize on the second blockchain network. In the process of users using the business information system to conduct business, the generated business data may be collected by the system, and after encrypting the business data, the encrypted data may be chained on the second blockchain network.
- Business data may be encrypted using a block public key.
- the block public key may be generated by a user during registration on the second blockchain network. For example, a user may use an encryption client application configured in a client device to generate a block public key and a block private key based on a string input by the user, and send the block public key to the business information system during the registration process.
- the business data generated in each fixed time period may be packaged into a block, and the block may be chained on the second blockchain network.
- the block header of the block may include information such as the chaining time, the identification of the relevant party, the hash value of the parent block, etc., which can be viewed in plain text.
- FIG3 schematically shows a flow chart of a blockchain data processing method according to another embodiment of the present disclosure.
- the method includes operations S310 to S330 .
- the first client device is authenticated based on the encrypted verification information carried in the data processing request.
- the at least one first blockchain data is sent to the first client device, so that the first client device uses the block body private key corresponding to each of the at least one first blockchain data to decrypt the at least one first blockchain data to obtain at least one second blockchain data.
- At least one first blockchain data cannot be obtained from the first blockchain network, that is, the object identification information cannot be matched with any of the block headers of the multiple blocks included in the first blockchain network.
- the method of operations S320 to S330 may be implemented using the same or similar method provided in the aforementioned embodiment, which will not be described in detail herein.
- cross-chain acquisition of the first blockchain data from each blockchain network of at least one blockchain network can be implemented using a cross-chain method.
- the cross-chain method can be, for example, a cross-chain method based on a cross-chain node.
- the cross-chain method can include the following operations:
- a cross-chain node of the second blockchain network is determined. Based on the node type of the cross-chain node, the first blockchain data is obtained through the cross-chain node.
- a cross-chain node may be a blockchain node that can provide a communication interface to the outside world, and an external device may establish a communication link with the cross-chain node through the communication interface using an agreed communication protocol.
- the type of cross-chain node may be related to the type of the second blockchain network, specifically, it may be related to the node authority allocation of different types of second blockchain networks.
- the cross-chain node may be an authorized node in the consortium chain network.
- the second blockchain network is a private chain network
- the read authority is completely private, while the transaction authority and accounting authority are allocated to limited authorized nodes.
- the cross-chain node when performing a data reading operation, may be an authorized node or an unauthorized node in the private chain network, and when performing a data update operation, the cross-chain node may only be a limited authorized node in the private chain network.
- the cross-chain node in a block where the second blockchain network is a public chain network, since anyone can have the reading permission, transaction permission, and bookkeeping permission of the public chain network, the cross-chain node can be any node in the public chain network, such as a light node, a full node, etc., or any node outside the public chain network.
- the light node in the second blockchain network can be a node that does not store or maintain the complete blockchain ledger, but only stores the minimum amount of state to send or transmit transaction information.
- the light node can only save the block headers of all blocks in the blockchain ledger. With the help of the Merkle root in the block header, it can verify whether a payment transaction exists.
- the full node can be a node with a complete blockchain ledger.
- the full node needs to occupy memory to synchronize all blockchain data, can independently verify all transactions on the blockchain and update data in real time, and is mainly responsible for the broadcast and verification of blockchain transactions.
- the data recorded on different full nodes can be synchronized through a consensus mechanism.
- the cross-chain acquisition method of the first blockchain data may be different depending on the types of cross-chain nodes of different second blockchain networks in at least one second blockchain network.
- a data acquisition request including object identification information can be sent to the cross-chain node, so as to obtain the first blockchain data based on the first feedback data returned by the cross-chain node.
- the acquisition efficiency of the first blockchain data is relatively high.
- the first feedback data may be obtained by the cross-chain node from the ledger of the cross-chain node based on the object identification information, and the specific method of obtaining the first feedback data is not limited herein.
- the ledger of the cross-chain node may refer to a complete blockchain ledger maintained in the storage unit of the cross-chain node.
- the first feedback data returned by the cross-chain node may be a data message including one or more blocks.
- the first blockchain data may be obtained based on the first feedback data by removing the block headers of one or more blocks included in the data message and combining or splicing them to obtain the first blockchain data.
- the time consumption of data acquisition business can be reduced and bandwidth can be saved.
- a data acquisition request including object identification information can be sent to the full node of the second blockchain network through the cross-chain node, so as to obtain the first blockchain data based on the second feedback data returned by the full node through the cross-chain node.
- the second feedback data is obtained by the full node from the ledger of the full node based on the object identification information forwarded by the cross-chain node, and the specific method of obtaining the second feedback data is not limited here.
- the ledger of the full node may refer to a complete blockchain ledger maintained in the storage unit of the full node.
- a light node can act as a proxy node to forward instructions received through an interface to a full node.
- the light node can also use the block headers of each block in the ledger of the light node to pre-verify the instructions, and instructions that fail to pass the pre-verification may not be forwarded.
- the Merkle root included in the block header can be used for pre-verification, that is, to determine whether the payment transaction has been verified. When it is determined that the payment transaction has been verified, it can be determined that the payment transaction has been verified. The payment transaction has been recorded in the second blockchain network.
- each full node in the second blockchain network can be represented as a distributed network. That is, the full node can be logically represented as a single node in the second blockchain network, and physically, the full node can be composed of multiple distributed nodes.
- the blockchain ledger of the full node can be divided into multiple sub-ledgers, and the multiple sub-ledgers can be distributedly stored in multiple distributed nodes, thereby achieving performance expansion of the full node and avoiding data hijacking problems.
- the light node can broadcast a data acquisition request to each distributed node in the full node, and the multiple distributed nodes can respectively extract sub-data from their respective sub-ledgers and send the sub-data to the light node.
- the light node can combine and splice the various sub-data to obtain the second feedback data.
- the cross-chain node when the cross-chain node is any node outside the public chain network, the cross-chain node can access the public chain network through a URL (Universal Resource Locator) address, a specific interface, etc., and obtain the first blockchain data from each node of the public chain network.
- a URL Universal Resource Locator
- the second blockchain network when the second blockchain network is a public chain network, a data acquisition request including object identification information can be broadcast to multiple blockchain nodes included in the second blockchain network. And based on the third feedback data of each of the multiple blockchain nodes, the first blockchain data is obtained.
- the third feedback data may be obtained by the blockchain node from the ledger of the blockchain node based on the object identification information.
- obtaining the first blockchain data based on the third feedback data returned by each of the multiple blockchain nodes can be to compare the multiple third feedback data to take the third feedback data with the highest frequency of occurrence as the first blockchain data.
- the range of data source nodes can be further expanded, thereby improving the reliability of the acquired data.
- the confirmation of the rights of the first client device may also be that the blockchain data processing platform confirms the rights of the first client device alone. Specifically, before processing the first blockchain data, the first client device may be confirmed to determine whether the requesting party has the corresponding authority. If the confirmation is completed, it can be determined that the requesting party has the corresponding authority, and it can be considered that the authorization of the user has been obtained, and the decryption of the first blockchain data can continue. If the confirmation is not completed, it can be considered that the user may be an illegal user and has not obtained the authorization of a legal user.
- the first blockchain data obtained at this time may be expressed as garbled data, which does not affect the privacy and security of the blockchain data.
- the first client device may also be confirmed first, and when it is confirmed that the first client device has completed the confirmation, the first blockchain data may be obtained from at least one second blockchain network across chains based on the object identification information. This is not required here. To be limited.
- the information on which the right confirmation process is based may be encrypted verification information.
- the original verification information may be encrypted.
- the encryption processing method may include symmetric encryption, asymmetric encryption, digital signature, etc. Taking digital signature as an example, the first client device may encrypt the plain text of the verification information using the object private key it holds to obtain the encrypted verification information. That is, the encrypted verification information may be obtained by the first client device using the object private key to digitally sign the plain text of the verification information.
- the plain text of the verification information may be obtained by performing a hash calculation on the encrypted combination information by the first client device.
- an object key pair may be generated by the first client device based on data such as a random number, a device number, and a device generation date.
- the object key pair may include an object private key and an object public key.
- the object private key may be burned into the hardware facilities of the device, so that the object private key is only held by the first client device and cannot be obtained by an external device.
- the object public key may be announced in advance so that other devices can use the object public key for signature verification.
- confirming the rights of the first client device based on the encrypted verification information carried in the data processing request may include the following operations:
- the reserved encrypted combination information and the object public key are obtained, wherein the object public key corresponds to the object private key.
- the encrypted verification information is signed using the object public key to obtain the first verification information.
- the reserved encrypted combination information is hashed to obtain the second verification information. Based on the matching result of the first verification information and the second verification information, the confirmation result of the first client device is determined.
- the object identification information may include information that can represent the first client device, through which the reserved encryption combination information and the object public key corresponding to the first client device can be obtained from the storage unit.
- the encrypted combination information may be the information filled in by the requester of the data processing request during registration.
- the encrypted combination information may include at least one of the following: the answer text of the preset question, the password string and the biometric information.
- the requester may be required to set the answers to one or more preset questions by setting security questions, setting password retrieval security questions and the like.
- the answer text to the preset question includes the question number selected by the requester during registration, and the filled-in answer.
- the password string may be a secondary password, a security password, etc. set by the requester during registration, or a random number or random string entered by the requester during registration.
- the biometric information may include the requester's portrait features, iris, fingerprint, voiceprint and other information.
- the biometric information may be
- the reserved encrypted combination information may be collected by the first client device. Accordingly, the reserved encrypted combination information may be information saved by the blockchain data processing platform when the requester of the data processing request registers and fills in the information.
- the reserved encrypted combination information may also include at least one of the following: the answer text of the preset question, the password string and the biometric information.
- the verification information plaintext may be a hash value.
- the hash value may be directly input into the first client device by the requesting party when initiating a data processing request.
- a mapping table may be maintained in the first client device, each item of which includes a mapping from a simple information to a hash value.
- the requesting party may input the simple information when initiating a data processing request, and the first client device may obtain the corresponding verification information plaintext from the mapping table based on the simple information.
- the simple information may include a character string, a combination of numbers, etc.
- using the object public key to verify the encrypted verification information may be using the object public key to decrypt the encrypted verification information.
- the first verification information may be the same as the plain text of the verification information, or may be different from the plain text of the verification information. Specifically, when any one of the object identification information and the encrypted verification information is tampered with or disturbed during the data transmission process from the first client device to the blockchain data processing platform, the obtained first verification information may be different from the plain text of the verification information. When both the object identification information and the encrypted verification information are correct, the obtained first verification information may be the plain text of the verification information. Furthermore, when the first verification information is different from the plain text of the verification information, the first verification information must not match the second verification information.
- a confirmation result indicating that the first client device has completed the confirmation can be obtained, and when it is determined that the plain text of the verification information and the reserved verification information do not match, a confirmation result indicating that the first client device has not completed the confirmation can be obtained.
- the decryption process of the first blockchain data can be performed in a distributed private key network.
- FIG4 schematically shows a flowchart of a blockchain data processing method according to another embodiment of the present disclosure.
- the method includes operations S410 to S430 .
- At least one first blockchain data is obtained from a first blockchain network based on object identification information carried in the data processing request.
- the first client device is authenticated based on the encrypted verification information carried in the data processing request.
- the object identification information and at least one first blockchain data are sent to the distributed private key network so that the distributed private key network can use the object identification information to confirm the ownership of the first client device.
- the block private key can be distributedly stored in multiple distributed nodes of the distributed private key network, or stored in at least some of the distributed nodes of the multiple distributed nodes.
- the private key data stored in each distributed node can be part of the plaintext data of the block private key, or part of the ciphertext data of the block private key obtained by various encryption methods, which is not limited here.
- the private key data stored in each distributed node can be part of the data of a block private key, or can include part of the data of multiple block private keys, which is not limited here.
- the block private key will not be exposed to the outside alone in the form of plain text or ciphertext, that is, the block private key will not be accessed and obtained by external devices, thereby ensuring the security of data in the blockchain network.
- FIG. 2 The blockchain data processing method shown in FIG. 2 is further described below with reference to FIG. 5A to FIG. 5B , FIG. 6 and FIG. 7 in combination with specific embodiments.
- the blockchain data processing platform can display it on the first client device in a non-disk viewing manner.
- the non-disk viewing of blockchain data can include asynchronous data viewing, synchronous data viewing, and the like.
- FIG5A schematically shows a schematic diagram of a method for asynchronously viewing blockchain data according to an embodiment of the present disclosure.
- the blockchain data asynchronous viewing method can be used when the requester initiates a data processing request for the first time.
- the blockchain data asynchronous viewing method can be used when the requester determines that there is new data in at least one second blockchain network.
- the blockchain data processing platform 501 in response to receiving a data processing request 503 from a first client device 502, can obtain the first blockchain data 505 from each second blockchain network 504 across chains based on the object identification information carried in the data processing request 503. After determining that the first client device 502 has completed the right confirmation, the blockchain data processing platform 501 can send the first blockchain data 505 and the object identification information in the data processing request 503 to the distributed private key network 506.
- the distributed private key network 506 can decrypt the first blockchain data 505 using the block body private key 507 according to the object identification information to obtain the second blockchain data 508.
- the distributed private key network 506 can return the second blockchain data 508 to the blockchain data processing platform 501.
- the blockchain data processing platform 501 may perform text normalization processing on the received second blockchain data 508 to obtain first normalized data 509.
- the first normalized data 509 is then encrypted to obtain second normalized data 510.
- the blockchain data processing platform 501 may write the second normalized data 510 into the memory 511.
- the first client device 502 may initiate a data asynchronous viewing request by using a preset interface to access the memory 511.
- the blockchain data processing platform 501 may send the second normalized data 510 of at least one second blockchain network 504 to the first client device 502.
- the first client device 502 may decrypt the second normalized data 510 of the second blockchain network 504 using the block body private key 507 corresponding to the second blockchain network 504 for each second blockchain network 504, obtain the first normalized data 509, and render and display the first normalized data 509 on the display interface 512 of the first client device 502.
- text normalization processing can be implemented using a text classification service, for example.
- various phrases used in the second blockchain data 508 can be unified.
- multiple aliases such as spoon, ladle soup, porcelain soup, spoon soup, soup shell, rice shell, water shell, etc. can be used in the second blockchain data 508.
- the above multiple aliases can be unified into spoon.
- various types of data designed in the second blockchain data 508 can also be classified according to preset types. Taking the data in the medical blockchain as an example, the second blockchain data 508 can be classified into categories such as user name, user gender, consultation time, disease type, and drug type.
- the data stored in the memory 511 may be cleaned up regularly according to a cleaning rule.
- the cleaning rule may include, for example, cleaning up according to user viewing time, cleaning up according to data storage time, and the like.
- the at least one first blockchain data can be uploaded to the first blockchain network.
- FIG5B schematically shows a schematic diagram of a blockchain data synchronization viewing method according to an embodiment of the present disclosure.
- the blockchain data synchronization viewing method can be used when the requesting party initiates a data processing request for the second time or more, that is, when the data synchronization viewing method is used, at least one first blockchain data may have been recorded in the first blockchain network.
- the blockchain data synchronization viewing method can also be used when the requesting party initiates a data processing request for the first time, which is not limited here.
- the blockchain data processing platform 501 in response to receiving a data processing request 503 from a first client device 502, can obtain at least one first blockchain data 505 from the first blockchain network 513 based on the object identification information carried by the data processing request 503.
- the blockchain data processing platform 501 may write at least one first blockchain data 505 into the memory 511 .
- the first client device 502 may initiate a data processing request 503 while: Accessing the memory 511 through a preset interface.
- the blockchain data processing platform 501 may send the first blockchain data 505 of at least one second blockchain network 504 to the first client device 502 in response to detecting that the first client device 502 accesses the memory 511 through a preset interface.
- the first client device 502 can use the block private key 507 corresponding to each of the at least one second blockchain networks 504 to decrypt the first blockchain data 505 of each of the at least one second blockchain networks 504 to obtain at least one second blockchain data 508, call the text classification service to normalize the at least one second blockchain data 508 to obtain at least one first normalized data 509, and render and display the at least one first normalized data 509 on the display interface 512 of the first client device.
- the second normalized data or the first blockchain data will not be written to the disk related to the blockchain data processing platform, thereby reducing the possibility of data leakage.
- the requester of the data processing request may be the owner of the second blockchain data
- the second blockchain data may be generated by the requester in the network and collected by at least one second blockchain network.
- the requester may define the second blockchain data it holds differently to implement different strategies for processing different data.
- the requester may make part of the second blockchain data it holds public and share the data with other users to obtain other services provided by the blockchain data processing platform.
- FIG6 schematically shows a schematic diagram of a blockchain data sharing method according to an embodiment of the present disclosure.
- the blockchain data processing platform 501 can provide data sharing options for each second blockchain data 508, and the requesting party can determine the second blockchain data that needs to be shared by selecting the options for each second blockchain data 508.
- the first client device 502 can generate a data sharing request 601 based on the second blockchain data that needs to be shared.
- the blockchain data processing platform 501 may respond to a data sharing request 601 from a first client device 502 and obtain the first target blockchain data 602 carried by the data sharing request 601.
- the blockchain data processing platform 501 may perform text normalization processing on the first target blockchain data 602 to obtain third normalized data 603.
- the blockchain data processing platform 501 may encrypt the third normalized data 603 to obtain fourth normalized data 604.
- the blockchain data processing platform 501 may upload the fourth normalized data 604 to the third blockchain network 605.
- the encryption of the third normalized data 603 may be implemented using various encryption methods.
- the various encryption methods may include any symmetric encryption method, such as DES (Data Encryption Standard), AES (Advanced Encryption Standard), etc., and may also include any Asymmetric encryption methods such as RSA, ECC (Elliptic Curve Cryptography), etc. are not limited here.
- the requester may be a patient user who is in urgent need of bone marrow matching
- the first target blockchain data of the requester may be the matching data of the requester.
- the first target blockchain data of the requester may be the diagnosis and treatment process of a certain disease, which may include medication data.
- it can be used as one of the basic contents of big data to guide medication recommendations for more uncured patients.
- any user can call the fourth normalized data.
- FIG. 7 schematically shows a schematic diagram of a blockchain data calling method according to an embodiment of the present disclosure.
- the blockchain data processing platform 501 can respond to the data call request 702 from the second client device 701, and determine the data call model 703 based on the call type information carried by the data call request 702.
- the blockchain data processing platform 501 can use the data call model 703 to process the fourth blockchain data 704 included in the third blockchain network 605 to obtain the second target blockchain data 705.
- the blockchain data processing platform 501 can decrypt the second target blockchain data 705 and send the decrypted second target blockchain data 706 to the second client device 701.
- the data call model 703 may be a data model in a preset algorithm library.
- the data models in the preset algorithm library may include recommendation models, matching models, prediction models, etc., which may be set according to specific application scenarios and are not limited here.
- the input port and output port of each data model may be provided to the corresponding interface of the blockchain data processing platform 501, through which the blockchain data processing platform 501 may input data to the data model and extract data that has been processed by the data model from the data model.
- the fourth blockchain data 704 may include, in addition to the fourth normalized data 604 provided by the requester of the data processing request 503, blockchain data shared by other users to the third blockchain network 605, which is not limited here.
- user A can input the user's own information through the input interface of the user recommendation model, such as specific attribute values of attributes such as "user name”, “user gender”, “consultation time”, “disease type”, and “drug type”. These specific attribute values can form the user vector A.
- the user recommendation model it is possible to use the data matrix composed of the basic content of big data to Array, and calculate the similarity matching with user vector A, so as to feedback another set of user vector B composed of specific attribute values of attributes such as "user name”, “user gender”, “consultation time”, “disease type”, “drug type” to user A through the output interface.
- User A can query the diagnosis and treatment process details provided by user B from the third blockchain network based on the identity information such as "user gender" in user vector B.
- the platform can feedback multiple sets of user vectors to user A, such as user vector B, user vector C, user vector D, etc., so that user A can make a selection.
- the decryption of the second target blockchain data 705 can adopt a decryption method corresponding to the encryption method used when encrypting the third normalized data 603.
- the blockchain data processing platform 501 can generate a platform private key and a platform public key. When users share data, the blockchain data processing platform 501 can use the platform private key to encrypt the shared data, and chain the encrypted shared data on the third blockchain network. When other users call data, the blockchain data processing platform 501 can use the platform public key to decrypt the data to be called, and then send the decrypted data to other users. Alternatively, the blockchain data processing platform 501 can also provide the platform public key to the user who has the right to call data. When the user calls data, the blockchain data processing platform 501 can directly send the data to be called in the third blockchain network to the user, and the user uses the platform public key to decrypt the data to be called.
- FIG8 schematically shows a schematic diagram of a blockchain data processing platform according to an embodiment of the present disclosure.
- the blockchain data processing platform 501 may include a blockchain data source management module 5011, a private key control module 5012 and a data processing module 5013.
- the blockchain data source management module 5011 is configured to, in response to receiving a data processing request from a first client device, obtain at least one first blockchain data from the first blockchain network based on the object identification information carried in the data processing request.
- the private key control module 5012 is configured to confirm the authority of the first client device based on the encrypted verification information carried in the data processing request.
- the data processing module 5013 is configured to send at least one first blockchain data to the first client device when it is determined that the first client device has completed the right confirmation, so that the first client device can use the block body private key corresponding to the at least one first blockchain data to decrypt the at least one first blockchain data and obtain at least one second blockchain data.
- the encrypted verification information is obtained by the first client device using the object private key to digitally sign the private key summary information
- the private key summary information is obtained by the first client device concatenating and hashing the block private keys corresponding to each of the at least one first blockchain data.
- the private key control module 5012 is configured to: obtain the private key based on the object identification information.
- the object public key corresponds to the object private key.
- the encrypted verification information is signed with the object public key to obtain the first summary information, wherein, when the encrypted verification information is successfully signed, the first summary information is the private key summary information.
- the object identification information and the first summary information are sent to the distributed private key network so that the distributed private key network determines at least one blockchain private key according to the object identification information, concatenates and hashes at least one blockchain private key, obtains the second summary information, and determines the confirmation result of the first client device based on the matching result of the first summary information and the second summary information.
- the blockchain data source management module 5011 is configured to: in response to a data processing request, in the event that at least one first blockchain data cannot be obtained from the first blockchain network, perform cross-chain data acquisition on at least one second blockchain network based on object identification information to obtain at least one first blockchain data.
- the blockchain data source management module 5011 is configured to: for each second blockchain network, determine a cross-chain node of the second blockchain network, and obtain the first blockchain data through the cross-chain node based on the node type of the cross-chain node.
- the blockchain data source management module 5011 is configured to: when it is determined that the cross-chain node is a full node, send a data acquisition request including object identification information to the cross-chain node, so as to obtain the first blockchain data based on the first feedback data returned by the cross-chain node.
- the first feedback data is obtained by the cross-chain node from the account book of the cross-chain node based on the object identification information.
- the blockchain data source management module 5011 is configured to: when the cross-chain node is determined to be a light node, send a data acquisition request including object identification information to the full node of the second blockchain network through the cross-chain node, so as to obtain the first blockchain data based on the second feedback data returned by the full node through the cross-chain node.
- the second feedback data is obtained from the account book of the full node by the full node based on the object identification information forwarded by the cross-chain node.
- the blockchain data source management module 5011 is configured to: for each second blockchain network, when the second blockchain network is a public blockchain network, broadcast a data acquisition request including object identification information to multiple blockchain nodes included in the second blockchain network. Based on the third feedback data returned by each of the multiple blockchain nodes, the first blockchain data is obtained, wherein the third feedback data is obtained by the blockchain node from the ledger of the blockchain node based on the object identification information.
- the encrypted verification information is obtained by the first client device digitally signing the verification information plaintext using the object private key
- the verification information plaintext is obtained by the first client device performing hash calculation on the encrypted combination information
- the private key control module 5012 is configured to: obtain the reserved encrypted combination information and the object public key based on the object identification information, wherein the object public key corresponds to the object private key. Use the object public key to verify the encrypted verification information to obtain the first verification information, wherein, when it is determined that the encrypted verification information is successfully verified, the first verification information is the verification information plain text. Perform hash calculation on the reserved encrypted combination information to obtain the second verification information. Based on the matching result of the first verification information and the second verification information, determine the confirmation result of the first client device.
- the encrypted combination information or the reserved encrypted combination information includes at least one of the following: an answer text to a preset question, a password string, and biometric information.
- the private key control module 5012 is configured to: when it is determined that the first client device has completed the right confirmation, send object identification information and at least one first blockchain data to the distributed private key network, so that the distributed private key network can decrypt the corresponding at least one first blockchain data based on the object identification information and use the respective block private keys of at least one second blockchain network to obtain at least one second blockchain data.
- the data processing module 5013 is configured to: for each second blockchain network, perform text normalization processing on the second blockchain data of the second blockchain network to obtain first normalized data. Encrypt the first normalized data using the block body public key corresponding to the second blockchain network to obtain second normalized data, wherein the block body public key corresponds to the block body private key. Write the second normalized data to the memory.
- the first client device In response to detecting that the first client device accesses the memory through a preset interface, send the second normalized data of at least one second blockchain network to the first client device, wherein the first client device is configured to decrypt the second normalized data of the second blockchain network using the block body private key corresponding to the second blockchain network for each second blockchain network to obtain first normalized data, and render and display the first normalized data on the display interface of the first client device.
- the data processing module 5013 is configured to: when at least one first blockchain data is obtained cross-chain from at least one second blockchain network, the at least one first blockchain data is uploaded to the first blockchain network.
- the data processing module 5013 is configured to: write at least one first blockchain data into the memory.
- send at least one first blockchain data to the first client device wherein the first client device is configured to use the block body private key corresponding to each of the at least one first blockchain data to decrypt the at least one first blockchain data to obtain at least one second blockchain data, call the text classification service to normalize the at least one second blockchain data to obtain at least one first normalized data, and render and display the at least one first normalized data on the display interface of the first client device.
- the data processing module 5013 is configured to: respond to the data from the first client device
- the first target blockchain data carried in the data sharing request is obtained by receiving a data sharing request.
- the first target blockchain data is subjected to text normalization processing to obtain third normalized data.
- the third normalized data is encrypted to obtain fourth normalized data.
- the fourth normalized data is uploaded to the third blockchain network.
- the data processing module 5013 is configured to: in response to a data call request from a second client device, determine a data call model based on the call type information carried by the data call request. Use the data call model to process the fourth blockchain data included in the third blockchain network to obtain the second target blockchain data, wherein the fourth blockchain data includes fourth normalized data. Decrypt the second target blockchain data, and send the decrypted second target blockchain data to the second client device.
- the blockchain data processing platform part in the embodiments of the present disclosure corresponds to the blockchain data processing method part in the embodiments of the present disclosure.
- the description of the blockchain data processing platform part specifically refers to the blockchain data processing method part, which will not be repeated here.
- FIG9 schematically shows a schematic diagram of a blockchain data processing system according to an embodiment of the present disclosure.
- the blockchain data processing system may include a first client device 502, a first blockchain network 513, a blockchain data processing platform 501 and a distributed private key network 506.
- the blockchain data processing platform 501 is configured to: in response to receiving a data processing request from a first client device, obtain at least one first blockchain data from the first blockchain network based on the object identification information carried in the data processing request. Based on the encrypted verification information carried in the data processing request, confirm the ownership of the first client device. When it is determined that the first client device has completed the confirmation, send at least one first blockchain data to the first client device.
- the first client device 502 is configured to: use the block body private key corresponding to the at least one first blockchain data to decrypt the at least one first blockchain data to obtain at least one second blockchain data.
- the blockchain data processing system may further include at least one second blockchain network 504.
- the blockchain data processing platform 501 can be configured to: in response to a data processing request, in the event that at least one first blockchain data cannot be obtained from the first blockchain network, perform cross-chain data acquisition on at least one second blockchain network based on object identification information to obtain at least one first blockchain data.
- the blockchain data processing platform 501 can be configured to: when it is determined that the first client device has completed the right confirmation, send object identification information and at least one first blockchain data to the distributed private key network.
- the distributed private key network 506 can be configured to: decrypt the corresponding at least one first blockchain data using the respective block body private keys of at least one second blockchain network according to the object identification information to obtain at least one second blockchain data.
- the distributed private key network 506 may be configured to: in response to receiving object identification information and at least one first blockchain data from a blockchain data processing platform, determine at least one target node from a plurality of distributed nodes based on the object identification information. Based on the private key data stored in each of the at least one target node, obtain the respective block body private key of at least one second blockchain network. Decrypt the corresponding at least one first blockchain data using the respective block body private key of at least one second blockchain network to obtain at least one second blockchain data. Send at least one second blockchain data to the blockchain data processing platform.
- the private key data stored in the target node is string data.
- the distributed private key network 506 may be configured as follows: for each target node, based on the private key data stored in the target node, the splicing sequence information and the target string data are obtained. Based on the splicing sequence information of at least one target node, the target string data of at least one target node are spliced to obtain the target block private key. Based on the preset character length of the block private key, the target block private key is segmented to obtain the block private key of at least one second blockchain network.
- the distributed private key network when it stores at least one block private key belonging to the same requesting party, it may first splice at least one block private key to obtain a target block private key. Alternatively, the at least one spliced block private key may be further encrypted to obtain the target block private key.
- the target block private key may be divided into multiple parts, and according to the number of parts, a corresponding number of target nodes may be determined from multiple distributed nodes, and a string parameter having the same size as the target block private key may be generated in each target node, and the parameter value of the string parameter may be empty.
- the element at the corresponding position in the string parameter of the target node may be replaced based on the position of each target block private key after the division in the original block private key to obtain private key data, thereby realizing the storage of the target block private key of this part in the target node.
- the distributed private key network when obtaining a block private key, for each target node, can obtain the splicing order information and the target string data based on the private key data stored in the target node. Specifically, the splicing order information can be obtained based on the position of the non-empty string data in each private key data.
- the target string data can be the non-empty string data in the private key data.
- the distributed private key network can splice the target string data of at least one target node based on the splicing sequence information of at least one target node to obtain the target block private key.
- the target block private key can be segmented based on a preset character length of the block private key to obtain the block private keys of at least one blockchain network.
- the number of digits of at least one block private key may be different.
- the concatenation order and the number of digits of each block private key may be recorded, and the target block private key may be segmented based on the record.
- the private key data stored in the target node may be curve coordinate data.
- the distributed private key network 306 may be configured to: perform curve fitting on the private key data stored in each of at least one target node based on a curve template to obtain a target curve. Multiple parameter values included in the target curve are concatenated to obtain a target block private key. Based on a preset character length of the block private key, the target block private key is segmented to obtain a block private key of each of at least one second blockchain network.
- the distributed private key network when it stores at least one block private key belonging to the same requester, it can first splice at least one block private key, and further process the spliced at least one block private key into an integer value.
- a curve template can be selected, and the integer value can be split into multiple parameter values according to the specified number of digits of each parameter in the curve template, and the multiple parameter values are assigned to each parameter of the curve template to obtain a target curve.
- the integer value can be 12345678
- the specified number of digits of each parameter can be 2
- multiple coordinate points can be randomly selected from the target curve, and the number of selected coordinate points can be greater than or equal to the number of parameters in the curve template. Based on the number of coordinate points, a corresponding number of target nodes may be selected from the plurality of distributed nodes, and the curve coordinate data of the plurality of coordinate points may be written into each target node.
- the distributed private key network when obtaining a block private key, can perform curve fitting on the private key data stored in at least one target node based on a curve template to obtain a target curve.
- the multiple parameter values included in the target curve can be spliced to obtain a target block private key.
- the target block private key can be segmented based on a preset character length of the block private key to obtain a block private key of each of at least one blockchain network.
- the single point risk of information storage can be avoided, which helps to protect the privacy and security of the user's block private key, thereby indirectly protecting the privacy and security of the user's blockchain data.
- the blockchain data processing system includes a first client device, a first blockchain network
- the blockchain data processing method described in the embodiment of the present disclosure may be implemented by the at least one second blockchain network, at least one second blockchain network, a blockchain data processing platform, and a distributed private key network.
- FIG10 schematically shows a block diagram of a blockchain data processing device according to an embodiment of the present disclosure.
- the blockchain data processing device 1000 may include a first acquisition module 1010 , a rights confirmation module 1020 and a first sending module 1030 .
- the first acquisition module 1010 is used to obtain at least one first blockchain data from the first blockchain network based on the object identification information carried in the data processing request in response to receiving the data processing request from the first client device.
- the authentication module 1020 is used to authenticate the first client device based on the encrypted authentication information carried in the data processing request.
- the first sending module 1030 is used to send at least one first blockchain data to the first client device when it is determined that the first client device has completed the right confirmation, so that the first client device can use the block body private key corresponding to the at least one first blockchain data to decrypt the at least one first blockchain data and obtain at least one second blockchain data.
- the encrypted verification information is obtained by the first client device using the object private key to digitally sign the private key summary information
- the private key summary information is obtained by the first client device concatenating and hashing the block private keys corresponding to each of the at least one first blockchain data.
- the title confirmation module 1020 includes a first title confirmation unit, a second title confirmation unit and a third title confirmation unit.
- the first right confirmation unit is used to obtain an object public key based on the object identification information, wherein the object public key corresponds to the object private key.
- the second right confirmation unit is used to use the object public key to verify the encrypted verification information to obtain the first summary information, wherein when the encrypted verification information is successfully verified, the first summary information is the private key summary information.
- the third right confirmation unit is used to send the object identification information and the first summary information to the distributed private key network, so that the distributed private key network determines at least one blockchain private key according to the object identification information, concatenates and hashes the at least one blockchain private key to obtain the second summary information, and determines the right confirmation result of the first client device based on the matching result of the first summary information and the second summary information.
- the blockchain data processing device 1000 also includes a second acquisition module.
- the second acquisition module is used to respond to the data processing request and, if at least one first blockchain data cannot be obtained from the first blockchain network, perform cross-chain data acquisition on at least one second blockchain network based on the object identification information to obtain at least one first blockchain data.
- the second acquisition module includes a first acquisition unit and a second acquisition unit.
- the first acquisition unit is used to determine the cross-chain node of the second blockchain network for each second blockchain network.
- the second acquisition unit is used to acquire the first blockchain data through the cross-chain node based on the node type of the cross-chain node.
- the second acquisition unit includes a first acquisition subunit.
- the first acquisition subunit is used to send a data acquisition request including object identification information to the cross-chain node when the cross-chain node is determined to be a full node, so as to obtain the first blockchain data based on the first feedback data returned by the cross-chain node.
- the first feedback data is obtained by the cross-chain node from the account book of the cross-chain node based on the object identification information.
- the second acquisition unit includes a second acquisition subunit.
- the second acquisition subunit is used to send a data acquisition request including object identification information to the full node of the second blockchain network through the cross-chain node when the cross-chain node is determined to be a light node, so as to obtain the first blockchain data based on the second feedback data returned by the full node through the cross-chain node.
- the second feedback data is obtained by the full node from the ledger of the full node based on the object identification information forwarded by the cross-chain node.
- the second acquisition module includes a third acquisition unit and a fourth acquisition unit.
- the third acquisition unit is used to broadcast a data acquisition request including object identification information to multiple blockchain nodes included in the second blockchain network for each second blockchain network when the second blockchain network is a public chain network.
- the fourth acquisition unit is used to obtain the first blockchain data based on the third feedback data returned by each of the multiple blockchain nodes, wherein the third feedback data is obtained from the ledger of the blockchain node by the blockchain node based on the object identification information.
- the encrypted verification information is obtained by the first client device digitally signing the verification information plaintext using the object private key
- the verification information plaintext is obtained by the first client device performing hash calculation on the encrypted combination information
- the title confirmation module 1020 includes a fourth title confirmation unit, a fifth title confirmation unit, a sixth title confirmation unit, and a seventh title confirmation unit.
- the fourth right confirmation unit is used to obtain the reserved encryption combination information and the object public key based on the object identification information, wherein the object public key corresponds to the object private key.
- the fifth authentication unit is used to verify the encrypted verification information using the object public key to obtain first verification information, wherein when it is determined that the encrypted verification information is successfully verified, the first verification information is the plain text of the verification information.
- the sixth right confirmation unit is used to perform hash calculation on the reserved encrypted combination information to obtain second verification information.
- the seventh authentication unit is used to determine the authentication result of the first client device based on the matching result of the first verification information and the second verification information.
- the encrypted combination information or the reserved encrypted combination information includes at least one of the following: an answer text to a preset question, a password string, and biometric information.
- the blockchain data processing device 1000 also includes a second sending module.
- the second sending module is used to send object identification information and at least one first blockchain data to the distributed private key network when it is determined that the first client device has completed the right confirmation, so that the distributed private key network can decrypt the corresponding at least one first blockchain data according to the object identification information using the respective block private keys of at least one second blockchain network to obtain at least one second blockchain data.
- the blockchain data processing device 1000 also includes a first processing module, a first encryption module, a first writing module and a third sending module.
- the first processing module is used to perform text normalization processing on the second blockchain data of each second blockchain network to obtain first normalized data.
- the first encryption module is used to encrypt the first normalized data using the block body public key corresponding to the second blockchain network to obtain second normalized data, wherein the block body public key corresponds to the block body private key.
- the first writing module is used to write the second normalized data into the memory.
- the third sending module is used to send the second normalized data of at least one second blockchain network to the first client device in response to detecting that the first client device accesses the memory through the preset interface, wherein the first client device is configured to decrypt the second normalized data of the second blockchain network for each second blockchain network using the block body private key corresponding to the second blockchain network to obtain the first normalized data, and render and display the first normalized data on the display interface of the first client device.
- the blockchain data processing device 1000 also includes a first on-chain module.
- the first on-chain module is used to chain at least one first blockchain data in the first blockchain network when at least one first blockchain data is obtained cross-chain from at least one second blockchain network.
- the blockchain data processing device 1000 also includes a second writing module and a fourth sending module.
- the second writing module is used to write at least one first blockchain data into the memory.
- the fourth sending module is configured to send at least one first blockchain data to the first client device in response to detecting that the first client device accesses the memory through the preset interface, wherein the first client device is configured to use at least one first blockchain data
- a block private key corresponding to each first blockchain data is used to decrypt at least one first blockchain data to obtain at least one second blockchain data
- a text classification service is called to normalize the at least one second blockchain data to obtain at least one first normalized data
- the at least one first normalized data is rendered and displayed on the display interface of the first client device.
- the blockchain data processing device 1000 also includes a third acquisition module, a second processing module, a second encryption module and a second chain module.
- the third acquisition module is used to respond to the data sharing request from the first client device and obtain the first target blockchain data carried in the data sharing request.
- the second processing module is used to perform text normalization processing on the first target blockchain data to obtain third normalized data.
- the second encryption module is used to encrypt the third normalized data to obtain fourth normalized data.
- the second on-chain module is used to upload the fourth normalized data to the third blockchain network.
- the blockchain data processing device 1000 also includes a determination module, a third processing module and a fifth sending module.
- the determination module is used to determine the data call model in response to the data call request from the second client device based on the call type information carried in the data call request.
- the third processing module is used to use the data calling model to process the fourth blockchain data included in the third blockchain network to obtain the second target blockchain data, wherein the fourth blockchain data includes fourth normalized data.
- the fifth sending module is used to decrypt the second target blockchain data and send the decrypted second target blockchain data to the second client device.
- any multiple of the modules, sub-modules, units, and sub-units, or at least part of the functions of any multiple of them can be implemented in one module.
- any one or more of the modules, sub-modules, units, and sub-units can be split into multiple modules for implementation.
- any one or more of the modules, sub-modules, units, and sub-units can be at least partially implemented as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a System on a Chip, a System on a Substrate, a System on a Package, an Application Specific Integrated Circuit (ASIC), or can be implemented by hardware or firmware in any other reasonable way of integrating or packaging the circuit, or can be implemented in any one of the three implementation methods of software, hardware, and firmware, or in a suitable combination of any of them.
- FPGA Field Programmable Gate Array
- PDA Programmable Logic Array
- ASIC Application Specific Integrated Circuit
- one or more of the modules, sub-modules, units, and sub-units can be at least partially implemented as a computer program module, When the computer program module is executed, the corresponding function can be executed.
- any multiple of the first acquisition module 1010, the confirmation module 1020, and the first sending module 1030 can be combined in one module/unit/sub-unit for implementation, or any one of the modules/units/sub-units can be split into multiple modules/units/sub-units.
- at least part of the functions of one or more of these modules/units/sub-units can be combined with at least part of the functions of other modules/units/sub-units and implemented in one module/unit/sub-unit.
- At least one of the first acquisition module 1010, the confirmation module 1020, and the first sending module 1030 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or by any one of the three implementation methods of software, hardware, and firmware, or by a suitable combination of any of them.
- FPGA field programmable gate array
- PDA programmable logic array
- ASIC application specific integrated circuit
- at least one of the first acquisition module 1010, the right confirmation module 1020 and the first sending module 1030 may be at least partially implemented as a computer program module, and when the computer program module is executed, a corresponding function may be performed.
- the blockchain data processing device part in the embodiments of the present disclosure corresponds to the blockchain data processing method part in the embodiments of the present disclosure.
- the description of the blockchain data processing device part specifically refers to the blockchain data processing method part, which will not be repeated here.
- Figure 11 schematically shows a block diagram of an electronic device suitable for implementing a blockchain data processing method according to an embodiment of the present disclosure.
- the electronic device shown in Figure 11 is only an example and should not bring any limitation to the functions and scope of use of the embodiment of the present disclosure.
- the electronic device 1100 includes a processor 1101, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1102 or a program loaded from a storage part 1108 to a random access memory (RAM) 1103.
- the processor 1101 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and/or a related chipset and/or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc.
- the processor 1101 may also include an onboard memory for caching purposes.
- the processor 1101 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
- RAM 1103 various programs and data required for the operation of electronic device 1100 are stored.
- Processor 1101, ROM 1102 and RAM 1103 are connected to each other via bus 1104.
- Processor 1101 executes various operations of the method flow according to the embodiment of the present disclosure by executing the programs in ROM 1102 and/or RAM 1103. It should be noted that the programs may also be stored in one or more memories other than ROM 1102 and RAM 1103.
- Processor 1101 is connected to the processor 1101 through bus 1104. 1101 may also execute various operations of the method flow according to the embodiment of the present disclosure by executing programs stored in the one or more memories.
- the electronic device 1100 may further include an input/output (I/O) interface 1105, which is also connected to the bus 1104.
- the system 1100 may further include one or more of the following components connected to the I/O interface 1105: an input portion 1106 including a keyboard, a mouse, etc.; an output portion 1107 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 1108 including a hard disk, etc.; and a communication portion 1109 including a network interface card such as a LAN card, a modem, etc.
- the communication portion 1109 performs communication processing via a network such as the Internet.
- a drive 1110 is also connected to the I/O interface 1105 as needed.
- a removable medium 1111 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1110 as needed, so that a computer program read therefrom is installed into the storage portion 1108 as needed.
- the method flow according to an embodiment of the present disclosure can be implemented as a computer software program.
- an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program contains a program code for executing the method shown in the flowchart.
- the computer program can be downloaded and installed from the network through the communication part 1109, and/or installed from the removable medium 1111.
- the computer program is executed by the processor 1101
- the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed.
- the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.
- the present disclosure also provides a computer-readable storage medium, which may be included in the device/apparatus/system described in the above embodiments; or may exist independently without being assembled into the device/apparatus/system.
- the above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.
- a computer-readable storage medium may be a non-volatile computer-readable storage medium.
- it may include, but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM (Erasable Programmable Read Only Memory, EPROM) or flash memory), a portable compact disk read-only memory (Computer Disc Read-Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
- a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, apparatus, or device.
- the computer-readable storage medium may include the ROM 1102 described above. and/or RAM 1103 and/or one or more memories other than ROM 1102 and RAM 1103.
- the embodiments of the present disclosure also include a computer program product, which includes a computer program, which contains program code for executing the method provided by the embodiments of the present disclosure.
- the program code is used to enable the electronic device to implement the blockchain data processing method provided by the embodiments of the present disclosure.
- the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc.
- the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 1109, and/or installed from a removable medium 1111.
- the program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
- the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages.
- these computing programs can be implemented using high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages.
- Programming languages include, but are not limited to, Java, C++, Python, "C" language, or similar programming languages.
- the program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server.
- each box in the flowchart or block diagram may represent a module, a program segment, or a portion of a code, and the above module, program segment, or a portion of a code contains one or more executable instructions for implementing the specified logical functions.
- the functions marked in the boxes may also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved.
- each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs the specified functions or operations, or can be implemented with a combination of dedicated hardware and computer instructions.
- Those skilled in the art will appreciate that the various embodiments of the present disclosure The features described in the embodiments and/or claims may be combined and/or coupled in various ways, even if such combinations and/or couplings are not explicitly described in the present disclosure. In particular, the features described in the embodiments and/or claims of the present disclosure may be combined and/or coupled in various ways without departing from the spirit and teachings of the present disclosure. All such combinations and/or couplings fall within the scope of the present disclosure.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种区块链数据处理方法、平台、系统、装置、电子设备和存储介质。该方法包括:响应于接收到来自第一客户端设备的数据处理请求,基于数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权;以及在确定第一客户端设备完成确权的情况下,向第一客户端设备发送至少一个第一区块链数据,以便第一客户端设备利用与至少一个第一区块链数据各自对应的区块体私钥,对至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
Description
本公开涉及区块链技术领域,更具体地,涉及一种区块链数据处理方法、平台、系统、装置、电子设备和存储介质。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链网络的链上数据是一个数据孤岛,不同的区块链之间无法做到互联互通,这阻碍了不同区块链间数据应用生态的进一步发展。为了提供区块链数据的利用效率,可以利用跨链数据处理方法来实现区块链间的数据共享。
发明内容
本公开提供了一种区块链数据处理方法、平台、系统、装置、电子设备和存储介质。
根据本公开的一方面,提供了一种区块链数据处理方法,包括:响应于接收到来自第一客户端设备的数据处理请求,基于上述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;基于上述数据处理请求携带的加密验证信息,对上述第一客户端设备进行确权;以及在确定上述第一客户端设备完成确权的情况下,向上述第一客户端设备发送上述至少一个第一区块链数据,以便上述第一客户端设备利用与上述至少一个第一区块链数据各自对应的区块体私钥,对上述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的另一方面,提供了一种区块链数据处理平台,包括:区块链数据源管理模块,被配置为响应于接收到来自第一客户端设备的数据处理请求,基于上述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;私钥控制模块,被配置为基于上述数据处理请求携带的加密验证信息,对上述第一客户端设备进行确权;以及数据处理模块,被配置为在确定上述第一客户端设备完成确权的情况下,向上述第一客户端设备发送上述至少一个第一区块链数据,以便上述第一客户端设备利用与上述至少一个第一区块链数据各自对应的区块体私钥,对上述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的另一方面,提供了一种区块链数据处理系统,包括:第一客户端设备、第一区块链网络、区块链数据处理平台和分布式私钥网络;其中,上述区块链数据处理平台被配置为:响应于接收到来自第一客户端设备的数据处理请求,基于上述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;基于上述数据处理请求携带的加密验证信息,对上述第一客户端设备进行确权;在确定上述第一客户端设备完成确权的情况下,向上述第一客户端设备发送上述至少一个第一区块链数据;上述第一客户端设备被配置为:利用与上述至少一个第一区块链数据各自对应的区块体私钥,对上述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的另一方面,提供了一种区块链数据处理装置,包括:第一获取模块,用于响应于接收到来自第一客户端设备的数据处理请求,基于上述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;确权模块,用于基于上述数据处理请求携带的加密验证信息,对上述第一客户端设备进行确权;以及第一发送模块,用于在确定上述第一客户端设备完成确权的情况下,向上述第一客户端设备发送上述至少一个第一区块链数据,以便上述第一客户端设备利用与上述至少一个第一区块链数据各自对应的区块体私钥,对上述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的另一方面,提供了一种电子设备,包括存储器和处理器,存储器中存储有处理器可执行的指令,指令在由处理器执行时使处理器执行实现如上所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行实现如上所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如上所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开实施例的可以应用区块链数据处理方法的示例性系统架构。
图2示意性示出了根据本公开实施例的区块链数据处理方法的流程图。
图3示意性示出了根据本公开另一实施例的区块链数据处理方法的流程图。
图4示意性示出了根据本公开又一实施例的区块链数据处理方法的流程图。
图5A示意性示出了根据本公开实施例的区块链数据异步查看方法的示意图。
图5B示意性示出了根据本公开实施例的区块链数据同步查看方法的示意图。
图6示意性示出了根据本公开实施例的区块链数据共享方法的示意图。
图7示意性示出了根据本公开实施例的区块链数据调用方法的示意图。
图8示意性示出了根据本公开实施例的区块链数据处理平台的示意图。
图9示意性示出了根据本公开实施例的区块链数据处理系统的示意图。
图10示意性示出了根据本公开实施例的区块链数据处理装置的框图。
图11示意性示出了根据本公开实施例的适于实现区块链数据处理方法的电子设备的框图。
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、
单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的数据(如包括但不限于用户个人信息)的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
需要说明的是,本公开实施例中的流程图所示的操作除非明确说明不同操作之间存在执行的先后顺序,或者不同操作在技术实现上存在执行的先后顺序,否则,多个操作之间的执行顺序可以不分先后,多个操作也可以同时执行。
为了适应信息化发展和业务扩张的需求,企业一般会建设业务信息化系统,如ERP(Enterprise Resource Planning,企业资源计划)、OA(Office Automation,办公自动化)、CRM(Customer Relationship Management,客户关系管理)等。业务信息化系统可以规范业务流程,形成标准化的业务模式,并通过系统数据库沉淀业务数据,为企业积累数据资产。同时,也伴随着数据隐私问题逐渐受大众关注,区块链因其去中心化、不可篡改、加密存储等特性,开始逐步取代系统数据库作为业务信息化系统的存储单元。然而,区块链网络的链上数据是一个数据孤岛,不同的区块链之间无法做到互联互通,无法统一进行利用,这阻碍了不同区块链间数据应用生态的进一步发展。
以医疗区块链为例,医疗数据的建设中存在许多问题,例如:各机构无法快速便捷地共享数据;医院的系统和软件大多是通过第三方软件公司开发并维护的,但市场上这些第三方公司鱼龙混杂、存在安全漏洞,而医疗数据又具有高度隐私性、高价值性;医疗数据的归属问题和访问权限同时存在争议等。在相关技术中,一般选择将医疗数据直接存储在区块链上,然后,这样会大大增加区块链网络的开支,使得吞吐量成为阻碍技术发展的瓶颈。同时,也存在着数据归属权混乱的问题,即使是患者本人也不能拥有全部的医疗数据,医疗数据保存在医院又会造成数据共享手续繁杂,大规模的数据共享变得不现实。
有鉴于此,本公开实施例提供了一种区块链数据处理方法。响应于接收到来自第一客户端设备的数据处理请求,基于数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权;以及在确定第一客户端设备完成确权的情况下,向第一客户端设备
发送至少一个第一区块链数据,以便第一客户端设备利用与至少一个第一区块链数据各自对应的区块体私钥,对至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
为了便于理解,下面首先对本公开实施例所涉及的相关概念进行说明。
区块链是一种利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全和利用由自动化脚本代码组成的智能合约集体维护可靠数据库的解决方案,因此,区块链具有开放、去中心化、信息共享、防篡改和可追溯等基本特性。区块链可以用区块来取代对中心服务器的依赖。
区块可以是一个被包括在区块链中聚合了数据的容器数据结构。区块可以包括区块头和区块体。区块头可以包括版本、时间戳、父区块哈希值、随机数、难度系数和默克尔根。时间戳可以表征区块创建时刻。父区块哈希值可以用于引用上一个区块。区块体可以包括交易详情、交易计数器和区块大小。
智能合约是存储在区块链中的可执行代码。可执行代码中确定了智能合约的执行条件以及业务处理逻辑,即,确定了启动智能合约的条件以及在该智能合约启动后如何处理接收到的业务处理请求。智能合约在存储于区块链之后,就难以被编辑或者修改。例如,智能合约的执行操作可以根据事件进行触发。例如,智能合约的执行会在区块链上被记录为一个交易,并记录在区块链中。
根据网络范围,可以将区块链划分为公有链、私有链、联盟链和混合链。联盟链是指由若干机构共同参与和管理的区块链,每个机构都可以运行至少一个区块链节点。联盟链的数据只允许联盟链系统中的机构进行读写和交易,并通过数字证书的方式实现基于PKI(Public Key Infrastructure,公钥基础设施)的身份管理体系、交易或提案的发起,以参与方共同签名验证来达成共识。在本公开实施例中,可以根据实际业务需求确定区块链的类型,在此不作限定。例如,区块链网络是联盟链。
区块链网络可以包括多个区块链节点。区块链节点是通过P2P(Peer to Peer,对等网络)实现通信。区块链节点既可以是客户端,也可以是服务端,即,区块链节点既可以向其他区块链节点请求服务,也可以为其他区块链节点或是外部应用提供服务。
图1示意性示出了根据本公开实施例的可以应用区块链数据处理方法的示例性系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、服务器102和区块链网络103。
终端设备101可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等。
服务器102可以是提供各种服务的各种类型的服务器。例如,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(Virtual Private Server,VPS)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为边缘服务器。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
区块链网络103可以包括多个区块链节点,每个区块链节点可以是客户端设备或服务器。
服务器102与终端设备101之间、服务器102与区块链网络103的各个区块链节点之间可以通过网络进行通信,网络可以包括各种连接类型,例如有线和/或无线通信链路等。
需要说明的是,本公开实施例所提供的区块链数据处理方法一般可以由服务器102执行。相应地,本公开实施例所提供的区块链数据处理装置也可以设置于服务器102中。
例如,用户可以在终端设备101的客户端应用中进行输入、选择等操作,终端设备101可以基于该输入、选择等操作,生成数据处理请求,并将数据处理请求发送给服务器102。服务器102可以响应于接收到来自终端设备101的数据处理请求,基于数据处理请求携带的对象标识信息,从区块链网络103中获取第一区块链数据。同时,服务器102可以基于数据处理请求携带的加密验证信息,对终端设备101进行确权。在确定终端设备101完成确权的情况下,向终端设备101返回第一区块链数据。终端设备101可以利用与第一区块链数据对应的区块体私钥对第一区块链数据进行解密,得到第二区块链数据。
应该理解,图1中的终端设备、服务器和区块链网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、服务器和区块链网络。
图2示意性示出了根据本公开实施例的区块链数据处理方法的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,响应于接收到来自第一客户端设备的数据处理请求,基于所述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据。
在操作S220,基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权。
在操作S230,在确定所述第一客户端设备完成确权的情况下,向所述第一客户端设备发送所述至少一个第一区块链数据,以便所述第一客户端设备利用与所述至少一个第一区块链数据各自对应的区块体私钥,对所述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的实施例,客户端设备可以是安装有各种客户端应用的电子设备。根据不同划分角度,可以将客户端应用分为不同类型的客户端应用。例如,根据客户端应用提供的服务功能,可以将客户端应用分为个人客户端应用和服务客户端应用。个人客户端应用可以指用户利用客户端应用提供的功能进行业务操作的客户端应用。服务客户端应用可以指支持用户进行业务服务的客户端应用。根据客户端应用的开发框架,可以将客户端应用分为程序客户端应用和网页客户端应用。程序客户端应用可以指加载应用程序(Application,APP)的客户端应用。网页客户端应用可以指Web客户端应用。Web客户端应用可以包括Web浏览器。根据用户是否进行了注册操作,可以将客户端应用划分为注册客户端应用和非注册客户端应用。注册客户端应用可以指用户在使用客户端应用自身提供的功能和加载于客户端应用的应用提供的功能中的至少一项的过程中进行了注册操作的客户端应用。非注册客户端应用可以指用户在使用客户端应用自身提供的功能和加载于客户端应用的应用提供的功能中的过程中未进行注册操作的客户端应用。程序客户端应用可以是个人客户端应用、服务客户端应用、注册客户端应用或非注册客户端应用。网页客户端应用可以是个人客户端应用、服务客户端应用、注册客户端应用或非注册客户端应用。
根据本公开的实施例,数据处理请求可以是由第一客户端设备发起,或者由其他客户端设备发起并由第一客户端设备进行转发的,用于从各个区块链网络中获取区块链数据的请求。数据处理请求可以是由客户端设备根据用户的输入、选择等操作而生成的。输入操作例如可以是用户在客户端设备中客户端应用的界面的输入控件中,通过键盘、麦克风等输入设备进行的信息输入操作。选择操作例如可以是用户在客户端设备中客户端应用的界面的选择控件中,采用鼠标选择、触控选择等方式进行的信息选择操作。第一客户端设备可以将数据处理请求发送给区块链数据处理平台。
根据本公开的实施例,对象标识信息可以指用于唯一表示数据处理请求的请求方身份的信息。数据处理请求的请求方可以指控制客户端设备来发起该数据处理请求的用户,
相应的,对象标识信息可以指该用户的用户名、用户ID、用户身份证号码等信息。
根据本公开的实施例,第一区块链网络可以是由区块链数据处理平台创建的区块链网络,区块链数据处理平台的服务端设备可以至少作为第一区块链网络的一个记账节点。第一区块链网络的类型可以包括但不限于公有链、联盟链、私有链、侧链、支链等。优选地,由于公有链网络的TPS(transactionspersecond,每秒交易数)明显低于联盟链网络或私有链网络,例如,以太坊区块链的TPS一般为20,而私有链的TPS可以接近10万,为了提高区块链数据的读写效率,第一区块链网络的类型可以为联盟链网络或私有链网络,相应的,区块链数据处理平台的服务端设备可以作为联盟链网络或私有链网络中的被授权节点。
根据本公开的实施例,第一区块链网络中记录的区块链数据可以是来源于不同数据源的用户数据,在获取用户的授权后,可以将用户数据打包成区块,并将区块在第一区块链网络中上链。
根据本公开的实施例,基于对象标识信息来获取第一区块链数据,可以是通过将对象标识信息与第一区块链网络中每个区块的区块头的相关方标识进行匹配的方式,来确定相关的目标区块,该相关的目标区块的区块体数据即需要获取的第一区块链数据。
根据本公开的实施例,第一区块链数据中可以包括第一区块链网络的一个或多个区块的区块体数据。
根据本公开的实施例,加密验证信息可以包括用于对第一客户端设备进行身份认证及权限认证的信息。例如,加密验证信息可以包括用户名和密码、生物特征信息、预设的特定问题的答案、密码锁组合等。作为一种可选实施方式,加密验证信息可以是对上述种类的信息进行加密处理后得到的,例如,可以对上述种类的信息进行哈希计算,得到的哈希值即该加密验证信息。进一步地,为了保障加密验证信息在信息传输过程中的安全性,还可以借助数字签名方法、加密方法等对得到的哈希值进行加密,从而得到机密验证信息。在基于加密验证信息确定第一客户端设备通过身份认证后,还可以利用权限管理方法,例如,DAC(Discretionary Access Control,主动访问控制)、MAC(Mandatory Access Control,强制访问控制)、RBAC(Role-based Access Control,基于角色的访问控制)等来确定第一客户端设备的权限,权限可以包括数据访问权、数据所有权等。例如,在确定第一客户端设备具有数据访问权的区块下,可以从第一区块链网络中获取第一区块链数据,或者,可以获取对第一区块链数据进行解密所得到的第二区块链数据。在确定第一客户端设备具有数据所有权的区块下,还可以在接收到来自第一客户端设备的共
享、修改等请求的区块下,对第一区块链网络中的第一区块链数据作共享、修改等处理。
根据本公开的实施例,第二区块链数据可以是对应于第一区块链数据的明文数据。
根据本公开的实施例,可以基于加密验证信息进行第一客户端设备的确权,并在确定完成确权的情况下,可以确定第一客户端设备具有获取第一区块链数据的权限,此时可以将第一区块链数据返回至第一客户端设备。通过上述技术手段,设备间的数据通信链路均只进行密文数据的传输,且用于第一区块链数据解密的区块链私钥不会以明文或密文的方式向外暴露,因此可以有效地保障区块链网络数据的安全性,有助于数据的进一步保真、防篡改。
根据本公开的实施例,分布式私钥网络可以是由多个节点构成的分布式网络。用户在区块链网络中进行注册时所生成的区块体私钥可以分布式地存储在该分布式私钥网络的特定节点上。区块体私钥在分布式私钥网络中的存储形式不作限定,例如,可以是将区块体私钥切分为多份子密钥,每一份子密钥可以存储在一个节点中。或者,也可以将区块体私钥进行再次加密,将再次加密后的区块体私钥存储在一个节点中,并将再次加密所使用的密钥存储在其他节点中。
根据本公开的实施例,基于加密验证信息对第一客户端设备进行确权可以包括区块链数据处理平台和分布式私钥网络依次对第一客户端设备进行确权。具体地,加密验证信息可以是由第一客户端设备利用对象私钥对私钥摘要信息进行数字签名而得到的,私钥摘要信息可以是由第一客户端设备对与至少一个第一区块链数据各自对应的区块体私钥进行拼接和哈希计算而得到的。基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权可以包括如下操作:
基于对象标识信息,得到对象公钥,其中,对象公钥与对象私钥相对应。利用对象公钥对加密验证信息进行验签,得到第一摘要信息,其中,在加密验证信息验签成功的情况下,第一摘要信息为私钥摘要信息。向分布式私钥网络发送对象标识信息和第一摘要信息,以便分布式私钥网络根据对象标识信息,确定至少一个区块链体私钥,对至少一个区块体私钥进行拼接和哈希计算,得到第二摘要信息,并基于第一摘要信息和第二摘要信息的匹配结果,确定第一客户端设备的确权结果。
根据本公开的实施例,对象标识信息中可以包括能够表示第一客户端设备和/或数据处理请求的请求方的信息,通过该信息,区块链数据处理平台可以从存储单元中获取与第一客户端设备和/或数据处理请求的请求方对应的对象公钥。
根据本公开的实施例,利用对象公钥对加密验证信息进行验签可以是利用对象公钥
对加密验证信息进行解密。
根据本公开的实施例,第一摘要信息可以与私钥摘要信息相同,也可以与私钥摘要信息不同。具体地,当在第一客户端设备到区块链数据处理平台的数据传输过程中,对象标识信息和加密验证信息中的任意一个被篡改或发生扰动的情况下,得到的第一摘要信息可以与私钥摘要信息存在区别。当对象标识信息和加密验证信息均无误时,得到的第一摘要信息可以为私钥摘要信息。进一步地,当第一摘要信息与私钥摘要信息不同的情况下,第一摘要信息必然与第二摘要信息不匹配。
根据本公开的实施例,私钥摘要信息、第一摘要信息和第二摘要信息可以均表示为一个哈希值,上述哈希值可以采用相同的哈希算法计算得到,哈希算法可以根据具体应用场景进行选择,在此不作限定。
根据本公开的实施例,可以在确定第一摘要信息和第二摘要信息相匹配的情况下,得到表示第一客户端设备完成确权的确权结果,并在确定第一摘要信息和第二摘要信息不匹配的情况下,得到表示第一客户端设备未完成确权的确权结果。
根据本公开的实施例,通过区块链数据处理平台和分布式私钥网络依次对第一客户端设备进行确权的方式,可以避免数据中心化,从而保障数据安全。
根据本公开的实施例,在请求方首次发起数据处理请求,即在第一区块链网络中不存在至少一个第一区块链数据的情况下,可以通过跨链数据获取的方式,从至少一个第二区块链网络中获取至少一个第一区块链数据。
根据本公开的实施例,第二区块链网络可以是业务信息化系统的存储单元。用户可以在第二区块链网络上进行注册和授权,在用户使用该业务信息化系统开展业务的过程中,所产生的业务数据可以被该系统收集,并在对业务数据进行加密后,将加密后的数据在第二区块链网络上链。业务数据可以使用区块体公钥进行加密。区块体公钥可以是用户在第二区块链网络上注册的过程中生成的。例如,用户可以利用客户端设备中配置的加密客户端应用,基于用户输入的字符串来生成区块体公钥和区块体私钥,并将该区块体公钥在注册过程中发送给业务信息化系统。在数据上链时,可以将每个固定时间段内产生的业务数据打包成一个区块,并将该区块在第二区块链网络中上链。该区块的区块头可以包括能够明文查看的上链时间、相关方标识、父区块哈希值等信息。
图3示意性示出了根据本公开另一实施例的区块链数据处理方法的流程图。
如图3所示,该方法包括操作S310~S330。
在操作S310,响应于数据处理请求,在未能从第一区块链网络中获取至少一个第
一区块链数据的情况下,基于对象标识信息,分别对至少一个第二区块链网络进行跨链数据获取,得到至少一个第一区块链数据。
在操作S320,基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权。
在操作S330,在确定所述第一客户端设备完成确权的情况下,向所述第一客户端设备发送所述至少一个第一区块链数据,以便所述第一客户端设备利用与所述至少一个第一区块链数据各自对应的区块体私钥,对所述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的实施例,未能从第一区块链网络中获取至少一个第一区块链数据,即对象标识信息无法与第一区块链网络包括的多个区块的区块头的任意一个完成匹配。
根据本公开的实施例,操作S320~S330的方法可以使用前述实施例中提供的相同或相似的方法来实现,在此不再赘述。
根据本公开的实施例,基于数据处理请求携带的对象标识信息,分别从至少一个区块链网络的每个区块链网络中跨链获取第一区块链数据可以利用跨链方法来实现,该跨链方法例如可以是基于跨链节点的跨链方法,具体地,该跨链方法可以包括如下操作:
对于每个第二区块链网络,确定第二区块链网络的跨链节点。基于跨链节点的节点类型,通过跨链节点来获取第一区块链数据。
根据本公开的实施例,跨链节点可以是能够对外提供通信接口的区块链节点,外部设备可以通过该通信接口,利用约定的通信协议来建立与该跨链节点的通信链路。
根据本公开的实施例,跨链节点的类型可以与第二区块链网络的类型相关,具体地,可以与不同类型的第二区块链网络的节点权限分配相关。例如,在第二区块链网络为联盟链网络的情况下,由于在联盟链网络中,联盟链网络的读取权限、交易权限和记账权限均分配给了被授权节点,外部未授权的节点无法访问。因此,跨链节点可以是联盟链网络中的被授权节点。再例如,在第二区块链网络为私有链网络的情况下,由于在私有链网络中,读取权限是完全私有的,而交易权限和记账权限被分配给了有限的被授权节点。因此,在进行数据读取操作时,跨链节点可以是私有链网络中的被授权节点或未授权节点,而在进行数据更新操作时,跨链节点仅可以是私有链网络中有限的被授权节点。
根据本公开的实施例,再例如,在第二区块链网络为公有链网络的区块下,由于任何人均可以拥有公有链网络的读取权限、交易权限和记账权限。因此,跨链节点可以是公有链网络中的任意节点,如轻节点、全节点等,也可以是公有链网络外的任意节点。
第二区块链网络中的轻节点可以是不储存或维护完整的区块链账本,只储存最小量的状态来作为发送或传递交易信息的节点。轻节点可以仅保存区块链账本中所有区块的区块头,借助区块头中的默克尔根,便能够验证一笔支付交易是否存在。全节点可以是拥有完整区块链账本的节点,全节点需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证。不同全节点上记录的数据可以通过共识机制进行同步。
根据本公开的实施例,根据至少一个第二区块链网络中不同第二区块链网络的跨链节点的类型的不同,第一区块链数据的跨链获取方式可以存在区别。
例如,在确定跨链节点为全节点的情况下,可以向跨链节点发送包括对象标识信息的数据获取请求,以便基于跨链节点返回的第一反馈数据,得到第一区块链数据。此时第一区块链数据的获取效率较高。
根据本公开的实施例,第一反馈数据可以是由跨链节点基于对象标识信息,从跨链节点的账本中得到的,第一反馈数据的具体获取方式在此不作限定。跨链节点的账本可以指维持在该跨链节点的存储单元中的完整区块链账本。
根据本公开的实施例,跨链节点返回的第一反馈数据可以是包括一个或多个区块的数据报文。基于第一反馈数据来得到第一区块链数据,可以是将该数据报文包括的一个或多个区块的区块头去除后,并组合或拼接得到第一区块链数据。
根据本公开的实施例,通过将跨链节点直接设置为公有链网络的全节点的方式,可以减少数据获取业务的耗时,节省带宽。
再例如,在确定跨链节点为轻节点的情况下,可以通过跨链节点向第二区块链网络的全节点发送包括对象标识信息的数据获取请求,以便基于全节点通过跨链节点返回的第二反馈数据,得到第一区块链数据。
根据本公开的实施例,第二反馈数据是由全节点基于由跨链节点转发的对象标识信息,从全节点的账本中得到的,第二反馈数据的具体获取方式在此不作限定。全节点的账本可以指维持在该全节点的存储单元中的完整区块链账本。
根据本公开的实施例,轻节点可以作为一个代理节点,将通过接口接收的指令转发给全节点。作为一种可选实施方式,轻节点在进行指令的转发前,还可以利用该轻节点的账本中,各个区块的区块头来对指令进行预验证,对于未通过预验证的指令可以不予转发。例如,在进行支付交易的查询时,可以利用区块头包括的默克尔根进行预验证,即判断该支付交易是否已经被验证过。在确定该支付交易已被验证时,则可以确定该支
付交易已被记录在该第二区块链网络中。
根据本公开的实施例,第二区块链网络中的每个全节点可以表示为一个分布式网络。即全节点在逻辑上可以表示为第二区块链网络中的单个节点,在物理上,该全节点可以由多个分布式节点构成。相应的,全节点的区块链账本可以切分为多个子帐本,多个子帐本可以分布式地存储在多个分布式节点中,从而实现全节点的性能扩展,同时也可以避免数据劫持问题。轻节点可以向全节点中的每个分布式节点广播数据获取请求,多个分布式节点可以分别从各自的子帐本中提取子数据,并将子数据发送给轻节点,轻节点可以将各个子数据进行组合及拼接,以得到第二反馈数据。
根据本公开的实施例,在跨链节点是公有链网络外的任意节点时,该跨链节点可以通过url(UniversalResourceLocator,统一资源定位符)地址、特定接口等来访问公有链网络,并从公有链网络的各个节点中获取第一区块链数据。具体地,对于每个第二区块链网络,在第二区块链网络为公有链网络的情况下,可以向第二区块链网络包括的多个区块链节点广播包括对象标识信息的数据获取请求。并基于多个区块链节点各自的第三反馈数据,得到第一区块链数据。
根据本公开的实施例,第三反馈数据可以是由区块链节点基于对象标识信息,从区块链节点的账本中得到的。
根据本公开的实施例,基于多个区块链节点各自返回的第三反馈数据,得到第一区块链数据可以是对多个第三反馈数据进行比较,以将出现频次最高的第三反馈数据作为第一区块链数据。
根据本公开的实施例,通过借助公有链网络的广播机制,可以进一步扩大数据来源节点的范围,从而提高获取得到的数据的可靠性。
根据本公开的实施例,作为一种可选实施方式,对第一客户端设备进行确权也可以是区块链数据处理平台单独对第一客户端设备进行确权。具体地,在对第一区块链数据进行处理前,可以对第一客户端设备进行确权,以确定请求方是否具有相应的权限。若完成确权,则可以确定请求方具有相应权限,且可以认为获得了该用户的授权,可以继续进行第一区块链数据的解密。若未完成确权,则可以认为该用户可能为非法用户,且未取得合法用户的授权。由于第一区块链数据为密文数据,因此,此时取得的第一区块链数据可以表现为乱码数据,不影响区块链数据的隐私安全。作为一种可选实施方式,也可以先对第一客户端设备进行确权处理,在确认第一客户端设备完成确权的情况下,再基于对象标识信息来从至少一个第二区块链网络中跨链获取第一区块链数据,在此不
作限定。
根据本公开的实施例,确权处理所基于的信息可以是加密验证信息,为了保障加密验证信息是可信的,即该加密验证信息在信息传输过程中未被篡改,可以对原本的验证信息进行加密处理。加密处理的方式可以包括对称加密、非对称加密、数字签名等。以数字签名为例,可以由第一客户端设备使用其所持有的对象私钥对验证信息明文进行加密,以得到加密验证信息。即,加密验证信息可以是由第一客户端设备利用对象私钥对验证信息明文进行数字签名而得到的。
根据本公开的实施例,验证信息明文可以是由第一客户端设备对加密组合信息进行哈希计算得到的。
根据本公开的实施例,对象密钥对可以由第一客户端设备基于随机数、设备编号、设备生成日期等数据而生成的。对象密钥对可以包括对象私钥和对象公钥。对象私钥可以通过烧制刻录在该设备的硬件设施中,从而使得该对象私钥仅由第一客户端设备持有,而无法被外部设备获取。对象公钥可以预先对外公布,以便其他设备利用对象公钥进行验签。
根据本公开的实施例,基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权可以包括如下操作:
基于对象标识信息,得到预留加密组合信息和对象公钥,其中,对象公钥与对象私钥相对应。利用对象公钥对加密验证信息进行验签,得到第一验证信息。对预留加密组合信息进行哈希计算,得到第二验证信息。基于第一验证信息和第二验证信息的匹配结果,确定第一客户端设备的确权结果。
根据本公开的实施例,对象标识信息中可以包括能够表示第一客户端设备的信息,通过该信息,可以从存储单元中获取与第一客户端设备对应的预留加密组合信息和对象公钥。
根据本公开的实施例,加密组合信息可以是数据处理请求的请求方在注册时所填写的信息。例如,加密组合信息可以包括以下至少一项:预设问题的答案文本,密码字符串和生物特征信息。在请求方进行注册时,可以通过设置密保、设置密码找回安全问题等方式,要求请求方设置一个或多个预设问题的答案,预设问题的答案文本即包括请求方在注册时所选择的问题编号,以及所填入的答案。密码字符串可以是请求方在注册时设置的二级密码、安全密码等,也可以是请求方在注册时所输入的随机数或随机字符串。生物特征信息可以包括请求方的人像特征、虹膜、指纹、声纹等信息。生物特征信息可
以由第一客户端设备采集得到。相应的,预留加密组合信息可以是数据处理请求的请求方在注册并填写信息时,由区块链数据处理平台所保存的信息。预留加密组合信息也可以包括以下至少一项:预设问题的答案文本,密码字符串和生物特征信息。
根据本公开的实施例,验证信息明文可以是一个哈希值。该哈希值可以由请求方在发起数据处理请求时直接输入到第一客户端设备。或者,第一客户端设备中可以维持有一张映射表,该映射表的每一项包括了从一个简单信息到哈希值的映射,请求方在发起数据处理请求时,可以输入该简单信息,第一客户端设备可以利用基于该简单信息,从映射表中获取相应的验证信息明文。简单信息可以包括字符串、数字组合等。
根据本公开的实施例,利用对象公钥对加密验证信息进行验签可以是利用对象公钥对加密验证信息进行解密。
根据本公开的实施例,第一验证信息可以与验证信息明文相同,也可以与验证信息明文不同。具体地,当在第一客户端设备到区块链数据处理平台的数据传输过程中,对象标识信息和加密验证信息中的任意一个被篡改或发生扰动的情况下,得到的第一验证信息可以与验证信息明文存在区别。当对象标识信息和加密验证信息均无误时,得到的第一验证信息可以为验证信息明文。进一步地,当第一验证信息与验证信息明文不同的情况下,第一验证信息必然与第二验证信息不匹配。
根据本公开的实施例,可以在确定验证信息明文和预留验证信息相匹配的情况下,得到表示第一客户端设备完成确权的确权结果,并在确定验证信息明文和预留验证信息不匹配的情况下,得到表示第一客户端设备未完成确权的确权结果。
根据本公开的实施例,通过利用预留验证信息进行第一客户端设备的确权的方式,在便于用户记忆的同时,还可以避免数据中心化,从而保障数据安全。
根据本公开的实施例,第一区块链数据的解密过程可以在分布式私钥网络中进行。
图4示意性示出了根据本公开又一实施例的区块链数据处理方法的流程图。
如图4所示,该方法包括操作S410~S430。
在操作S410,响应于接收到来自第一客户端设备的数据处理请求,基于所述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据。
在操作S420,基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权。
在操作S430,在确定第一客户端设备完成确权的情况下,向分布式私钥网络发送对象标识信息和至少一个第一区块链数据,以便分布式私钥网络根据对象标识信息,利
用至少一个第二区块链网络各自的区块体私钥,对对应的至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的实施例,区块体私钥可以分布式地存储在分布式私钥网络的多个分布式节点中,或者,存储在多个分布式节点的至少部分分布式节点中。每个分布式节点存储的私钥数据可以是区块体私钥的部分明文数据,也可以是利用各种加密方法得到的区块体私钥的部分密文数据,在此不作限定。每个分布式节点存储的私钥数据可以是是一个区块体私钥的部分数据,也可以包括多个区块体私钥各自的部分数据,在此不作限定。
根据本公开的实施例,通过将区块体私钥维持在分布式私钥网络中,区块体私钥不会通过明文或密文的形式单独向外部暴露,即区块体私钥不会被外部设备访问和获取,从而保障了区块链网络中数据的安全性。
下面参考图5A~图5B、图6和图7,结合具体实施例对图2所示的区块链数据处理方法做进一步说明。
根据本公开的实施例,区块链数据处理平台在获取第一区块链数据或第二区块链数据之后,可以通过不落盘查看的方式在第一客户端设备上进行展示。区块链数据的不落盘查看可以包括异步数据查看、同步数据查看等方式。
图5A示意性示出了根据本公开实施例的区块链数据异步查看方法的示意图。
如图5A所示,区块链数据异步查看方法可以在请求方第一次发起数据处理请求时使用。或者,在请求方确定至少一个第二区块链网络中存在新增数据时,可以使用该区块链数据异步查看方法。
根据本公开的实施例,区块链数据处理平台501响应于接收到来自第一客户端设备502的数据处理请求503,可以基于数据处理请求503携带的对象标识信息,从各个第二区块链网络504中跨链获取第一区块链数据505。在确定第一客户端设备502完成确权后,区块链数据处理平台501可以向分布式私钥网络506发送第一区块链数据505和数据处理请求503中的对象标识信息。分布式私钥网络506可以根据对象标识信息,利用区块体私钥507对第一区块链数据505进行解密,得到第二区块链数据508。分布式私钥网络506可以将第二区块链数据508返回给区块链数据处理平台501。
根据本公开的实施例,对于每个第二区块链网络504,区块链数据处理平台501可以对接收到的第二区块链数据508进行文本归一化处理,得到第一归一化数据509。再对第一归一化数据509进行加密,得到第二归一化数据510。区块链数据处理平台501可以将第二归一化数据510写入内存511。
根据本公开的实施例,第一客户端设备502可以通过使用预设接口访问内存511的方式,发起数据异步查看请求。区块链数据处理平台501响应于检测到第一客户端设备502通过预设接口访问内存511,可以向第一客户端设备502发送至少一个第二区块链网络504各自的第二归一化数据510。第一客户端设备502可以针对每个第二区块链网络504,利用与第二区块链网络504对应的区块体私钥507对第二区块链网络504的第二归一化数据510进行解密,得到第一归一化数据509,并将第一归一化数据509渲染并展示在第一客户端设备502的显示界面512上。
根据本公开的实施例,文本归一化处理例如可以使用文本分类服务来实现。通过归一化处理,可以将第二区块链数据508中所使用各种词组进行统一。例如,对于勺子这一物品,第二区块链数据508中可以使用了调羹、瓢羹、瓷羹、匙羹、汤壳、饭壳、水壳等多种别名,在归一化处理后,可以将上述多种别名统一为勺子。此外,通过归一化处理,还可以对第二区块链数据508中设计的各类数据按预设的类型进行分类,以医疗区块链中的数据为例,可以将第二区块链数据508归入用户姓名、用户性别、问诊时间、疾病种类、药物类型等类别。
根据本公开的实施例,内存511中存储的数据可以按清理规则进行定期清理。清理规则例如可以包括按用户查看时间进行清理、按数据存储时间进行清理等。
根据本公开的实施例,在完成对请求方的数据处理请求的响应后,即在从至少一个第二区块链网络中跨链获取得到至少一个第一区块链数据的情况下,可以将至少一个第一区块链数据在第一区块链网络中上链。
图5B示意性示出了根据本公开实施例的区块链数据同步查看方法的示意图。
如图5B所示,区块链数据同步查看方法可以在请求方第二次及第二次以上发起数据处理请求时使用,即采用数据同步查看方法时,至少一个第一区块链数据可以已经记录在第一区块链网络中。或者,区块链数据同步查看方法也可以在请求方第一次发起数据处理请求的同时使用,在此不作限定。
根据本公开的实施例,区块链数据处理平台501响应于接收到来自第一客户端设备502的数据处理请求503,可以基于数据处理请求503携带的对象标识信息,从第一区块链网络513中获取至少一个第一区块链数据505。
根据本公开的实施例,区块链数据处理平台501可以将至少一个第一区块链数据505写入内存511。
根据本公开的实施例,第一客户端设备502可以在发起数据处理请求503的同时,
通过预设接口访问内存511。区块链数据处理平台501可以响应于检测到第一客户端设备502通过预设接口访问内存511,向第一客户端设备502发送至少一个第二区块链网络504各自的第一区块链数据505。
根据本公开的实施例,第一客户端设备502可以利用与至少一个第二区块链网络504各自对应的区块体私钥507对至少一个第二区块链网络504各自的第一区块链数据505进行解密,得到至少一个第二区块链数据508,调用文本分类服务对至少一个第二区块链数据508进行归一化处理,得到至少一个第一归一化数据509,并将至少一个第一归一化数据509渲染并展示在第一客户端设备的显示界面512上。
根据本公开的实施例,通过如上不落盘数据查看的方式,第二归一化数据或第一区块链数据不会写入到与区块链数据处理平台相关的磁盘中,从而可以降低数据泄露的可能性。
根据本公开的实施例,数据处理请求的请求方可以是第二区块链数据的所有方,第二区块链数据可以是由请求方在网络中生成,并由至少一个第二区块链网络搜集得到的。请求方可以对其持有的第二区块链数据进行差异化定义,实现不同数据的不同策略的处理。例如,请求方可以将其持有的第二区块链数据中的部分数据进行公开,与其他的用户进行数据共享,以获取区块链数据处理平台提供的其他服务。
图6示意性示出了根据本公开实施例的区块链数据共享方法的示意图。
如图6所示,区块链数据处理平台501在进行第二区块链数据508的展示时,可以为每条第二区块链数据508提供数据共享的选择项,请求方可以通过对各条第二区块链数据508的选择项的选择操作,确定需要进行数据共享的第二区块链数据。第一客户端设备502可以基于该需要进行数据共享的第二区块链数据来生成数据共享请求601。
根据本公开的实施例,区块链数据处理平台501可以响应于来自第一客户端设备502的数据共享请求601,获取数据共享请求601携带的第一目标区块链数据602。区块链数据处理平台501可以对第一目标区块链数据602进行文本归一化处理,得到第三归一化数据603。区块链数据处理平台501可以对第三归一化数据603进行加密,得到第四归一化数据604。区块链数据处理平台501可以将第四归一化数据604在第三区块链网络605中上链。
根据本公开的实施例,对第三归一化数据603的加密可以利用各种加密方法来实现。各种加密方法可以包括任意的对称加密方法,如DES(Data Encryption Standard,数据加密标准)、AES(Advanced Encryption Standard,高级加密标准)等,也可以包括任意
的非对称加密方法,如RSA、ECC(Elliptic Curve Cryptography,椭圆曲线密码)等,在此不作限定。
根据本公开的实施例,以医疗区块链为例,例如,请求方可以是亟待进行骨髓配型的病患用户,请求方的第一目标区块链数据可以是请求方的配型数据,通过将该第一目标区块链数据向外共享,可以更方便地实现骨髓配型互助。再例如,请求方的第一目标区块链数据可以是关于某项疾病的诊疗过程,该诊疗过程可以包括用药数据,通过将该第一目标区块链数据向外共享,可以作为大数据基础内容之一去指导更多的未治愈病患的用药推荐。
根据本公开的实施例,在将第四归一化数据在第三区块链网络上链后,任意用户均可对该第四归一化数据进行调用。
图7示意性示出了根据本公开实施例的区块链数据调用方法的示意图。
如图7所示,在区块链数据处理平台501将第四归一化数据604在第三区块链网络605中上链之后,区块链数据处理平台501可以响应于来自第二客户端设备701的数据调用请求702,基于数据调用请求702携带的调用类型信息,确定数据调用模型703。
根据本公开的实施例,区块链数据处理平台501可以利用数据调用模型703来处理第三区块链网络605包括的第四区块链数据704,得到第二目标区块链数据705。
根据本公开的实施例,区块链数据处理平台501可以对第二目标区块链数据705进行解密,并向第二客户端设备701发送解密后的第二目标区块链数据706。
根据本公开的实施例,数据调用模型703可以是预设算法库中的一个数据模型。预设算法库中的数据模型可以包括推荐模型、匹配模型、预测模型等,可以根据具体应用场景进行设置,在此不作限定。每个数据模型的输入端口和输出端口可以均提供给区块链数据处理平台501相应的接口,通过该接口,区块链数据处理平台501可以向数据模型输入数据,并从数据模型中提取已被数据模型处理完成的数据。
根据本公开的实施例,第四区块链数据704除可以包括由数据处理请求503的请求方提供的第四归一化数据604之外,还可以包括由其他用户共享至第三区块链网络605的区块链数据,在此不作限定。
根据本公开的实施例,以数据调用模型703为医疗区块链中的用户推荐模型为例,用户A可以通过用户推荐模型的输入接口输入用户自身的信息,例如“用户姓名”、“用户性别”、“问诊时间”、“疾病种类”、“药物类型”等属性的具体属性值,这些具体属性值可以组成用户向量A。利用用户推荐模型,可以通过基于大数据基础内容构成的数据矩
阵,与用户向量A进行相似度匹配的计算,从而通过输出接口反馈给用户A另一组由“用户姓名”、“用户性别”、“问诊时间”、“疾病种类”、“药物类型”等属性的具体属性值组成的用户向量B。用户A可以根据用户向量B中的“用户性别”等身份信息,从第三区块链网络中查询得到用户B提供的诊疗过程细节信息。或者,平台可以向用户A反馈多组用户向量,如用户向量B、用户向量C、用户向量D等,以便用户A进行选择。
作为一种可选实施方式,第二目标区块链数据705的解密可以采用与第三归一化数据603的加密时所采用的加密方法相对应的解密方法。以非对称加密为例,区块链数据处理平台501可以生成平台私钥和平台公钥。在用户进行数据共享时,区块链数据处理平台501可以使用平台私钥对共享数据进行加密,并将加密后的共享数据在第三区块链网络上链。在其他用户进行数据调用时,区块链数据处理平台501可以利用平台公钥对需要调用的数据进行解密,再将解密后的数据发送给其他用户。或者,区块链数据处理平台501也可以向有权进行数据调用的用户提供平台公钥,在该用户进行数据调用时,区块链数据处理平台501可以直接将第三区块链网络中的待调用数据发送给该用户,由该用户使用平台公钥对待调用数据进行解密。
图8示意性示出了根据本公开实施例的区块链数据处理平台的示意图。
如图8所示,区块链数据处理平台501可以包括区块链数据源管理模块5011、私钥控制模块5012和数据处理模块5013。
区块链数据源管理模块5011,被配置为响应于接收到来自第一客户端设备的数据处理请求,基于数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据。
私钥控制模块5012,被配置为基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权。
数据处理模块5013,被配置为在确定第一客户端设备完成确权的情况下,向第一客户端设备发送至少一个第一区块链数据,以便第一客户端设备利用与至少一个第一区块链数据各自对应的区块体私钥,对至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的实施例,加密验证信息是由第一客户端设备利用对象私钥对私钥摘要信息进行数字签名而得到的,私钥摘要信息是由第一客户端设备对与至少一个第一区块链数据各自对应的区块体私钥进行拼接和哈希计算而得到的。
根据本公开的实施例,私钥控制模块5012被配置为:基于对象标识信息,得到对
象公钥,其中,对象公钥与对象私钥相对应。利用对象公钥对加密验证信息进行验签,得到第一摘要信息,其中,在加密验证信息验签成功的情况下,第一摘要信息为私钥摘要信息。向分布式私钥网络发送对象标识信息和第一摘要信息,以便分布式私钥网络根据对象标识信息,确定至少一个区块链体私钥,对至少一个区块体私钥进行拼接和哈希计算,得到第二摘要信息,并基于第一摘要信息和第二摘要信息的匹配结果,确定第一客户端设备的确权结果。
根据本公开的实施例,区块链数据源管理模块5011被配置为:响应于数据处理请求,在未能从第一区块链网络中获取至少一个第一区块链数据的情况下,基于对象标识信息,分别对至少一个第二区块链网络进行跨链数据获取,得到至少一个第一区块链数据。
根据本公开的实施例,区块链数据源管理模块5011被配置为:对于每个第二区块链网络,确定第二区块链网络的跨链节点。基于跨链节点的节点类型,通过跨链节点来获取第一区块链数据。
根据本公开的实施例,区块链数据源管理模块5011被配置为:在确定跨链节点为全节点的情况下,向跨链节点发送包括对象标识信息的数据获取请求,以便基于跨链节点返回的第一反馈数据,得到第一区块链数据。其中,第一反馈数据是由跨链节点基于对象标识信息,从跨链节点的账本中得到的。
根据本公开的实施例,区块链数据源管理模块5011被配置为:在确定跨链节点为轻节点的情况下,通过跨链节点向第二区块链网络的全节点发送包括对象标识信息的数据获取请求,以便基于全节点通过跨链节点返回的第二反馈数据,得到第一区块链数据。其中,第二反馈数据是由全节点基于由跨链节点转发的对象标识信息,从全节点的账本中得到的。
根据本公开的实施例,区块链数据源管理模块5011被配置为:对于每个第二区块链网络,在第二区块链网络为公有链网络的情况下,向第二区块链网络包括的多个区块链节点广播包括对象标识信息的数据获取请求。基于多个区块链节点各自返回的第三反馈数据,得到第一区块链数据,其中,第三反馈数据是由区块链节点基于对象标识信息,从区块链节点的账本中得到的。
根据本公开的实施例,加密验证信息是由第一客户端设备利用对象私钥对验证信息明文进行数字签名而得到的,验证信息明文是由第一客户端设备对加密组合信息进行哈希计算得到的。
根据本公开的实施例,私钥控制模块5012被配置为:基于对象标识信息,得到预留加密组合信息和对象公钥,其中,对象公钥与对象私钥相对应。利用对象公钥对加密验证信息进行验签,得到第一验证信息,其中,在确定加密验证信息验签成功的情况下,第一验证信息为验证信息明文。对预留加密组合信息进行哈希计算,得到第二验证信息。基于第一验证信息和第二验证信息的匹配结果,确定第一客户端设备的确权结果。
根据本公开的实施例,加密组合信息或预留加密组合信息包括以下至少一项:预设问题的答案文本,密码字符串,生物特征信息。
根据本公开的实施例,私钥控制模块5012被配置为:在确定第一客户端设备完成确权的情况下,向分布式私钥网络发送对象标识信息和至少一个第一区块链数据,以便分布式私钥网络根据对象标识信息,利用至少一个第二区块链网络各自的区块体私钥,对对应的至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的实施例,数据处理模块5013被配置为:对于每个第二区块链网络,对第二区块链网络的第二区块链数据进行文本归一化处理,得到第一归一化数据。利用与第二区块链网络对应的区块体公钥对第一归一化数据进行加密,得到第二归一化数据,其中,区块体公钥与区块体私钥相对应。将第二归一化数据写入内存。响应于检测到第一客户端设备通过预设接口访问内存,向第一客户端设备发送至少一个第二区块链网络各自的第二归一化数据,其中,第一客户端设备被配置为针对每个第二区块链网络,利用与第二区块链网络对应的区块体私钥对第二区块链网络的第二归一化数据进行解密,得到第一归一化数据,并将第一归一化数据渲染并展示在第一客户端设备的显示界面上。
根据本公开的实施例,数据处理模块5013被配置为:在从至少一个第二区块链网络中跨链获取得到至少一个第一区块链数据的情况下,将至少一个第一区块链数据在第一区块链网络中上链。
根据本公开的实施例,数据处理模块5013被配置为:将至少一个第一区块链数据写入内存。响应于检测到第一客户端设备通过预设接口访问内存,向第一客户端设备发送至少一个第一区块链数据,其中,第一客户端设备被配置为利用与至少一个第一区块链数据各自对应的区块体私钥,对至少一个第一区块链数据进行解密,得到至少一个第二区块链数据,调用文本分类服务对至少一个第二区块链数据进行归一化处理,得到至少一个第一归一化数据,并将至少一个第一归一化数据渲染并展示在第一客户端设备的显示界面上。
根据本公开的实施例,数据处理模块5013被配置为:响应于来自第一客户端设备
的数据共享请求,获取数据共享请求携带的第一目标区块链数据。对第一目标区块链数据进行文本归一化处理,得到第三归一化数据。对第三归一化数据进行加密,得到第四归一化数据。将第四归一化数据在第三区块链网络中上链。
根据本公开的实施例,数据处理模块5013被配置为:响应于来自第二客户端设备的数据调用请求,基于数据调用请求携带的调用类型信息,确定数据调用模型。利用数据调用模型来处理第三区块链网络包括的第四区块链数据,得到第二目标区块链数据,其中,第四区块链数据包括第四归一化数据。对第二目标区块链数据进行解密,并向第二客户端设备发送解密后的第二目标区块链数据。
需要说明的是,本公开的实施例中区块链数据处理平台部分与本公开的实施例中区块链数据处理方法部分是相对应的,区块链数据处理平台部分的描述具体参考区块链数据处理方法部分,在此不再赘述。
图9示意性示出了根据本公开实施例的区块链数据处理系统的示意图。
如图9所示,区块链数据处理系统可以包括第一客户端设备502、第一区块链网络513、区块链数据处理平台501和分布式私钥网络506。
其中,区块链数据处理平台501被配置为:响应于接收到来自第一客户端设备的数据处理请求,基于数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据。基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权。在确定第一客户端设备完成确权的情况下,向第一客户端设备发送至少一个第一区块链数据。
第一客户端设备502被配置为:利用与至少一个第一区块链数据各自对应的区块体私钥,对至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的实施例,区块链数据处理系统还可以包括至少一个第二区块链网络504。
根据本公开的实施例,区块链数据处理平台501可以被配置为:响应于数据处理请求,在未能从第一区块链网络中获取至少一个第一区块链数据的情况下,基于对象标识信息,分别对至少一个第二区块链网络进行跨链数据获取,得到至少一个第一区块链数据。
根据本公开的实施例,区块链数据处理平台501可以被配置为:在确定第一客户端设备完成确权的情况下,向分布式私钥网络发送对象标识信息和至少一个第一区块链数据。
根据本公开的实施例,分布式私钥网络506可以被配置为:根据对象标识信息,利用至少一个第二区块链网络各自的区块体私钥,对对应的至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的实施例,分布式私钥网络506可以被配置为:响应于接收到来自区块链数据处理平台的对象标识信息和至少一个第一区块链数据,基于对象标识信息,从多个分布式节点中确定至少一个目标节点。基于至少一个目标节点各自存储的私钥数据,得到至少一个第二区块链网络各自的区块体私钥。利用至少一个第二区块链网络各自的区块体私钥,对对应的至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。向区块链数据处理平台发送至少一个第二区块链数据。
根据本公开的实施例,目标节点存储的私钥数据为字符串数据。
根据本公开的实施例,分布式私钥网络506可以被配置为:对于每个目标节点,基于目标节点存储的私钥数据,得到拼接顺序信息和目标字符串数据。基于至少一个目标节点各自的拼接顺序信息,将至少一个目标节点各自的目标字符串数据进行拼接,得到目标区块体私钥。基于区块体私钥的预设字符长度,对目标区块体私钥进行切分,得到至少一个第二区块链网络各自的区块体私钥。
根据本公开的实施例,分布式私钥网络在将属于同一请求方的至少一个区块体私钥进行存储时,可以先将至少一个区块体私钥进行拼接,得到目标区块体私钥。或者,也可以对拼接后的至少一个区块体私钥进行进一步的加密处理,以得到目标区块体私钥。可以将目标区块体私钥切分为多份,根据切分的份数,可以从多个分布式节点中确定相应数量的目标节点,并在每个目标节点中生成与目标区块体私钥具有相同尺寸的字符串型参数,该字符串型参数的参数值可以为空。在进行目标区块体私钥的存储分配时,可以基于每一份切分后的目标区块体私钥在原区块体私钥中的位置,对目标节点的字符串型参数中相应位置的元素进行替换,得到私钥数据,从而实现该部分的目标区块体私钥在目标节点的存储。
根据本公开的实施例,在获取区块体私钥时,对于每个目标节点,分布式私钥网络可以基于目标节点存储的私钥数据,得到拼接顺序信息和目标字符串数据。具体地,可以基于各个私钥数据中非空字符串数据所处的位置,来得到拼接顺序信息。目标字符串数据可以为私钥数据中的非空字符串数据。
根据本公开的实施例,分布式私钥网络可以基于至少一个目标节点各自的拼接顺序信息,将至少一个目标节点各自的目标字符串数据进行拼接,得到目标区块体私钥。
根据本公开的实施例,由于至少一个区块体私钥均可以是使用相同位数的加密算法来生成的,因此可以基于区块体私钥的预设字符长度,对目标区块体私钥进行切分,得到至少一个区块链网络各自的区块体私钥。
根据本公开的实施例,至少一个区块体私钥的位数可以不相同。可以在生成目标区块体私钥的过程中,记录各个区块体私钥拼接顺序及位数,并可以基于该记录实现对目标区块体私钥的切分。
根据本公开的实施例,目标节点存储的私钥数据可以为曲线坐标数据。
根据本公开的实施例,分布式私钥网络306可以被配置为:基于曲线模板,对至少一个目标节点各自存储的私钥数据进行曲线拟合,得到目标曲线。将目标曲线包括的多个参数值进行拼接,得到目标区块体私钥。基于区块体私钥的预设字符长度,对目标区块体私钥进行切分,得到至少一个第二区块链网络各自的区块体私钥。
根据本公开的实施例,分布式私钥网络在将属于同一请求方的至少一个区块体私钥进行存储时,可以先将至少一个区块体私钥进行拼接,并将拼接后的至少一个区块体私钥进一步地处理为一个整数数值。可以根据该整数数值的位数,选择一个曲线模板,按曲线模板中各个参数的规定位数,将该整数数值拆分为多个参数值,并将多个参数值赋予曲线模板的各个参数,以得到目标曲线。例如,该整数值可以为12345678,选择的曲线模板可以表示为y=ax2+bx2+cx+d,每个参数的规定位数可以均为2位,则曲线模板的参数可以分别赋值为a=12、b=34、c=56、d=78。在完成赋值后,得到的目标曲线可以表示为y=12x2+23x2+56x+78。在确定目标曲线后,可以随机从该目标曲线上选择多个坐标点,选择的坐标点的数量可以大于或等于曲线模板中参数的数量。可以基于坐标点的数量,从多个分布式节点中选择相应数量的目标节点,并将多个坐标点的曲线坐标数据写入到各个目标节点中。
根据本公开的实施例,在获取区块体私钥时,分布式私钥网络可以基于曲线模板,对至少一个目标节点各自存储的私钥数据进行曲线拟合,得到目标曲线。可以将目标曲线包括的多个参数值进行拼接,得到目标区块体私钥。可以基于区块体私钥的预设字符长度,对目标区块体私钥进行切分,得到至少一个区块链网络各自的区块体私钥。
根据本公开的实施例,通过利用分布式节点来分布式地存储区块体私钥的方式,可以规避信息存储的单点风险,有助于保障用户的区块体私钥的隐私安全,从而间接地保护用户的区块链数据的私密性和安全性。
根据本公开的实施例,区块链数据处理系统包括的第一客户端设备、第一区块链网
络、至少一个第二区块链网络、区块链数据处理平台和分布式私钥网络可以用于实现本公开实施例所述的区块链数据处理方法,可以参考上文相应部分的说明,在此不再赘述。
图10示意性示出了根据本公开实施例的区块链数据处理装置的框图。
如图10所示,区块链数据处理装置1000可以包括第一获取模块1010、确权模块1020和第一发送模块1030。
第一获取模块1010,用于响应于接收到来自第一客户端设备的数据处理请求,基于数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据。
确权模块1020,用于基于数据处理请求携带的加密验证信息,对第一客户端设备进行确权。
第一发送模块1030,用于在确定第一客户端设备完成确权的情况下,向第一客户端设备发送至少一个第一区块链数据,以便第一客户端设备利用与至少一个第一区块链数据各自对应的区块体私钥,对至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的实施例,加密验证信息是由第一客户端设备利用对象私钥对私钥摘要信息进行数字签名而得到的,私钥摘要信息是由第一客户端设备对与至少一个第一区块链数据各自对应的区块体私钥进行拼接和哈希计算而得到的。
根据本公开的实施例,确权模块1020包括第一确权单元、第二确权单元和第三确权单元。
第一确权单元,用于基于对象标识信息,得到对象公钥,其中,对象公钥与对象私钥相对应。
第二确权单元,用于利用对象公钥对加密验证信息进行验签,得到第一摘要信息,其中,在加密验证信息验签成功的情况下,第一摘要信息为私钥摘要信息。
第三确权单元,用于向分布式私钥网络发送对象标识信息和第一摘要信息,以便分布式私钥网络根据对象标识信息,确定至少一个区块链体私钥,对至少一个区块体私钥进行拼接和哈希计算,得到第二摘要信息,并基于第一摘要信息和第二摘要信息的匹配结果,确定第一客户端设备的确权结果。
根据本公开的实施例,区块链数据处理装置1000还包括第二获取模块。
第二获取模块,用于响应于数据处理请求,在未能从第一区块链网络中获取至少一个第一区块链数据的情况下,基于对象标识信息,分别对至少一个第二区块链网络进行跨链数据获取,得到至少一个第一区块链数据。
根据本公开的实施例,第二获取模块包括第一获取单元和第二获取单元。
第一获取单元,用于对于每个第二区块链网络,确定第二区块链网络的跨链节点。
第二获取单元,用于基于跨链节点的节点类型,通过跨链节点来获取第一区块链数据。
根据本公开的实施例,第二获取单元包括第一获取子单元。
第一获取子单元,用于在确定跨链节点为全节点的情况下,向跨链节点发送包括对象标识信息的数据获取请求,以便基于跨链节点返回的第一反馈数据,得到第一区块链数据。其中,第一反馈数据是由跨链节点基于对象标识信息,从跨链节点的账本中得到的。
根据本公开的实施例,第二获取单元包括第二获取子单元。
第二获取子单元,用于在确定跨链节点为轻节点的情况下,通过跨链节点向第二区块链网络的全节点发送包括对象标识信息的数据获取请求,以便基于全节点通过跨链节点返回的第二反馈数据,得到第一区块链数据。其中,第二反馈数据是由全节点基于由跨链节点转发的对象标识信息,从全节点的账本中得到的。
根据本公开的实施例,第二获取模块包括第三获取单元和第四获取单元。
第三获取单元,用于对于每个第二区块链网络,在第二区块链网络为公有链网络的情况下,向第二区块链网络包括的多个区块链节点广播包括对象标识信息的数据获取请求。
第四获取单元,用于基于多个区块链节点各自返回的第三反馈数据,得到第一区块链数据,其中,第三反馈数据是由区块链节点基于对象标识信息,从区块链节点的账本中得到的。
根据本公开的实施例,加密验证信息是由第一客户端设备利用对象私钥对验证信息明文进行数字签名而得到的,验证信息明文是由第一客户端设备对加密组合信息进行哈希计算得到的。
根据本公开的实施例,确权模块1020包括第四确权单元、第五确权单元、第六确权单元和第七确权单元。
第四确权单元,用于基于对象标识信息,得到预留加密组合信息和对象公钥,其中,对象公钥与对象私钥相对应。
第五确权单元,用于利用对象公钥对加密验证信息进行验签,得到第一验证信息,其中,在确定加密验证信息验签成功的情况下,第一验证信息为验证信息明文。
第六确权单元,用于对预留加密组合信息进行哈希计算,得到第二验证信息。
第七确权单元,用于基于第一验证信息和第二验证信息的匹配结果,确定第一客户端设备的确权结果。
根据本公开的实施例,加密组合信息或预留加密组合信息包括以下至少一项:预设问题的答案文本,密码字符串,生物特征信息。
根据本公开的实施例,区块链数据处理装置1000还包括第二发送模块。
第二发送模块,用于在确定第一客户端设备完成确权的情况下,向分布式私钥网络发送对象标识信息和至少一个第一区块链数据,以便分布式私钥网络根据对象标识信息,利用至少一个第二区块链网络各自的区块体私钥,对对应的至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
根据本公开的实施例,区块链数据处理装置1000还包括第一处理模块、第一加密模块、第一写入模块和第三发送模块。
第一处理模块,用于对于每个第二区块链网络,对第二区块链网络的第二区块链数据进行文本归一化处理,得到第一归一化数据。
第一加密模块,用于利用与第二区块链网络对应的区块体公钥对第一归一化数据进行加密,得到第二归一化数据,其中,区块体公钥与区块体私钥相对应。
第一写入模块,用于将第二归一化数据写入内存。
第三发送模块,用于响应于检测到第一客户端设备通过预设接口访问内存,向第一客户端设备发送至少一个第二区块链网络各自的第二归一化数据,其中,第一客户端设备被配置为针对每个第二区块链网络,利用与第二区块链网络对应的区块体私钥对第二区块链网络的第二归一化数据进行解密,得到第一归一化数据,并将第一归一化数据渲染并展示在第一客户端设备的显示界面上。
根据本公开的实施例,区块链数据处理装置1000还包括第一上链模块。
第一上链模块,用于在从至少一个第二区块链网络中跨链获取得到至少一个第一区块链数据的情况下,将至少一个第一区块链数据在第一区块链网络中上链。
根据本公开的实施例,区块链数据处理装置1000还包括第二写入模块和第四发送模块。
第二写入模块,用于将至少一个第一区块链数据写入内存。
第四发送模块,用于响应于检测到第一客户端设备通过预设接口访问内存,向第一客户端设备发送至少一个第一区块链数据,其中,第一客户端设备被配置为利用与至少
一个第一区块链数据各自对应的区块体私钥,对至少一个第一区块链数据进行解密,得到至少一个第二区块链数据,调用文本分类服务对至少一个第二区块链数据进行归一化处理,得到至少一个第一归一化数据,并将至少一个第一归一化数据渲染并展示在第一客户端设备的显示界面上。
根据本公开的实施例,区块链数据处理装置1000还包括第三获取模块、第二处理模块、第二加密模块和第二上链模块。
第三获取模块,用于响应于来自第一客户端设备的数据共享请求,获取数据共享请求携带的第一目标区块链数据。
第二处理模块,用于对第一目标区块链数据进行文本归一化处理,得到第三归一化数据。
第二加密模块,用于对第三归一化数据进行加密,得到第四归一化数据。
第二上链模块,用于将第四归一化数据在第三区块链网络中上链。
根据本公开的实施例,区块链数据处理装置1000还包括确定模块、第三处理模块和第五发送模块。
确定模块,用于响应于来自第二客户端设备的数据调用请求,基于数据调用请求携带的调用类型信息,确定数据调用模型。
第三处理模块,用于利用数据调用模型来处理第三区块链网络包括的第四区块链数据,得到第二目标区块链数据,其中,第四区块链数据包括第四归一化数据。
第五发送模块,用于对第二目标区块链数据进行解密,并向第二客户端设备发送解密后的第二目标区块链数据。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Arrays,PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(Application Specific Integrated Circuit,ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,
当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块1010、确权模块1020和第一发送模块1030中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一获取模块1010、确权模块1020和第一发送模块1030中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块1010、确权模块1020和第一发送模块1030中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中区块链数据处理装置部分与本公开的实施例中区块链数据处理方法部分是相对应的,区块链数据处理装置部分的描述具体参考区块链数据处理方法部分,在此不再赘述。
图11示意性示出了根据本公开实施例的适于实现区块链数据处理方法的电子设备的框图。图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,根据本公开实施例的电子设备1100包括处理器1101,其可以根据存储在只读存储器(Read-Only Memory,ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(Random Access Memory,RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有电子设备1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM 1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器
1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。系统1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM(Erasable Programmable Read Only Memory,EPROM)或闪存)、便携式紧凑磁盘只读存储器(Computer Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102
和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的区块链数据处理方法。
在该计算机程序被处理器1101执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1109被下载和安装,和/或从可拆卸介质1111被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,Python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(Local Area Network,LAN)或广域网(Wide Area Networks,WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例
和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (40)
- 一种区块链数据处理方法,包括:响应于接收到来自第一客户端设备的数据处理请求,基于所述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;基于所述数据处理请求携带的加密验证信息,对所述第一客户端设备进行确权;以及在确定所述第一客户端设备完成确权的情况下,向所述第一客户端设备发送所述至少一个第一区块链数据,以便所述第一客户端设备利用与所述至少一个第一区块链数据各自对应的区块体私钥,对所述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
- 根据权利要求1所述的方法,其中,所述加密验证信息是由第一客户端设备利用对象私钥对私钥摘要信息进行数字签名而得到的,所述私钥摘要信息是由第一客户端设备对与所述至少一个第一区块链数据各自对应的区块体私钥进行拼接和哈希计算而得到的;其中,所述基于所述数据处理请求携带的加密验证信息,对所述第一客户端设备进行确权,包括:基于所述对象标识信息,得到对象公钥,其中,所述对象公钥与所述对象私钥相对应;利用所述对象公钥对所述加密验证信息进行验签,得到第一摘要信息,其中,在所述加密验证信息验签成功的情况下,所述第一摘要信息为所述私钥摘要信息;以及向分布式私钥网络发送所述对象标识信息和所述第一摘要信息,以便所述分布式私钥网络根据所述对象标识信息,确定至少一个区块链体私钥,对所述至少一个区块体私钥进行拼接和哈希计算,得到第二摘要信息,并基于所述第一摘要信息和所述第二摘要信息的匹配结果,确定所述第一客户端设备的确权结果。
- 根据权利要求1所述的方法,还包括:响应于所述数据处理请求,在未能从所述第一区块链网络中获取所述至少一个第一区块链数据的情况下,基于所述对象标识信息,分别对至少一个第二区块链网络进行跨链数据获取,得到所述至少一个第一区块链数据。
- 根据权利要求3所述的方法,其中,所述基于所述对象标识信息,分别对至少一个第二区块链网络进行跨链数据获取,得到所述至少一个第一区块链数据,包括:对于每个所述第二区块链网络,确定所述第二区块链网络的跨链节点;以及基于所述跨链节点的节点类型,通过所述跨链节点来获取所述第一区块链数据。
- 根据权利要求4所述的方法,其中,所述基于所述跨链节点的节点类型,通过所述跨链节点来获取所述第一区块链数据,包括:在确定所述跨链节点为全节点的情况下,向所述跨链节点发送包括所述对象标识信息的数据获取请求,以便基于所述跨链节点返回的第一反馈数据,得到所述第一区块链数据;其中,所述第一反馈数据是由所述跨链节点基于所述对象标识信息,从所述跨链节点的账本中得到的。
- 根据权利要求4所述的方法,其中,所述基于所述跨链节点的节点类型,通过所述跨链节点来获取所述第一区块链数据,包括:在确定所述跨链节点为轻节点的情况下,通过所述跨链节点向所述第二区块链网络的全节点发送包括所述对象标识信息的数据获取请求,以便基于所述全节点通过所述跨链节点返回的第二反馈数据,得到所述第一区块链数据;其中,所述第二反馈数据是由所述全节点基于由所述跨链节点转发的所述对象标识信息,从所述全节点的账本中得到的。
- 根据权利要求3所述的方法,其中,所述基于所述对象标识信息,分别对至少一个第二区块链网络进行跨链数据获取,得到所述至少一个第一区块链数据,包括:对于每个所述第二区块链网络,在所述第二区块链网络为公有链网络的情况下,向所述第二区块链网络包括的多个区块链节点广播包括所述对象标识信息的数据获取请求;以及基于所述多个区块链节点各自返回的第三反馈数据,得到所述第一区块链数据,其中,所述第三反馈数据是由所述区块链节点基于所述对象标识信息,从所述区块链节点的账本中得到的。
- 根据权利要求3所述的方法,其中,所述加密验证信息是由第一客户端设备利用对象私钥对验证信息明文进行数字签名而得到的,所述验证信息明文是由所述第一客户端设备对加密组合信息进行哈希计算得到的;其中,所述基于所述数据处理请求携带的加密验证信息,对所述第一客户端设备进行确权,包括:基于所述对象标识信息,得到预留加密组合信息和对象公钥,其中,所述对象公 钥与所述对象私钥相对应;利用所述对象公钥对所述加密验证信息进行验签,得到第一验证信息,其中,在确定所述加密验证信息验签成功的情况下,所述第一验证信息为所述验证信息明文;对所述预留加密组合信息进行哈希计算,得到第二验证信息;以及基于所述第一验证信息和所述第二验证信息的匹配结果,确定所述第一客户端设备的确权结果。
- 根据权利要求8所述的方法,其中,所述加密组合信息或所述预留加密组合信息包括以下至少一项:预设问题的答案文本,密码字符串,生物特征信息。
- 根据权利要求1所述的方法,还包括:在确定所述第一客户端设备完成确权的情况下,向分布式私钥网络发送所述对象标识信息和至少一个所述第一区块链数据,以便所述分布式私钥网络根据所述对象标识信息,利用所述至少一个第二区块链网络各自的区块体私钥,对对应的至少一个所述第一区块链数据进行解密,得到至少一个第二区块链数据。
- 根据权利要求10所述的方法,还包括:对于每个所述第二区块链网络,对所述第二区块链网络的第二区块链数据进行文本归一化处理,得到第一归一化数据;利用与所述第二区块链网络对应的区块体公钥对所述第一归一化数据进行加密,得到第二归一化数据,其中,所述区块体公钥与所述区块体私钥相对应;将所述第二归一化数据写入内存;以及响应于检测到所述第一客户端设备通过预设接口访问所述内存,向所述第一客户端设备发送所述至少一个第二区块链网络各自的第二归一化数据,其中,所述第一客户端设备被配置为针对每个第二区块链网络,利用与所述第二区块链网络对应的区块体私钥对所述第二区块链网络的第二归一化数据进行解密,得到所述第一归一化数据,并将所述第一归一化数据渲染并展示在所述第一客户端设备的显示界面上。
- 根据权利要求1~11中任一项所述的方法,还包括:在从所述至少一个第二区块链网络中跨链获取得到所述至少一个第一区块链数据的情况下,将所述至少一个第一区块链数据在所述第一区块链网络中上链。
- 根据权利要求1~11中任一项所述的方法,还包括:将所述至少一个第一区块链数据写入内存;以及响应于检测到所述第一客户端设备通过预设接口访问所述内存,向所述第一客户端设备发送所述至少一个第一区块链数据,其中,所述第一客户端设备被配置为利用与所述至少一个第一区块链数据各自对应的区块体私钥,对所述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据,调用文本分类服务对所述至少一个第二区块链数据进行归一化处理,得到至少一个第一归一化数据,并将所述至少一个第一归一化数据渲染并展示在所述第一客户端设备的显示界面上。
- 根据权利要求1~11中任一项所述的方法,还包括:响应于来自所述第一客户端设备的数据共享请求,获取所述数据共享请求携带的第一目标区块链数据;对所述第一目标区块链数据进行文本归一化处理,得到第三归一化数据;对所述第三归一化数据进行加密,得到第四归一化数据;以及将所述第四归一化数据在第三区块链网络中上链。
- 根据权利要求14所述的方法,还包括:响应于来自第二客户端设备的数据调用请求,基于所述数据调用请求携带的调用类型信息,确定数据调用模型;利用所述数据调用模型来处理所述第三区块链网络包括的第四区块链数据,得到第二目标区块链数据,其中,所述第四区块链数据包括所述第四归一化数据;以及对所述第二目标区块链数据进行解密,并向所述第二客户端设备发送解密后的第二目标区块链数据。
- 一种区块链数据处理平台,包括:区块链数据源管理模块,被配置为响应于接收到来自第一客户端设备的数据处理请求,基于所述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;私钥控制模块,被配置为基于所述数据处理请求携带的加密验证信息,对所述第一客户端设备进行确权;以及数据处理模块,被配置为在确定所述第一客户端设备完成确权的情况下,向所述第一客户端设备发送所述至少一个第一区块链数据,以便所述第一客户端设备利用与所述至少一个第一区块链数据各自对应的区块体私钥,对所述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
- 根据权利要求16所述的平台,其中,所述加密验证信息是由第一客户端设备 利用对象私钥对私钥摘要信息进行数字签名而得到的,所述私钥摘要信息是由第一客户端设备对与所述至少一个第一区块链数据各自对应的区块体私钥进行拼接和哈希计算而得到的;其中,所述私钥控制模块被配置为:基于所述对象标识信息,得到对象公钥,其中,所述对象公钥与所述对象私钥相对应;利用所述对象公钥对所述加密验证信息进行验签,得到第一摘要信息,其中,在所述加密验证信息验签成功的情况下,所述第一摘要信息为所述私钥摘要信息;向分布式私钥网络发送所述对象标识信息和所述第一摘要信息,以便所述分布式私钥网络根据所述对象标识信息,确定至少一个区块链体私钥,对所述至少一个区块体私钥进行拼接和哈希计算,得到第二摘要信息,并基于所述第一摘要信息和所述第二摘要信息的匹配结果,确定所述第一客户端设备的确权结果。
- 根据权利要求16所述的平台,其中,所述区块链数据源管理模块被配置为:响应于所述数据处理请求,在未能从所述第一区块链网络中获取所述至少一个第一区块链数据的情况下,基于所述对象标识信息,分别对至少一个第二区块链网络进行跨链数据获取,得到所述至少一个第一区块链数据。
- 根据权利要求18所述的平台,其中,所述区块链数据源管理模块被配置为:对于每个所述第二区块链网络,确定所述第二区块链网络的跨链节点;以及基于所述跨链节点的节点类型,通过所述跨链节点来获取所述第一区块链数据。
- 根据权利要求19所述的平台,其中,所述区块链数据源管理模块被配置为:在确定所述跨链节点为全节点的情况下,向所述跨链节点发送包括所述对象标识信息的数据获取请求,以便基于所述跨链节点返回的第一反馈数据,得到所述第一区块链数据;其中,所述第一反馈数据是由所述跨链节点基于所述对象标识信息,从所述跨链节点的账本中得到的。
- 根据权利要求19所述的平台,其中,所述区块链数据源管理模块被配置为:在确定所述跨链节点为轻节点的情况下,通过所述跨链节点向所述第二区块链网络的全节点发送包括所述对象标识信息的数据获取请求,以便基于所述全节点通过所述跨链节点返回的第二反馈数据,得到所述第一区块链数据;其中,所述第二反馈数据是由所述全节点基于由所述跨链节点转发的所述对象标 识信息,从所述全节点的账本中得到的。
- 根据权利要求18所述的平台,其中,所述区块链数据源管理模块被配置为:对于每个所述第二区块链网络,在所述第二区块链网络为公有链网络的情况下,向所述第二区块链网络包括的多个区块链节点广播包括所述对象标识信息的数据获取请求;以及基于所述多个区块链节点各自返回的第三反馈数据,得到所述第一区块链数据,其中,所述第三反馈数据是由所述区块链节点基于所述对象标识信息,从所述区块链节点的账本中得到的。
- 根据权利要求19所述的平台,其中,所述加密验证信息是由第一客户端设备利用对象私钥对验证信息明文进行数字签名而得到的,所述验证信息明文是由所述第一客户端设备对加密组合信息进行哈希计算得到的;其中,所述私钥控制模块被配置为:基于所述对象标识信息,得到预留加密组合信息和对象公钥,其中,所述对象公钥与所述对象私钥相对应;利用所述对象公钥对所述加密验证信息进行验签,得到第一验证信息,其中,在确定所述加密验证信息验签成功的情况下,所述第一验证信息为所述验证信息明文;对所述预留加密组合信息进行哈希计算,得到第二验证信息;以及基于所述第一验证信息和所述第二验证信息的匹配结果,确定所述第一客户端设备的确权结果。
- 根据权利要求23所述的平台,其中,所述加密组合信息或所述预留加密组合信息包括以下至少一项:预设问题的答案文本,密码字符串,生物特征信息。
- 根据权利要求16所述的平台,所述私钥控制模块被配置为:在确定所述第一客户端设备完成确权的情况下,向分布式私钥网络发送所述对象标识信息和至少一个所述第一区块链数据,以便所述分布式私钥网络根据所述对象标识信息,利用所述至少一个第二区块链网络各自的区块体私钥,对对应的至少一个所述第一区块链数据进行解密,得到至少一个第二区块链数据。
- 根据权利要求25所述的平台,其中,所述数据处理模块被配置为:对于每个所述第二区块链网络,对所述第二区块链网络的第二区块链数据进行文本归一化处理,得到第一归一化数据;利用与所述第二区块链网络对应的区块体公钥对所述第一归一化数据进行加密,得到第二归一化数据,其中,所述区块体公钥与所述区块体私钥相对应;将所述第二归一化数据写入内存;以及响应于检测到所述第一客户端设备通过预设接口访问所述内存,向所述第一客户端设备发送所述至少一个第二区块链网络各自的第二归一化数据,其中,所述第一客户端设备被配置为针对每个第二区块链网络,利用与所述第二区块链网络对应的区块体私钥对所述第二区块链网络的第二归一化数据进行解密,得到所述第一归一化数据,并将所述第一归一化数据渲染并展示在所述第一客户端设备的显示界面上。
- 根据权利要求16~26中任一项所述的平台,其中,所述数据处理模块被配置为:在从所述至少一个第二区块链网络中跨链获取得到所述至少一个第一区块链数据的情况下,将所述至少一个第一区块链数据在所述第一区块链网络中上链。
- 根据权利要求16~26中任一项所述的平台,其中,所述数据处理模块被配置为:将所述至少一个第一区块链数据写入内存;以及响应于检测到所述第一客户端设备通过预设接口访问所述内存,向所述第一客户端设备发送所述至少一个第一区块链数据,其中,所述第一客户端设备被配置为利用与所述至少一个第一区块链数据各自对应的区块体私钥,对所述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据,调用文本分类服务对所述至少一个第二区块链数据进行归一化处理,得到至少一个第一归一化数据,并将所述至少一个第一归一化数据渲染并展示在所述第一客户端设备的显示界面上。
- 根据权利要求16~26中任一项所述的平台,其中,所述数据处理模块被配置为:响应于来自所述第一客户端设备的数据共享请求,获取所述数据共享请求携带的第一目标区块链数据;对所述第一目标区块链数据进行文本归一化处理,得到第三归一化数据;对所述第三归一化数据进行加密,得到第四归一化数据;以及将所述第四归一化数据在第三区块链网络中上链。
- 根据权利要求29所述的平台,其中,所述数据处理模块被配置为:响应于来自第二客户端设备的数据调用请求,基于所述数据调用请求携带的调用 类型信息,确定数据调用模型;利用所述数据调用模型来处理所述第三区块链网络包括的第四区块链数据,得到第二目标区块链数据,其中,所述第四区块链数据包括所述第四归一化数据;以及对所述第二目标区块链数据进行解密,并向所述第二客户端设备发送解密后的第二目标区块链数据。
- 一种区块链数据处理系统,包括:第一客户端设备、第一区块链网络、区块链数据处理平台和分布式私钥网络;其中,所述区块链数据处理平台被配置为:响应于接收到来自第一客户端设备的数据处理请求,基于所述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;基于所述数据处理请求携带的加密验证信息,对所述第一客户端设备进行确权;在确定所述第一客户端设备完成确权的情况下,向所述第一客户端设备发送所述至少一个第一区块链数据;所述第一客户端设备被配置为:利用与所述至少一个第一区块链数据各自对应的区块体私钥,对所述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
- 根据权利要求31所述的系统,还包括:至少一个第二区块链网络;其中,所述区块链数据处理平台被配置为:响应于所述数据处理请求,在未能从所述第一区块链网络中获取所述至少一个第一区块链数据的情况下,基于所述对象标识信息,分别对至少一个第二区块链网络进行跨链数据获取,得到所述至少一个第一区块链数据。
- 根据权利要求32所述的系统,其中,所述区块链数据处理平台被配置为:在确定所述第一客户端设备完成确权的情况下,向分布式私钥网络发送所述对象标识信息和至少一个所述第一区块链数据;所述分布式私钥网络被配置为:根据所述对象标识信息,利用所述至少一个第二区块链网络各自的区块体私钥,对对应的至少一个所述第一区块链数据进行解密,得到至少一个第二区块链数据。
- 根据权利要求33所述的系统,其中,所述分布式私钥网络被配置为:响应于接收到来自区块链数据处理平台的对象标识信息和至少一个所述第一区块链数据,基于所述对象标识信息,从多个分布式节点中确定至少一个目标节点;基于所述至少一个目标节点各自存储的私钥数据,得到所述至少一个第二区块链网络各自的区块体私钥;利用所述至少一个第二区块链网络各自的区块体私钥,对对应的至少一个所述第一区块链数据进行解密,得到至少一个第二区块链数据;以及向所述区块链数据处理平台发送所述至少一个第二区块链数据。
- 根据权利要求34所述的系统,其中,所述目标节点存储的私钥数据为字符串数据;其中,所述分布式私钥网络被配置为:对于每个所述目标节点,基于所述目标节点存储的私钥数据,得到拼接顺序信息和目标字符串数据;基于所述至少一个目标节点各自的拼接顺序信息,将所述至少一个目标节点各自的目标字符串数据进行拼接,得到目标区块体私钥;以及基于所述区块体私钥的预设字符长度,对所述目标区块体私钥进行切分,得到所述至少一个第二区块链网络各自的区块体私钥。
- 根据权利要求34所述的系统,其中,所述目标节点存储的私钥数据为曲线坐标数据;其中,所述分布式私钥网络被配置为:基于曲线模板,对所述至少一个目标节点各自存储的私钥数据进行曲线拟合,得到目标曲线;将所述目标曲线包括的多个参数值进行拼接,得到目标区块体私钥;以及基于所述区块体私钥的预设字符长度,对所述目标区块体私钥进行切分,得到所述至少一个第二区块链网络各自的区块体私钥。
- 一种区块链数据处理装置,包括:第一获取模块,用于响应于接收到来自第一客户端设备的数据处理请求,基于所述数据处理请求携带的对象标识信息,从第一区块链网络中获取至少一个第一区块链数据;确权模块,用于基于所述数据处理请求携带的加密验证信息,对所述第一客户端设备进行确权;以及第一发送模块,用于在确定所述第一客户端设备完成确权的情况下,向所述第一客户端设备发送所述至少一个第一区块链数据,以便所述第一客户端设备利用与所述至少一个第一区块链数据各自对应的区块体私钥,对所述至少一个第一区块链数据进行解密,得到至少一个第二区块链数据。
- 一种电子设备,包括存储器和处理器,所述存储器中存储有所述处理器可执行的指令,所述指令在由所述处理器执行时使所述处理器执行如权利要求1至15中任一项所述的方法。
- 一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至15中任一项所述的方法。
- 一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至15中任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202380008554.3A CN119072898A (zh) | 2023-03-31 | 2023-03-31 | 区块链数据处理方法、平台、系统、装置和电子设备 |
| PCT/CN2023/085649 WO2024197879A1 (zh) | 2023-03-31 | 2023-03-31 | 区块链数据处理方法、平台、系统、装置和电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/085649 WO2024197879A1 (zh) | 2023-03-31 | 2023-03-31 | 区块链数据处理方法、平台、系统、装置和电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024197879A1 true WO2024197879A1 (zh) | 2024-10-03 |
Family
ID=92903129
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/085649 Ceased WO2024197879A1 (zh) | 2023-03-31 | 2023-03-31 | 区块链数据处理方法、平台、系统、装置和电子设备 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN119072898A (zh) |
| WO (1) | WO2024197879A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119341804A (zh) * | 2024-10-16 | 2025-01-21 | 数字广东网络建设有限公司 | 跨链事务处理方法、装置、电子设备、介质及程序产品 |
| CN120197224A (zh) * | 2025-05-27 | 2025-06-24 | 湖南科研云信息科技有限公司 | 一种基于区块链技术的研发数据管理方法及相关装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210099311A1 (en) * | 2019-09-27 | 2021-04-01 | Divi Labs And Technologies Sociedad Anonima | Remote Blockchain Masternode Deployment |
| CN113742782A (zh) * | 2021-11-04 | 2021-12-03 | 中国信息通信研究院 | 基于隐私保护的区块链访问权限控制方法和区块链系统 |
| CN114679274A (zh) * | 2021-12-31 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 跨子网交互的权限控制方法及装置、电子设备、存储介质 |
| WO2022252941A1 (zh) * | 2021-06-02 | 2022-12-08 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
-
2023
- 2023-03-31 CN CN202380008554.3A patent/CN119072898A/zh active Pending
- 2023-03-31 WO PCT/CN2023/085649 patent/WO2024197879A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210099311A1 (en) * | 2019-09-27 | 2021-04-01 | Divi Labs And Technologies Sociedad Anonima | Remote Blockchain Masternode Deployment |
| WO2022252941A1 (zh) * | 2021-06-02 | 2022-12-08 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
| CN113742782A (zh) * | 2021-11-04 | 2021-12-03 | 中国信息通信研究院 | 基于隐私保护的区块链访问权限控制方法和区块链系统 |
| CN114679274A (zh) * | 2021-12-31 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 跨子网交互的权限控制方法及装置、电子设备、存储介质 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119341804A (zh) * | 2024-10-16 | 2025-01-21 | 数字广东网络建设有限公司 | 跨链事务处理方法、装置、电子设备、介质及程序产品 |
| CN120197224A (zh) * | 2025-05-27 | 2025-06-24 | 湖南科研云信息科技有限公司 | 一种基于区块链技术的研发数据管理方法及相关装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119072898A (zh) | 2024-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7602539B2 (ja) | 量子安全ネットワーキング | |
| US11665147B2 (en) | Blockchain systems and methods for user authentication | |
| US20230023857A1 (en) | Data processing method and apparatus, intelligent device, and storage medium | |
| US10757084B1 (en) | Retrieving access data for blockchain networks using highly available trusted execution environments | |
| US20210367795A1 (en) | Identity-Linked Authentication Through A User Certificate System | |
| EP4092984B1 (en) | Data processing methods and apparatuses | |
| CN111047324B (zh) | 用于更新区块链节点处的公钥集合的方法及装置 | |
| US20190074968A1 (en) | Method, apparatus and system for data encryption and decryption | |
| US10911538B2 (en) | Management of and persistent storage for nodes in a secure cluster | |
| CN108563788A (zh) | 基于区块链的数据查询方法、装置、服务器及存储介质 | |
| CN108055274A (zh) | 一种基于联盟链存储数据的加密与共享方法及系统 | |
| CN114357492A (zh) | 一种基于区块链的医疗数据隐私融合方法及装置 | |
| EP4128692B1 (en) | Service-to-service strong authentication | |
| CN115396113A (zh) | 基于区块链的医疗数据处理方法、装置、计算机设备 | |
| CN113015991A (zh) | 安全的数字钱包处理系统 | |
| MD3883204T2 (ro) | Sistem și metodă pentru generarea, schimbul și gestionare în siguranță a datelor privind identitatea unui utilizator folosind un blockchain | |
| CN119363345B (zh) | 一种数据传输方法、系统、电子设备及存储介质 | |
| WO2024197879A1 (zh) | 区块链数据处理方法、平台、系统、装置和电子设备 | |
| US20220263818A1 (en) | Using a service worker to present a third-party cryptographic credential | |
| Luo et al. | Secure sharing of electronic medical records based on blockchain | |
| US12170720B2 (en) | Location-key encryption system | |
| WO2025092476A1 (zh) | 隐私计算方法、装置、电子设备及存储介质 | |
| Yang et al. | Fast Authenticated and Interoperable Multimedia Healthcare Data over Hybrid-Storage Blockchains | |
| CN116071071B (zh) | 基于区块链的数据要素交易方法、系统、存储介质及设备 | |
| CN118842634A (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: 23929462 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23929462 Country of ref document: EP Kind code of ref document: A1 |