Blockchain relational data verification method, device and system
By generating and processing relational data read/write sets on blockchain node servers, and performing data preprocessing and verification, the flexibility and efficiency issues of data query and integrity verification in blockchain are solved, achieving efficient data verification and query.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INDUSTRIAL AND COMMERCIAL BANK OF CHINA
- Filing Date
- 2022-12-26
- Publication Date
- 2026-07-21
AI Technical Summary
In blockchain scenarios, existing technologies struggle to effectively store and verify relational data while ensuring data query flexibility and integrity verification.
After receiving transaction requests, the blockchain node server executes smart contracts in batches to generate relational data read/write sets, and performs serialization encoding, erasure coding encoding, and three-dimensional encoding to build an index tree. Then, it sends data validity commitments to the blockchain network, receives random challenges, calculates witness data, verifies the data, and records it on the blockchain side.
It enables efficient, flexible, and accurate relational data querying and integrity verification within the blockchain network, ensuring the validity and integrity of the data.
Smart Images

Figure CN115827658B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of blockchain, specifically to a blockchain relational data verification method, apparatus, and system. Background Technology
[0002] In blockchain scenarios where semantic queries are required, a common industry practice is to store the data in a separate relational database for easy retrieval.
[0003] To verify the integrity of data in a relational database, tags need to be added when the data is uploaded to the blockchain, but this reduces the flexibility of queries. However, using a relational database to store the data in the blocks makes integrity verification difficult. Summary of the Invention
[0004] To address the problems in the existing technology, this application provides a blockchain relational data verification method, apparatus, and system, which can effectively, flexibly, and accurately perform blockchain relational data query and integrity verification.
[0005] To solve at least one of the above problems, this application provides the following technical solution:
[0006] In a first aspect, this application provides a blockchain relational data verification method, applied to a relational data computing and storage server connected to a blockchain node server in a blockchain network, the method comprising:
[0007] After receiving a transaction request, the blockchain node server executes the corresponding smart contracts in batches to generate a relational data read / write set, and performs data preprocessing on the relational data read / write set.
[0008] After the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network, so that the blockchain node server returns a random challenge based on the data validity commitment.
[0009] The system receives a random challenge sent by the blockchain node server, calculates the witness data for the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data and record the block data on the blockchain side after the verification is passed.
[0010] Furthermore, the data preprocessing of the relational data read / write set includes:
[0011] After serialization encoding of the relational data read / write set, three-dimensional encoding is performed.
[0012] An index tree for the relational data read / write set is constructed by performing erasure coding on the relational data read / write set after the three-dimensional encoding.
[0013] Further, the step of performing three-dimensional encoding after serializing and encoding the relational data read / write set includes:
[0014] The relational data read / write set sequence after serialization encoding is converted to a three-dimensional integer domain, wherein the first and second dimensions of the three-dimensional integer domain are composed of values corresponding to different keys, and the third dimension of the three-dimensional integer domain is composed of different keys with the same value.
[0015] Secondly, this application provides a blockchain relational data verification method, applied to a blockchain node server connected to a relational data computing and storage server in a blockchain network, the method comprising:
[0016] Receive a data validity commitment sent by a relational data computing and storage server in the blockchain network, wherein the data validity commitment is generated by the relational data computing and storage server batch executing smart contracts to generate a relational data read and write set and performing data preprocessing on the relational data read and write set;
[0017] A random challenge is sent to the relational data computing and storage server based on the data validity commitment, so that the relational data computing and storage server can calculate the witness data of the corresponding data block and return it.
[0018] The system receives witness data sent by the relational data computing and storage server, verifies the witness data, and records the block data on the blockchain side after the verification is passed.
[0019] Furthermore, the verification of the witness data includes:
[0020] Determine whether the root of each dimension index tree of the relational data read / write set corresponds to the root of the overall index tree of the relational data read / write set;
[0021] If yes, the verification result is considered passed; otherwise, it is considered failed.
[0022] Furthermore, the verification of the witness data includes:
[0023] Determine whether the content of each challenged data block corresponds to the content of the corresponding index tree leaf node;
[0024] If yes, the verification result is considered passed; otherwise, it is considered failed.
[0025] Furthermore, the verification of the witness data includes:
[0026] Input the three-dimensional encoded relational data read / write set into the preset original data recovery function for message sampling;
[0027] Determine whether the root of the index tree obtained by reconstructing the sampled message has not changed. If so, the verification result is considered passed; otherwise, it is considered failed.
[0028] Thirdly, this application provides a blockchain relational data verification device, comprising:
[0029] The read-write set generation module is used to batch execute the corresponding smart contracts after the blockchain node server receives a transaction request, generate a relational data read-write set, and perform data preprocessing on the relational data read-write set;
[0030] The commitment sending module is used to send the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network after the data preprocessing, so that the blockchain node server returns a random challenge based on the data validity commitment;
[0031] The challenge witnessing module is used to receive random challenges sent by the blockchain node server, calculate the witnessing data of the corresponding data block, and return the witnessing data to the blockchain node server so that the blockchain node server can verify the witnessing data and record the block data on the blockchain side after the verification is passed.
[0032] Furthermore, the read / write set generation module includes:
[0033] A three-dimensional encoding unit is used to perform three-dimensional encoding after serializing the relational data read / write set;
[0034] The index tree construction unit is used to construct an index tree for the relational data read / write set after erasure coding of the relational data read / write set after the three-dimensional encoding.
[0035] Fourthly, this application provides a blockchain relational data verification device, comprising:
[0036] The commitment receiving module is used to receive data validity commitments sent by the relational data computing and storage server in the blockchain network. The data validity commitment is generated by the relational data computing and storage server batch executing smart contracts to generate relational data read and write sets and performing data preprocessing on the relational data read and write sets.
[0037] The random challenge module is used to send a random challenge to the relational data computing and storage server based on the data validity commitment, so that the relational data computing and storage server can calculate the witness data of the corresponding data block and return it.
[0038] The data verification module is used to receive witness data sent by the relational data computing and storage server, verify the witness data, and record the block data on the blockchain side after the verification is passed.
[0039] Furthermore, the data verification module includes:
[0040] The index tree judgment unit is used to determine whether the root of the index tree in each dimension of the relational data read / write set corresponds to the root of the total index tree of the relational data read / write set;
[0041] The index tree judgment result unit is used to determine the verification result as passed if the result is true, and failed otherwise.
[0042] Furthermore, the data verification module includes:
[0043] The content judgment unit is used to determine whether the content of each challenged data block corresponds to the content of the corresponding index tree leaf node;
[0044] The content determination result unit is used to determine the verification result as passed if the content is true, and as failed otherwise.
[0045] Furthermore, the data verification module includes:
[0046] The message sampling unit is used to input the three-dimensional encoded relational data read / write set into a preset original data recovery function for message sampling.
[0047] The sampling verification unit is used to determine whether the root of the index tree obtained by reconstructing the sampled message has not changed. If so, the verification result is considered to be passed; otherwise, it is considered to be failed.
[0048] Fifthly, this application provides a blockchain relational data verification system, including a blockchain node server and a relational data computing and storage server in a blockchain network;
[0049] The relational data computing and storage server includes:
[0050] The read-write set generation module is used to batch execute the corresponding smart contracts after the blockchain node server receives a transaction request, generate a relational data read-write set, and perform data preprocessing on the relational data read-write set;
[0051] The commitment sending module is used to send the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network after the data preprocessing.
[0052] The challenge witnessing module is used to receive random challenges sent by the blockchain node server, calculate the witnessing data of the corresponding data block, and return the witnessing data to the blockchain node server.
[0053] The blockchain node server includes:
[0054] The commitment receiving module is used to receive data validity commitments sent by relational data computing and storage servers in the blockchain network;
[0055] The random challenge module is used to send a random challenge to the relational data computing and storage server based on the data validity commitment;
[0056] The data verification module is used to receive witness data sent by the relational data computing and storage server, verify the witness data, and record the block data on the blockchain side after the verification is passed.
[0057] Sixthly, this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the blockchain relational data verification method.
[0058] In a seventh aspect, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the blockchain relational data verification method.
[0059] Eighthly, this application provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the blockchain relational data verification method.
[0060] As can be seen from the above technical solution, this application provides a blockchain relational data verification method, apparatus, and system. After receiving a transaction request, the blockchain node server executes the corresponding smart contract in batches to generate a relational data read / write set, and preprocesses the relational data read / write set. After the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network. The system receives a random challenge sent by the blockchain node server, calculates the witness data for the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data. After the verification is successful, the blockchain-side block data is recorded. This enables effective, flexible, and accurate blockchain relational data querying and integrity verification. Attached Figure Description
[0061] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0062] Figure 1 This is one of the flowcharts illustrating the blockchain relational data verification method in this application embodiment;
[0063] Figure 2 This is the second flowchart illustrating the blockchain relational data verification method in this application embodiment;
[0064] Figure 3 This is the third flowchart illustrating the blockchain relational data verification method in this application embodiment;
[0065] Figure 4 This is the fourth flowchart illustrating the blockchain relational data verification method in the embodiments of this application;
[0066] Figure 5 This is the fifth flowchart illustrating the blockchain relational data verification method in this application embodiment;
[0067] Figure 6 This is the sixth flowchart illustrating the blockchain relational data verification method in the embodiments of this application;
[0068] Figure 7 This is one of the structural diagrams of the blockchain relational data verification device in the embodiments of this application;
[0069] Figure 8 This is the second structural diagram of the blockchain relational data verification device in the embodiments of this application;
[0070] Figure 9 This is the third structural diagram of the blockchain relational data verification device in the embodiments of this application;
[0071] Figure 10 This is the fourth structural diagram of the blockchain relational data verification device in the embodiments of this application;
[0072] Figure 11 This is the fifth structural diagram of the blockchain relational data verification device in the embodiments of this application;
[0073] Figure 12 This is the sixth structural diagram of the blockchain relational data verification device in the embodiments of this application;
[0074] Figure 13This is a structural diagram of the blockchain relational data verification system in the embodiments of this application;
[0075] Figure 14 This is a blockchain network topology diagram in a specific embodiment of this application;
[0076] Figure 15 This is a schematic diagram of data preprocessing in a specific embodiment of this application;
[0077] Figure 16 This is a schematic diagram of the interaction process in a specific embodiment of this application;
[0078] Figure 17 This is a schematic diagram of the structure of the electronic device in the embodiments of this application. Detailed Implementation
[0079] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0080] The acquisition, storage, use, and processing of data in this application all comply with the relevant provisions of national laws and regulations.
[0081] In view of the problems existing in the prior art, this application provides a blockchain relational data verification method, apparatus and system. After receiving a transaction request, the blockchain node server executes the corresponding smart contract in batches to generate a relational data read / write set, and preprocesses the relational data read / write set. After the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network. The system receives a random challenge sent by the blockchain node server, calculates the witness data for the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data. After the verification is successful, the blockchain-side block data is recorded. This enables effective, flexible and accurate blockchain relational data query and integrity verification.
[0082] To enable effective, flexible, and accurate querying and integrity verification of blockchain relational data, this application provides an embodiment of a blockchain relational data verification method, applied to a relational data computing and storage server connected to a blockchain node server in a blockchain network. See [link to implementation details]. Figure 1 The blockchain relational data verification method specifically includes the following:
[0083] Step S101: After receiving a transaction request, the blockchain node server executes the corresponding smart contracts in batches to generate a relational data read / write set and performs data preprocessing on the relational data read / write set.
[0084] Optionally, in this application, after the blockchain node server receives a transaction, it triggers the relational data computing and storage server to execute a smart contract.
[0085] The relational data computing and storage server executes smart contracts in batches, generating a series of relational data read / write sets. Preprocessing is then performed on these read / write sets, including serialization encoding, erasure coding, 3D encoding, and generating a Merkle tree index. The preprocessing flow is shown below. Specifically, 3D encoding transforms the encoded read / write set data sequence into a 3D integer field. The first and second dimensions represent the format of the values corresponding to different keys, while the third dimension represents the different fields of the same value in the relational data.
[0086] Step S102: After the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network, so that the blockchain node server returns a random challenge based on the data validity commitment.
[0087] Optionally, witness data can be calculated for each record in the relational data read / write set. Based on the witness data, this patent proposes a new data validity commitment to ensure that the relational data read / write set meets expectations. The data validity commitment is then sent to the blockchain node server after calculation.
[0088] The data validity commitment covers all dimensions of the relational data read / write set, totaling 3k. 2 The index of the Merkle tree root Merkle tree root (rwsetRoot) for relational data read / write sets i Where (x,y,z)∈{Z k×1×1 orZ 1×k×1 or Z 1×1×k}
[0089] Step S103: Receive the random challenge sent by the blockchain node server and calculate the witness data of the corresponding data block, return the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and record the block data on the blockchain side after the verification is passed.
[0090] Optionally, the blockchain node server verifies the data validity commitment and initiates random challenges {(x0,y0,z0),(x1,y1,z1),...,(x m ,y m ,z m )}.
[0091] Optionally, the relational data computation and storage server is based on a random challenge (x) of multiple data blocks. a ,y a ,z a ), calculate the witness data for the corresponding data blocks respectively. And return it to the blockchain node. Among them... It can be The root of the index Merkle tree is constructed from the vector data block obtained after fixing any two-dimensional coordinates.
[0092] The blockchain node server verifies the witness data for the corresponding data block, and only records the block data on the blockchain side after successful verification. The verification calculation method is as follows:
[0093]
[0094] As described above, the blockchain relational data verification method provided in this application can generate a relational data read / write set by batch executing the corresponding smart contract after receiving a transaction request on the blockchain node server, and preprocess the relational data read / write set; after the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network; the method receives a random challenge sent by the blockchain node server and calculates the witness data of the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and after the verification is passed, the blockchain side performs block data accounting, thereby enabling effective, flexible and accurate blockchain relational data query and integrity verification.
[0095] In one embodiment of the blockchain relational data verification method of this application, see [link to relevant documentation]. Figure 2 It can also specifically include the following:
[0096] Step S201: After serializing and encoding the relational data read / write set, perform three-dimensional encoding.
[0097] Step S202: After erasure coding is performed on the relational data read / write set after the three-dimensional encoding, an index tree of the relational data read / write set is constructed.
[0098] Optionally, the relational data computing and storage server executes smart contracts in batches, generating a series of relational data read / write sets. Preprocessing is then performed on these read / write sets, including: serialization encoding, erasure coding, 3D encoding, and generating a Merkle tree index. The preprocessing flow is shown below. 3D encoding transforms the encoded read / write set data sequence into a 3D integer field. The first and second dimensions represent the format of the values corresponding to different keys, while the third dimension represents the different fields of the same value in the relational data.
[0099] In one embodiment of the blockchain relational data verification method of this application, the step of performing three-dimensional encoding after serializing and encoding the relational data read / write set includes:
[0100] The relational data read / write set sequence after serialization encoding is converted to a three-dimensional integer domain, wherein the first and second dimensions of the three-dimensional integer domain are composed of values corresponding to different keys, and the third dimension of the three-dimensional integer domain is composed of different keys with the same value.
[0101] To enable effective, flexible, and accurate querying and integrity verification of blockchain relational data, this application provides an embodiment of a blockchain relational data verification method, applied to a blockchain node server connected to a relational data computing and storage server in a blockchain network. See [link to implementation details]. Figure 3 The blockchain relational data verification method specifically includes the following:
[0102] Step S301: Receive a data validity commitment sent by the relational data computing and storage server in the blockchain network, wherein the data validity commitment is generated by the relational data computing and storage server batch executing smart contracts to generate relational data read and write sets and performing data preprocessing on the relational data read and write sets.
[0103] Step S302: Send a random challenge to the relational data computing and storage server according to the data validity commitment, so that the relational data computing and storage server can calculate the witness data of the corresponding data block and return it.
[0104] Step S303: Receive witness data sent by the relational data computing and storage server, verify the witness data, and record the block data on the blockchain side after the verification is passed.
[0105] As described above, the blockchain relational data verification method provided in this application can generate a relational data read / write set by batch executing the corresponding smart contract after receiving a transaction request on the blockchain node server, and preprocess the relational data read / write set; after the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network; the method receives a random challenge sent by the blockchain node server and calculates the witness data of the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and after the verification is passed, the blockchain side performs block data accounting, thereby enabling effective, flexible and accurate blockchain relational data query and integrity verification.
[0106] In one embodiment of the blockchain relational data verification method of this application, see [link to relevant documentation]. Figure 4 It can also specifically include the following:
[0107] Step S401: Determine whether the root of each dimension index tree of the relational data read / write set corresponds to the root of the total index tree of the relational data read / write set.
[0108] Step S402: If yes, the verification result is considered passed; otherwise, it is considered failed.
[0109] Specifically, determine the root of the Merkle tree index for each dimension of the relational data read / write set. Merkle tree root (rwsetRoot) for relational data read / write sets i The corresponding Merkle proof holds, that is Returns true.
[0110] In one embodiment of the blockchain relational data verification method of this application, see [link to relevant documentation]. Figure 5 It can also specifically include the following:
[0111] Step S501: Determine whether the content of each challenged data block corresponds to the content of the corresponding index tree leaf node.
[0112] Step S502: If yes, the verification result is considered passed; otherwise, it is considered failed.
[0113] Specifically, the content and location of each data block that is challenged. Right now It is the axis a Vimerkle subtree The last post a The content of each leaf node is used to determine... and rwsetRoot iThe corresponding Merkle proof holds, that is return true.
[0114] In an embodiment of the blockchain relational data verification method of the present application, see Figure 6 it may specifically include the following content:
[0115] Step S601: Input the three-dimensionally encoded relational data read-write set into a preset original data recovery function for message sampling.
[0116] Step S602: Determine whether the index tree root obtained by reconstructing the sampled message has changed. If so, determine that the verification result is passed; otherwise, determine that it fails.
[0117] Specifically, introduce the original data recovery function recover. The input of the function is m + 1 (m + 1 < k) messages of a certain dimension of the three-dimensionally encoded relational data read-write set, and the output is a complete row or column of data or an error message.
[0118]
[0119] Judge that the root of the Merkle tree reconstructed from the m + 1 sampled messages is the Merkle root of the relational data read-write set index of a certain dimension in the proof That is
[0120]
[0121] After the verification passes, the blockchain node server broadcasts and forwards the result to other relational data calculation and storage servers that do not have this part of the data.
[0122] If the number of verified data in the previous step is large enough, the blockchain node server starts a challenge period. Under the network maximum delay model, the time length of the challenge period is 2 times the maximum network delay, which is used to execute the state anti-fraud proof reception and verification.
[0123] In order to effectively, flexibly and accurately perform blockchain relational data query and integrity verification, the present application provides an embodiment of a blockchain relational data verification device for implementing all or part of the content of the blockchain relational data verification method. See Figure 7 The blockchain relational data verification device specifically includes the following content:
[0124] A read-write set generation module 11, configured to batch execute corresponding smart contracts after the blockchain node server receives a transaction request, generate a relational data read-write set, and perform data preprocessing on the relational data read-write set.
[0125] The commitment sending module 12 is used to send the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network after the data preprocessing, so that the blockchain node server returns a random challenge based on the data validity commitment.
[0126] The challenge witness module 13 is used to receive random challenges sent by the blockchain node server, calculate the witness data of the corresponding data block, and return the witness data to the blockchain node server so that the blockchain node server can verify the witness data and record the block data on the blockchain side after the verification is passed.
[0127] As described above, the blockchain relational data verification device provided in this application embodiment can generate a relational data read / write set by batch executing the corresponding smart contract after receiving a transaction request on the blockchain node server, and preprocess the relational data read / write set; after the data preprocessing, the device sends the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network; receives the random challenge sent by the blockchain node server and calculates the witness data of the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and after the verification is passed, performs block data accounting on the blockchain side. Thus, it can effectively, flexibly and accurately perform blockchain relational data query and integrity verification.
[0128] In one embodiment of the blockchain relational data verification device of this application, see [link to embodiment]. Figure 8 The read / write set generation module 11 includes:
[0129] The three-dimensional encoding unit 111 is used to perform three-dimensional encoding after serializing the relational data read / write set.
[0130] The index tree construction unit 112 is used to construct an index tree for the relational data read / write set after erasure coding of the relational data read / write set after the three-dimensional encoding.
[0131] To enable effective, flexible, and accurate blockchain relational data querying and integrity verification, this application provides an embodiment of a blockchain relational data verification device for implementing all or part of the aforementioned blockchain relational data verification method. See [link to embodiment]. Figure 9 The blockchain relational data verification device specifically includes the following components:
[0132] The commitment receiving module 21 is used to receive data validity commitments sent by the relational data computing and storage server in the blockchain network. The data validity commitment is generated by the relational data computing and storage server executing smart contracts in batches, generating relational data read and write sets, and performing data preprocessing on the relational data read and write sets.
[0133] The random challenge module 22 is used to send a random challenge to the relational data computing and storage server based on the data validity commitment, so that the relational data computing and storage server can calculate the witness data of the corresponding data block and return it.
[0134] The data verification module 23 is used to receive the witness data sent by the relational data computing and storage server, verify the witness data, and record the block data on the blockchain side after the verification is passed.
[0135] As described above, the blockchain relational data verification device provided in this application embodiment can generate a relational data read / write set by batch executing the corresponding smart contract after receiving a transaction request on the blockchain node server, and preprocess the relational data read / write set; after the data preprocessing, the device sends the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network; receives the random challenge sent by the blockchain node server and calculates the witness data of the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and after the verification is passed, performs block data accounting on the blockchain side. Thus, it can effectively, flexibly and accurately perform blockchain relational data query and integrity verification.
[0136] In one embodiment of the blockchain relational data verification device of this application, see [link to embodiment]. Figure 10 The data verification module 23 includes:
[0137] The index tree judgment unit 231 is used to determine whether the root of each dimension of the relational data read and write set corresponds to the root of the total index tree of the relational data read and write set.
[0138] Index tree determination result unit 232 is used to determine the verification result as passed if the result is true, otherwise it is determined as failed.
[0139] In one embodiment of the blockchain relational data verification device of this application, see [link to embodiment]. Figure 11 The data verification module 23 includes:
[0140] The content judgment unit 233 is used to determine whether the content of each challenged data block corresponds to the content of the corresponding index tree leaf node.
[0141] Content determination result unit 234 is used to determine the verification result as passed if the content is true, and to determine the content as failed otherwise.
[0142] In one embodiment of the blockchain relational data verification device of this application, see [link to embodiment]. Figure 12 The data verification module 23 includes:
[0143] The message sampling unit 235 is used to input the three-dimensional encoded relational data read / write set into a preset original data recovery function for message sampling.
[0144] The sampling verification unit 236 is used to determine whether the root of the index tree obtained by reconstructing the sampled message has not changed. If so, the verification result is determined to be passed; otherwise, it is determined to be failed.
[0145] To further illustrate this solution, this application also provides a specific application example of a system that uses the aforementioned blockchain relational data verification device to implement the blockchain relational data verification method. See [link to application example]. Figure 13 Specifically, it includes the following: blockchain node server 10 and relational data computing and storage server 20 in the blockchain network.
[0146] The relational data computing and storage server 10 includes:
[0147] The read-write set generation module 11 is used to batch execute the corresponding smart contracts after the blockchain node server receives the transaction request, generate relational data read-write sets, and perform data preprocessing on the relational data read-write sets.
[0148] The commitment sending module 12 is used to send the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network after the data preprocessing.
[0149] The challenge witness module 13 is used to receive random challenges sent by the blockchain node server, calculate the witness data of the corresponding data block, and return the witness data to the blockchain node server.
[0150] The blockchain node server 20 includes:
[0151] The commitment receiving module 21 is used to receive data validity commitments sent by relational data computing and storage servers in the blockchain network.
[0152] The random challenge module 22 is used to send a random challenge to the relational data computing and storage server based on the data validity commitment.
[0153] The data verification module 23 is used to receive the witness data sent by the relational data computing and storage server, verify the witness data, and record the block data on the blockchain side after the verification is passed.
[0154] As described above, the blockchain relational data verification system provided in this application embodiment can generate a relational data read / write set by batch executing the corresponding smart contract after receiving a transaction request on the blockchain node server, and preprocess the data on the relational data read / write set; after the data preprocessing, the system sends the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network; receives the random challenge sent by the blockchain node server and calculates the witness data of the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and after the verification is passed, performs the block data accounting on the blockchain side. Thus, it can effectively, flexibly and accurately perform blockchain relational data query and integrity verification.
[0155] In one specific embodiment of this application, the blockchain network topology is as follows: Figure 14 Blockchain node servers are interconnected, as are relational data computing and storage servers. The connections between blockchain node servers and relational data computing and storage servers are one-to-many relationships. We assume that the communication latency between any nodes satisfies the network maximum latency model. At least one of the multiple relational data computing and storage servers connected to a blockchain node server is honest, and malicious relational data computing and storage servers do not constitute a majority of the cluster.
[0156] The blockchain node server is responsible for functions such as recording block data, verifying transaction execution results, and verifying the integrity of relational data.
[0157] The relational data computation and storage server is responsible for performing transaction execution calculations based on the smart contract source code. The calculation results are relational data, and the storage of this relational data, after completing the computation and storage according to the data processing flow specified in this patent, provides a data validity commitment to the blockchain node server. In response to random challenges from other nodes, the honest relational data computation and storage server can provide a fraud prevention commitment for state transitions.
[0158] Specifically, the interaction process of relational data computation and integrity verification involves two parties: the relational data computation and storage server and the blockchain node server.
[0159] 1. After receiving a transaction, the blockchain node server triggers the relational data computing and storage server to execute the smart contract.
[0160] 2. The relational data computing and storage server executes smart contracts in batches, generating a series of relational data read / write sets. Preprocessing is then performed on these sets, including serialization encoding, erasure coding, 3D encoding, and generating a Merkle tree index. The preprocessing flow is as follows: Figure 15 As shown. Among them, three-dimensional encoding is to transform the read and write set data sequence after a series of encodings into a three-dimensional integer field. The first and second dimensions are the format of the values corresponding to different keys, and the third dimension is the format of different fields of the same value in relational data.
[0161] Understandably, there are several reasons for adopting three-dimensional encoding: First, if one-dimensional encoding is used, where all records of relational data are directly laid out on the leaves of the Merkle tree index, the depth of the Merkle tree index will be greater, and the size of the subsequently calculated witness data will also be larger, which will reduce the efficiency for interactions on a mesh network composed of nodes; Second, if two-dimensional encoding is used, where all fields of a record of relational data are mixed together, selective disclosure of a specific field of a record of relational data is not possible, and the commitments constructed later are not flexible enough in use; Third, if higher-dimensional encoding is used, the computational cost of erasure coding and constructing the Merkle tree index after higher-dimensional encoding will become too large, making it unnecessary to construct a higher-dimensional data structure.
[0162] Each record in the relational data read / write set can be used to calculate witness data. Based on the witness data, this patent proposes a new data validity commitment to ensure that the relational data read / write set meets expectations. After calculating the data validity commitment, it is sent to the blockchain node server.
[0163] The data validity commitment covers all dimensions of the relational data read / write set, totaling 3k. 2 The index of the Merkle tree root Merkle tree root (rwsetRoot) for relational data read / write sets i Where (x,y,z)∈{Z k×1×1 orZ 1×k×1 or Z 1×1×k}
[0164] 1. Blockchain node servers verify data validity commitments and initiate random challenges {(x0,y0,z0),(x1,y1,z1),...,(x m ,y m ,z m )}.
[0165] 2. Relational data computing and storage servers based on random challenges (x) across multiple data blocks. a ,ya , z a ), calculate the witness data of the corresponding data block respectively and return it to the blockchain node. Among them can be the index Merkle root constructed by the vector data block obtained after fixing any two-dimensional coordinates where it is located
[0166] 3. The blockchain node server verifies the witness data of the corresponding data block, and only records the block data on the blockchain side after passing the verification. The verification calculation method is
[0167]
[0168] When the following three conditions are met, it is considered that the random challenge verification function returns true and the corresponding data block of the data validity commitment passes the verification
[0169] a. Judge the Merkle root of each dimension index of the relational data read-write set and the total index Merkle root rwsetRoot of the relational data read-write set i The corresponding Merkle proof holds, that is returns true
[0170] b. For the content and position of each data block challenged that is is the content of the pos a th leaf node on the merkle subtree of the axis a th dimension. Judge and rwsetRoot i The corresponding Merkle proof holds, that is returns true
[0171] c. Introduce the original data recovery function recover. The input of the function is m + 1 (m + 1 < k) messages of a certain dimension of the encoded three-dimensional relational data read-write set, and the output is a complete row or column of data or an error message
[0172]
[0173] Judge that the root of the Merkle tree reconstructed from the m + 1 sampled messages is the Merkle root of the index of the relational data read-write set in a certain dimension in the proof that is
[0174]
[0175] Once the verification is successful, the blockchain node server will broadcast and forward the result to other relational data computing and storage servers that do not have this data.
[0176] If the amount of data that passes the verification in the previous step is sufficient, the blockchain node server initiates a challenge cycle. Under the maximum network latency model, the challenge cycle duration is twice the maximum network latency, used for receiving and verifying state fraud prevention proofs. See details... Figure 16 .
[0177] From a hardware perspective, in order to effectively, flexibly, and accurately perform blockchain relational data queries and integrity verification, this application provides an embodiment of an electronic device for implementing all or part of the aforementioned blockchain relational data verification method. The electronic device specifically includes the following components:
[0178] The system comprises a processor, memory, a communications interface, and a bus; wherein the processor, memory, and communications interface communicate with each other via the bus; the communications interface is used to realize information transmission between the blockchain relational data verification device and core business systems, user terminals, and related databases and other related devices; the logic controller can be a desktop computer, tablet computer, or mobile terminal, etc., and this embodiment is not limited to these. In this embodiment, the logic controller can be implemented with reference to the embodiments of the blockchain relational data verification method and the blockchain relational data verification device in the embodiments, the content of which is incorporated herein, and repeated details will not be described again.
[0179] It is understood that the user terminal may include smartphones, tablet computers, network set-top boxes, portable computers, desktop computers, personal digital assistants (PDAs), in-vehicle devices, smart wearable devices, etc. Among these, the smart wearable devices may include smart glasses, smartwatches, smart bracelets, etc.
[0180] In practical applications, the blockchain relational data verification method can be partially executed on the electronic device side as described above, or all operations can be completed on the client device. The choice can be made based on the processing power of the client device and the limitations of the user's usage scenario. This application does not impose any limitations on this. If all operations are completed on the client device, the client device may further include a processor.
[0181] The aforementioned client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission. The server may include a server on the task scheduling center side; in other implementation scenarios, it may also include a server on an intermediate platform, such as a server on a third-party server platform that has a communication link with the task scheduling center server. The server may include a single computer device, a server cluster consisting of multiple servers, or a distributed server structure.
[0182] Figure 17 This is a schematic block diagram illustrating the system configuration of the electronic device 9600 according to an embodiment of this application. Figure 17 As shown, the electronic device 9600 may include a central processing unit 9100 and a memory 9140; the memory 9140 is coupled to the central processing unit 9100. It is worth noting that... Figure 17 This is an example; other types of structures can also be used to supplement or replace this structure to achieve telecommunications functions or other functions.
[0183] In one embodiment, the blockchain relational data verification method functionality can be integrated into the central processing unit 9100. The central processing unit 9100 can be configured to perform the following controls:
[0184] Step S101: After receiving a transaction request, the blockchain node server executes the corresponding smart contracts in batches to generate a relational data read / write set and performs data preprocessing on the relational data read / write set.
[0185] Step S102: After the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network, so that the blockchain node server returns a random challenge based on the data validity commitment.
[0186] Step S103: Receive the random challenge sent by the blockchain node server and calculate the witness data of the corresponding data block, return the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and record the block data on the blockchain side after the verification is passed.
[0187] As described above, the electronic device provided in this application embodiment generates a relational data read / write set by batch executing the corresponding smart contract after receiving a transaction request from the blockchain node server, and performs data preprocessing on the relational data read / write set; after the data preprocessing, it sends the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network; it receives a random challenge sent by the blockchain node server and calculates the witness data of the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and after the verification is passed, it performs block data accounting on the blockchain side. Thus, it can effectively, flexibly and accurately perform blockchain relational data query and integrity verification.
[0188] In another embodiment, the blockchain relational data verification device can be configured separately from the central processing unit 9100. For example, the blockchain relational data verification device can be configured as a chip connected to the central processing unit 9100, and the blockchain relational data verification method function can be implemented through the control of the central processing unit.
[0189] like Figure 17 As shown, the electronic device 9600 may further include: a communication module 9110, an input unit 9120, an audio processor 9130, a display 9160, and a power supply 9170. It is worth noting that the electronic device 9600 does not necessarily need to include these components. Figure 17 All components shown; in addition, the electronic device 9600 may also include Figure 17 For components not shown, please refer to existing technologies.
[0190] like Figure 17 As shown, the central processing unit 9100, sometimes also referred to as a controller or operating control, may include a microprocessor or other processor device and / or logic device, which receives inputs and controls the operation of various components of the electronic device 9600.
[0191] The memory 9140 may be, for example, one or more of a cache, flash memory, hard drive, removable media, volatile memory, non-volatile memory, or other suitable devices. It may store the aforementioned failure-related information, and also store a program for executing that information. The central processing unit 9100 may execute the program stored in the memory 9140 to perform information storage or processing, etc.
[0192] Input unit 9120 provides input to central processing unit 9100. Input unit 9120 may be, for example, a keypad or touch input device. Power supply 9170 provides power to electronic device 9600. Display 9160 displays images and text. Display may be, for example, an LCD display, but is not limited thereto.
[0193] The memory 9140 can be a solid-state memory, such as a read-only memory (ROM), random access memory (RAM), a SIM card, etc. It can also be a memory that retains information even when power is off, can be selectively erased, and contains more data; examples of this type of memory are sometimes referred to as EPROMs. The memory 9140 can also be some other type of device. The memory 9140 includes a buffer memory 9141 (sometimes referred to as a buffer). The memory 9140 may include an application / function storage unit 9142 for storing application programs and function programs or processes for executing the operation of the electronic device 9600 via the central processing unit 9100.
[0194] The memory 9140 may also include a data storage unit 9143 for storing data, such as contacts, digital data, pictures, sounds, and / or any other data used by the electronic device. The driver storage unit 9144 of the memory 9140 may include various drivers for the electronic device's communication functions and / or for performing other functions of the electronic device (such as messaging applications, address book applications, etc.).
[0195] The communication module 9110 is a transmitter / receiver 9110 that transmits and receives signals via the antenna 9111. The communication module (transmitter / receiver) 9110 is coupled to the central processing unit 9100 to provide input signals and receive output signals, which can be the same as in a conventional mobile communication terminal.
[0196] Based on different communication technologies, multiple communication modules 9110 can be configured in the same electronic device, such as cellular network modules, Bluetooth modules, and / or wireless LAN modules. The communication module (transmitter / receiver) 9110 is also coupled to a speaker 9131 and a microphone 9132 via an audio processor 9130 to provide audio output via the speaker 9131 and receive audio input from the microphone 9132, thereby realizing typical telecommunications functions. The audio processor 9130 may include any suitable buffer, decoder, amplifier, etc. Additionally, the audio processor 9130 is coupled to a central processing unit 9100, enabling on-device recording via the microphone 9132 and on-device playback of stored sound via the speaker 9131.
[0197] Embodiments of this application also provide a computer-readable storage medium capable of implementing all steps of the blockchain relational data verification method with a server or client as the execution subject in the above embodiments. The computer-readable storage medium stores a computer program that, when executed by a processor, implements all steps of the blockchain relational data verification method with a server or client as the execution subject in the above embodiments. For example, when the processor executes the computer program, it implements the following steps:
[0198] Step S101: After receiving a transaction request, the blockchain node server executes the corresponding smart contracts in batches to generate a relational data read / write set and performs data preprocessing on the relational data read / write set.
[0199] Step S102: After the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network, so that the blockchain node server returns a random challenge based on the data validity commitment.
[0200] Step S103: Receive the random challenge sent by the blockchain node server and calculate the witness data of the corresponding data block, return the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and record the block data on the blockchain side after the verification is passed.
[0201] As described above, the computer-readable storage medium provided in this application embodiment generates a relational data read / write set by batch executing the corresponding smart contract after receiving a transaction request from the blockchain node server, and performs data preprocessing on the relational data read / write set; after the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network; the medium receives a random challenge sent by the blockchain node server and calculates the witness data of the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and after the verification is passed, it performs block data accounting on the blockchain side. Thus, it can effectively, flexibly and accurately perform blockchain relational data query and integrity verification.
[0202] Embodiments of this application also provide a computer program product capable of implementing all steps of the blockchain relational data verification method with the execution subject being a server or client in the above embodiments. When executed by a processor, this computer program / instruction implements the steps of the blockchain relational data verification method. For example, the computer program / instruction implements the following steps:
[0203] Step S101: After receiving a transaction request, the blockchain node server executes the corresponding smart contracts in batches to generate a relational data read / write set and performs data preprocessing on the relational data read / write set.
[0204] Step S102: After the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network, so that the blockchain node server returns a random challenge based on the data validity commitment.
[0205] Step S103: Receive the random challenge sent by the blockchain node server and calculate the witness data of the corresponding data block, return the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and record the block data on the blockchain side after the verification is passed.
[0206] As described above, the computer program product provided in this application, after receiving a transaction request on the blockchain node server, executes the corresponding smart contract in batches to generate a relational data read / write set, and performs data preprocessing on the relational data read / write set; after the data preprocessing, it sends the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network; it receives a random challenge sent by the blockchain node server and calculates the witness data of the corresponding data block, and returns the witness data to the blockchain node server so that the blockchain node server can verify the witness data, and after the verification is passed, it performs block data accounting on the blockchain side. Thus, it can effectively, flexibly and accurately perform blockchain relational data query and integrity verification.
[0207] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0208] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0209] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0210] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0211] Specific embodiments have been used to illustrate the principles and implementation methods of this invention. The descriptions of the embodiments above are only for the purpose of helping to understand the method and core ideas of this invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this invention. Therefore, the content of this specification should not be construed as a limitation of this invention.
Claims
1. A blockchain relational data verification method, characterized in that, A relational data computing and storage server applied in a blockchain network and connected to a blockchain node server, the method comprising: After receiving a transaction request, the blockchain node server executes the corresponding smart contracts in batches to generate a relational data read / write set, and performs data preprocessing on the relational data read / write set. After the data preprocessing, the data validity commitment corresponding to the relational data read / write set is sent to the blockchain node server in the blockchain network, so that the blockchain node server returns a random challenge based on the data validity commitment. The system receives a random challenge sent by the blockchain node server and calculates the witness data for the corresponding data block. The witness data is then returned to the blockchain node server so that the blockchain node server can verify the witness data and record the block data on the blockchain side after the verification is passed. The data preprocessing of the relational data read / write set includes: The sequence of relational data read / write sets after serialization encoding is converted to a three-dimensional integer domain, wherein the first and second dimensions of the three-dimensional integer domain are composed of values corresponding to different keys, and the third dimension of the three-dimensional integer domain is composed of different keys with the same value; An index tree for the relational data read / write set is constructed by performing erasure coding on the relational data read / write set after 3D encoding.
2. A blockchain relational data verification method, characterized in that, A method for using a blockchain node server connected to a relational data computing and storage server in a blockchain network, the method comprising: Receive a data validity commitment sent by a relational data computing and storage server in the blockchain network, wherein the data validity commitment is generated by the relational data computing and storage server batch executing smart contracts to generate a relational data read and write set and performing data preprocessing on the relational data read and write set; A random challenge is sent to the relational data computing and storage server based on the data validity commitment, so that the relational data computing and storage server can calculate the witness data of the corresponding data block and return it. Receive witness data sent by the relational data computing and storage server, verify the witness data, and record the block data on the blockchain side after the verification is passed; The data preprocessing of the relational data read / write set includes: The relational data computing and storage server connected to the blockchain node server in the blockchain network converts the serialized and encoded relational data read and write set sequence into a three-dimensional integer domain. The first and second dimensions of the three-dimensional integer domain are composed of values corresponding to different keys, and the third dimension of the three-dimensional integer domain is composed of different keys with the same value. An index tree for the relational data read / write set is constructed by performing erasure coding on the relational data read / write set after 3D encoding.
3. The blockchain relational data verification method according to claim 2, characterized in that, The verification of the witness data includes: Determine whether the root of each dimension index tree of the relational data read / write set corresponds to the root of the overall index tree of the relational data read / write set; If yes, the verification result is considered passed; otherwise, it is considered failed.
4. The blockchain relational data verification method according to claim 2, characterized in that, The verification of the witness data includes: Determine whether the content of each challenged data block corresponds to the content of the corresponding index tree leaf node.
5. The blockchain relational data verification method according to claim 2, characterized in that, The verification of the witness data includes: Input the three-dimensional encoded relational data read / write set into the preset original data recovery function for message sampling; Determine whether the root of the index tree obtained by reconstructing the sampled message has not changed. If so, the verification result is considered passed; otherwise, it is considered failed.
6. A blockchain relational data verification device, characterized in that, Relational data computing and storage servers used in blockchain networks to connect to blockchain node servers include: The read-write set generation module is used to batch execute the corresponding smart contracts after the blockchain node server receives a transaction request, generate a relational data read-write set, and perform data preprocessing on the relational data read-write set; The commitment sending module is used to send the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network after the data preprocessing, so that the blockchain node server returns a random challenge based on the data validity commitment; The challenge witnessing module is used to receive random challenges sent by the blockchain node server, calculate the witnessing data of the corresponding data block, and return the witnessing data to the blockchain node server so that the blockchain node server can verify the witnessing data and record the block data on the blockchain side after the verification is passed. The data preprocessing of the relational data read / write set includes: The sequence of relational data read / write sets after serialization encoding is converted to a three-dimensional integer domain, wherein the first and second dimensions of the three-dimensional integer domain are composed of values corresponding to different keys, and the third dimension of the three-dimensional integer domain is composed of different keys with the same value; An index tree for the relational data read / write set is constructed by performing erasure coding on the relational data read / write set after 3D encoding.
7. A blockchain relational data verification device, characterized in that, Blockchain node servers used in blockchain networks to connect to relational data computing and storage servers include: The commitment receiving module is used to receive data validity commitments sent by the relational data computing and storage server in the blockchain network. The data validity commitment is generated by the relational data computing and storage server batch executing smart contracts to generate relational data read and write sets and performing data preprocessing on the relational data read and write sets. The random challenge module is used to send a random challenge to the relational data computing and storage server based on the data validity commitment, so that the relational data computing and storage server can calculate the witness data of the corresponding data block and return it. The data verification module is used to receive witness data sent by the relational data computing and storage server, verify the witness data, and record the block data on the blockchain side after the verification is passed. The data preprocessing of the relational data read / write set includes: The relational data computing and storage server connected to the blockchain node server in the blockchain network converts the serialized and encoded relational data read and write set sequence into a three-dimensional integer domain. The first and second dimensions of the three-dimensional integer domain are composed of values corresponding to different keys, and the third dimension of the three-dimensional integer domain is composed of different keys with the same value. An index tree for the relational data read / write set is constructed by performing erasure coding on the relational data read / write set after 3D encoding.
8. A blockchain relational data verification system, characterized in that, include: Blockchain node servers and relational data computing and storage servers in a blockchain network; The relational data computing and storage server includes: The commitment sending module is used to send the data validity commitment corresponding to the relational data read / write set to the blockchain node server in the blockchain network after data preprocessing. The challenge witnessing module is used to receive random challenges sent by the blockchain node server, calculate the witnessing data of the corresponding data block, and return the witnessing data to the blockchain node server. The blockchain node server includes: The commitment receiving module is used to receive data validity commitments sent by relational data computing and storage servers in the blockchain network; The random challenge module is used to send a random challenge to the relational data computing and storage server based on the data validity commitment; The data preprocessing of the relational data read / write set includes: The sequence of relational data read / write sets after serialization encoding is converted to a three-dimensional integer domain, wherein the first and second dimensions of the three-dimensional integer domain are composed of values corresponding to different keys, and the third dimension of the three-dimensional integer domain is composed of different keys with the same value; An index tree for the relational data read / write set is constructed by performing erasure coding on the relational data read / write set after 3D encoding.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the blockchain relational data verification method according to any one of claims 1 to 5.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the blockchain relational data verification method according to any one of claims 1 to 5.
11. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the steps of the blockchain relational data verification method according to any one of claims 1 to 5.