WO2023109217A1 - 数据处理方法、区块链系统、计算机设备及存储介质 - Google Patents

数据处理方法、区块链系统、计算机设备及存储介质 Download PDF

Info

Publication number
WO2023109217A1
WO2023109217A1 PCT/CN2022/118806 CN2022118806W WO2023109217A1 WO 2023109217 A1 WO2023109217 A1 WO 2023109217A1 CN 2022118806 W CN2022118806 W CN 2022118806W WO 2023109217 A1 WO2023109217 A1 WO 2023109217A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
calculation
data
event
blockchain system
Prior art date
Application number
PCT/CN2022/118806
Other languages
English (en)
French (fr)
Inventor
张珂杰
邱炜伟
鲁校冉
乔沛杨
蔡亮
Original Assignee
杭州趣链科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州趣链科技有限公司 filed Critical 杭州趣链科技有限公司
Publication of WO2023109217A1 publication Critical patent/WO2023109217A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Definitions

  • the present application belongs to the technical field of block chain, and in particular relates to a data processing method, block chain system, computer equipment and storage medium.
  • Privacy computing can make data available and invisible. On the premise of ensuring that the data of all parties is private and not exposed, the data of all parties can be combined for statistical calculation and machine learning to fully release the value of big data. Therefore, privacy computing has great application value in the blockchain field.
  • the existing privacy computing method it is necessary to specify a computing node in the nodes of the blockchain system, and the private data can only be provided to the computing node, and the computing node completes the privacy computing task. Due to the large amount of data processing required for privacy calculations, the existing methods need to occupy a large amount of computing resources of the blockchain system, which reduces the transaction processing efficiency of the blockchain system.
  • the embodiment of the present application provides a data processing method, a blockchain system, computer equipment, and a storage medium, which can save computing resources of the blockchain system and improve transaction processing efficiency of the blockchain system.
  • the embodiment of the present application provides a data processing method applied to a blockchain system, including:
  • the first node When the first node receives the calculation event sent by the second node, the first node sends calculation parameters related to the calculation event to the off-chain server, so that the off-chain server performs off-chain calculation according to the calculation parameters , to obtain calculation data, the first node and the second node are respectively any node in the blockchain system;
  • the first node receives the calculation data returned by the off-chain server
  • the first node returns the calculation data to the second node.
  • the embodiment of the present application provides a blockchain system, and the blockchain is used to implement the data processing method described in any one of the above first aspects.
  • the embodiment of the present application provides a computer device, including: a memory, a processor, and a computer program stored in the memory and operable on the processor, wherein the processor executes
  • the computer program implements the data processing method described in any one of the above first aspects.
  • an embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and it is characterized in that, when the computer program is executed by a processor, any of the above-mentioned first aspects can be implemented.
  • One of the data processing methods One of the data processing methods.
  • an embodiment of the present application provides a computer program product, which, when the computer program product is run on a computer device, enables the computer device to execute the data processing method described in any one of the above first aspects.
  • the first node when the first node receives the calculation event sent by the second node, the first node sends calculation parameters related to the calculation event to the off-chain server, so that the off-chain server performs off-chain calculation according to the calculation parameters, and obtains Calculation data, the first node and the second node are any node in the blockchain system; the first node receives the calculation data returned by the server under the chain; the first node returns the calculation data to the second node, so that the second node will be required
  • a node completes calculation events through on-chain calculations and transfers them to off-chain calculations by off-chain servers, which can save the computing resources of the blockchain system, and the off-chain calculation efficiency is high, which helps to improve the transaction processing efficiency of the blockchain system.
  • Fig. 1 is a schematic structural diagram of a blockchain system provided by an embodiment of the present application.
  • Fig. 2 is a schematic flow chart of a data processing method provided by an embodiment of the present application.
  • Fig. 3 is a schematic flow chart of a data processing method provided by another embodiment of the present application.
  • Fig. 4 is a schematic structural diagram of a node in a blockchain system provided by an embodiment of the present application.
  • Fig. 5 is a schematic structural diagram of a computer device provided by an embodiment of the present application.
  • the term “if” may be construed depending on the context as “when” or “once” or “in response to determining” or “in response to detecting” .
  • the phrase “if determined” or “if [the described condition or event] is detected” may be construed, depending on the context, to mean “once determined” or “in response to the determination” or “once detected [the described condition or event] ]” or “in response to detection of [described condition or event]”.
  • references to "one embodiment” or “some embodiments” or the like in the specification of the present application means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application.
  • appearances of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in other embodiments,” etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically stated otherwise.
  • the terms “including”, “comprising”, “having” and variations thereof mean “including but not limited to”, unless specifically stated otherwise.
  • FIG. 1 is a schematic diagram of the blockchain system provided in the embodiment of the present application.
  • the blockchain system 100 includes a first node 110 , a second node 120 , a third node 130 and a fourth node 140 .
  • FIG. 2 it is a schematic flowchart of a data processing method provided by an embodiment of the present application. As shown in Figure 2, the data processing method is detailed as follows.
  • Step S201 the first node receives the calculation event sent by the second node, and the first node sends calculation parameters related to the calculation event to the off-chain server, so that the off-chain server performs off-chain calculation according to the calculation parameters to obtain calculation data.
  • the first node and the second node are any nodes in the block chain respectively.
  • node a Before a node a on the blockchain system plans to complete a transaction with another node b, if it wants to know whether node b has the ability to process the transaction, node a will send relevant calculation events to node b in advance, Completing the calculation event through the node b to obtain the calculation data, and according to the calculation data returned by the node b, to verify whether the node b has the ability to process the transaction.
  • the second node 120 plans to complete a transaction with the first node 110, and needs to know whether the first node 110 has enough funds to complete the transaction. Some total funds are notified to the second node 120, but because the first node 110's own total funds are private data, the first node 110 does not want to directly disclose its existing funds to the second node 120, so the first node 110 The node 110 only needs to prove whether it has enough funds to complete the transaction.
  • the transaction needs 100,000 funds to complete, and the first node 110 needs to prove whether its existing funds are greater than or equal to 100,000 , at this time, the second node 120 will send a calculation event to the first node 110 in advance indicating whether the first node 110 executes its current total funds greater than or equal to 100,000.
  • the reason why the calculation event sent by the second node to the first node needs to be completed by the off-chain server through off-chain calculation is because the calculation event involves private data and needs to perform private calculation (such as zero-knowledge proof), while privacy calculation calculation The amount is relatively large. If the first node directly calculates on the chain, it will take up a lot of resources of the blockchain system, and the transaction processing efficiency is low, so here it is completed through the off-chain calculation of the off-chain server.
  • the server under the chain is a high-performance server, which can provide high-efficiency calculations. Through the combination of security algorithms, it can solve the situation of data leakage and waste of resources. It greatly improves the block chain while saving the computing resources of the blockchain system. The transaction processing efficiency of the chain system.
  • off-chain computing is a service module and is not limited to any computable method, such as encrypted data in a trusted execution environment and proofs in non-interactive zero-knowledge algorithms.
  • Step S202 the first node receives the calculation data returned by the off-chain server.
  • step S201 the calculation data is used to represent whether the first node has proof data for processing the first transaction.
  • the calculated data proves its ability to process transactions without revealing the private data of the first node.
  • Step S203 the first node returns calculation data to the second node.
  • the return of calculation data from the first node to the second node can be realized through the chain consensus on the calculation data initiated by the first node.
  • Embodiment 1 for details.
  • the second node Since there are many nodes in the blockchain system, the second node only needs to know the ability of the first node to process transactions, so not all nodes except the second node need to complete the off-chain calculation through the off-chain server, so in order to avoid To waste computing resources, the second node needs to specify which node needs to execute off-chain computing events.
  • the blockchain system is a closed environment, and it is impossible to actively obtain real-world data outside the chain (also known as off-chain) on the chain.
  • the main reason is that the blockchain system cannot actively initiate network calls and the smart contracts on the chain receive data passively.
  • the reason why the first node can interact with the off-chain server is mainly through the oracle service.
  • the oracle service As a bridge between the blockchain system and the real world off-chain, the oracle service enables the blockchain system to obtain real-world data outside the chain through the oracle service.
  • the oracle service is a service in the blockchain system, which can be directly called an oracle.
  • the mechanism for writing information outside the blockchain into the blockchain is called an oracle, which is an intermediate interface for data exchange between the blockchain system and the real world.
  • the oracle machine will help the smart contract collect external data outside the chain after receiving the demand, and after verification, the acquired data will be fed back to the smart contract on the chain.
  • the second node needs to pre-designate which node needs to execute off-chain computing events, and pre-set the means to realize off-chain computing to serve the oracle.
  • step S201 the above method further includes:
  • Step S301 the second node monitors the user instruction, the user instruction includes a first parameter and a second parameter, wherein the first parameter is used to indicate the node executing the calculation event, the second parameter includes the first calculation parameter and indication information, the first calculation The parameter is a calculation parameter related to the calculation event provided by the user of the second node, and the indication information is used to instruct the first node to provide the second calculation parameter related to the calculation event.
  • the first calculation parameter may include: specifying the interface corresponding to the off-chain computing service, the data required to form a computing relationship, and an instruction to implement off-chain computing through the oracle service.
  • different off-chain computing services correspond to different interfaces, and different computing functions can be completed through different interfaces.
  • the interface corresponding to the specified off-chain computing service is the first interface, and the first interface is used to realize the calculation function of greater than or equal to, then the calculation event involves the calculation of greater than or equal to.
  • the interface corresponding to the off-chain calculation service is designated as the second interface, and the second interface is used to implement the calculation function of equals, then the corresponding calculation event involves calculations related to equals. Since it is the interface corresponding to the off-chain computing service specified by the user of the second node, the interface should be a service it trusts, so as to prevent the first node from returning a fake computing data.
  • the interface corresponding to the specified off-chain computing service and the data required to form the computing relationship constitute a computing relationship.
  • the following example illustrates that if the second node wants to know whether the total amount of funds of the first node is greater than or equal to 100,000, then the interface corresponding to the off-chain computing service specified in the first calculation parameter is the first interface, which is used to achieve a value greater than or equal to The calculation function equal to; the data required to form a calculation relationship is 100,000, so the "first interface" and "100,000" constitute a calculation relationship, that is, the second node provides a calculation relationship of "greater than or equal to 100,000".
  • adding the second calculation parameter provided by the first node for example, the second calculation parameter provided by the first node is 120,000, constitutes a calculation event, that is, constitutes a calculation event of whether 120,000 is greater than or equal to 100,000.
  • the interface corresponding to the off-chain computing service specified in the first calculation parameter is the second interface, which is used to realize the calculation function equal to;
  • the data required by the relationship is the polynomial, so the "second interface" and the "polynomial” constitute a calculation relationship, that is, the second node provides a calculation relationship of "the polynomial is equal to”.
  • adding the second calculation parameter provided by the first node that is, the solution of a polynomial
  • constitutes a calculation event that is, the calculation of whether the solution of the polynomial provided by the first node makes the calculation relationship of "polynomial equal" established event.
  • the user instruction is a smart contract call instruction.
  • the second node obtains the first parameter and the second parameter through the smart contract calling instruction.
  • smart contracts need to be invoked is because the use of oracle service requires cooperation with the corresponding oracle smart contract.
  • the oracle smart contract is equivalent to a medium for notifying the blockchain system that the oracle service needs to be executed.
  • the oracle machine smart contract is pre-written by the user of the second node and deployed on the blockchain through the SDK. After successful deployment, the user can receive the contract address corresponding to the oracle smart contract.
  • SDK Software Development Kit
  • the second node receives the smart contract call command sent by the user, and obtains the first parameter and the second parameter through the smart contract call command.
  • the smart contract call instruction includes the contract address, the node that indicates the execution of the calculation event (the first parameter), the second calculation parameter that instructs the first node to provide related to the calculation event, and the specified off-chain calculation service provided by the user of the second node.
  • the contract method serves to call the oracle.
  • FIG. 4 is a schematic structural diagram of a node in a blockchain system. If the blockchain node in Figure 4 is the second node, the second node receives the smart contract call instruction sent by the user, the virtual machine of the second node obtains the corresponding oracle smart contract through the contract address, and determines the area through the contract method.
  • the nodes on the block chain system need to use the oracle service; then, correspondingly, the following steps S302 and S303 are executed, that is, other parameters in the smart contract call instruction except the contract address, that is, the first parameter and the second parameter , packaged into a calculation event; finally, the execution engine of the second node distributes it to the nodes on the blockchain system except the second node through the oracle machine.
  • the smart contract call instruction also includes a callback function
  • the calculation event also includes a callback function.
  • Step S302 the second node generates a calculation event according to the first parameter and the second parameter.
  • Step S303 the second node sends the calculation event to nodes in the blockchain system other than the second node.
  • the second node sends the calculation event to nodes other than the second node in the blockchain system.
  • the purpose is to realize the chain consensus of the calculation event.
  • Each node of the log records the calculation event. Afterwards, each node on the blockchain system judges whether to execute the calculation event through the first parameter in the calculation event.
  • the calculation event includes a first parameter, and the first parameter is used to indicate the node that executes the calculation event; the implementation process of step S201 may include:
  • Step S2011 the first node determines whether to execute the calculation event according to the first parameter in the calculation event.
  • the first node judges whether it is the node that executes the computing event according to the indication of the first parameter. If yes, execute step S2012; if not, do not process.
  • Step S2012 if yes, the first node sends calculation parameters related to the calculation event to the off-chain server through the oracle service.
  • step S202 may include:
  • the first node receives the calculation data returned by the off-chain server through the oracle service.
  • the above method further includes:
  • the first node receives the first smart contract returned by the off-chain server through the oracle service.
  • the blockchain node in Figure 4 is the first node, after the first node receives the calculation event, it can call the off-chain server to perform off-chain calculation services through the oracle, and the off-chain server can pass the off-chain The calculation data and the first smart contract are calculated, and the calculation data and the first smart contract are returned to the oracle machine.
  • the first node when the first node receives the calculation data returned by the off-chain server through the oracle service, it also receives the first smart contract returned by the off-chain server.
  • the internal logic of the first smart contract is: the method of verifying the calculation data.
  • the execution of the internal logic of the first smart contract needs to be implemented through a callback function.
  • the callback function is used to deploy and invoke the first smart contract.
  • the oracle service performs data interaction through the interface corresponding to the off-chain computing service, and requests the off-chain server to perform off-chain calculations to obtain data results.
  • the request process is asynchronous, and the blockchain system does not need to wait for the oracle to receive the data results. Then go to the next one.
  • the request process of the oracle machine is carried out in a trusted execution environment, so the entire data acquisition process of the oracle machine service is credible and safe.
  • the oracle service also includes a series of exception handling, such as timeout, data is too large, the requested interface fails, and the computing service refuses to connect. If an exception occurs, an error message will be returned to the second node, indicating that the contract call failed.
  • exception handling such as timeout, data is too large, the requested interface fails, and the computing service refuses to connect. If an exception occurs, an error message will be returned to the second node, indicating that the contract call failed.
  • step S203 may include:
  • step S2031 the first node sends calculation data to nodes other than the first node in the blockchain system.
  • nodes other than the first node 110 in the blockchain system include a second node 120 , a third node 130 and a fourth node 140 . That is, the first node 110 sends calculation data to the second node 120, the third node 130, and the fourth node 140, respectively.
  • step S2032 each node in the blockchain system except the first node notifies other nodes of the calculation data they have received.
  • nodes include the first node 110, the third node 130 and the fourth node 140, that is, the second node 120 in the block chain system receives it
  • the calculation data of is notified to the first node 110 , the third node 130 and the fourth node 140 .
  • other nodes include the first node 110, the second node 120 and the fourth node 140, that is, the third node 130 in the block chain system notifies the calculation data it receives to The first node 110 , the second node 120 and the fourth node 140 .
  • other nodes include the first node 110, the second node 120 and the third node 130, that is, the fourth node 140 in the block chain system notifies the calculation data it receives to The first node 110 , the second node 120 and the third node 130 .
  • Step S2033 each node in the blockchain system except the first node compares the calculation data received from the first node with the calculation data notified by other nodes, and the first node compares the calculation data notified by other nodes with this The calculation data in the nodes are compared to obtain a first comparison result corresponding to each node.
  • other nodes include the third node 130 and the fourth node 140, that is, the second node 120 in the block chain system will receive from the first node 110
  • the calculation data, the calculation data notified by the third node 130 and the calculation data notified by the fourth node 140 are compared to determine whether the three calculation data are the same, and the obtained comparison result is used as the first comparison result.
  • other nodes include the second node 120 and the fourth node 140, that is, the third node 130 in the blockchain system will receive the calculation data from the first node 110, the second The calculation data notified by the node 120 is compared with the calculation data notified by the fourth node 140 to determine whether the three calculation data are the same, and the obtained comparison result is used as the first comparison result.
  • other nodes include the second node 120 and the third node 130, that is, the calculation data received by the fourth node 140 in the blockchain system from the first node 110, the second The calculation data notified by the node 120 is compared with the calculation data notified by the third node 130 to determine whether the three calculation data are the same, and the obtained comparison result is used as the first comparison result.
  • other nodes include the second node 120, the third node 130 and the fourth node 140, that is, the first node in the block chain system uses the calculation data in the node, the second node
  • the calculation data notified by the node 120, the calculation data notified by the third node 130 and the calculation data notified by the fourth node 140 are compared to determine whether the four calculation data are the same, and the obtained comparison result is used as the first comparison result.
  • Step S2034 if the first comparison result corresponding to each node in the blockchain system satisfies the first preset condition, then the second node records the calculation data, wherein the first comparison result corresponding to the node meets the first preset condition
  • the computed data being compared for the nodes are the same.
  • the calculation data compared by the nodes is the same, it means that the consensus on the calculation data chain is successful, and the second node records the calculation data.
  • the second node records the calculation data.
  • other nodes in the block chain except the second node also record the calculation data.
  • the above method further includes:
  • the second node verifies the calculation data to obtain a first verification result.
  • the second node initiates a transaction related to the computing event to the first node.
  • calculation data is used to represent whether the first node has proof data for processing transactions related to calculation events.
  • the calculation data proves its ability to process transactions without revealing the private data of the first node.
  • the second node verifies the calculation data for the purpose of determining whether the first node has the ability to process transactions related to the calculation event. If the first node has the ability to process the first transaction, the verification is passed, and the second node initiates a transaction related to the calculation event to the first node, which can ensure the smooth progress of the transaction.
  • the calculation data can be based on the encrypted data in the trusted execution environment, then the second node can call the service interface corresponding to the trusted execution environment under the chain to verify, and the calculation data will be decrypted and sent in the trusted execution environment. Verification, the second node finally obtains the first verification result.
  • the first node 110 invokes the oracle service to execute the calculation data obtained by its own existing calculation event with a total amount of funds greater than or equal to 100,000 through the off-chain server.
  • the corresponding verification result is a result indicating yes or no, but it does not know What is the original data before encryption, that is, it is not known what the total amount of funds in the first node 110 is.
  • the calculation data can be a proof in a non-interactive zero-knowledge algorithm, then the second node can verify the proof through a pre-stored verification tool, and the second node finally obtains the first verification result.
  • calculation data after being uploaded to the chain can be handed over to any node in the blockchain system to verify the results, so malicious falsification by the second node can be avoided.
  • the verification of the calculation data is completed by the second node.
  • the above method further includes:
  • the first node sends the callback function and calculation data to nodes in the blockchain system other than the first node.
  • Each node in the blockchain system verifies the calculation data through the callback function, and obtains the second verification result corresponding to each node.
  • Each node in the blockchain system notifies other nodes of the second verification result obtained after performing the verification respectively.
  • Each node in the blockchain system compares the second verification result notified by the node from other nodes with the second verification result obtained after the node performs the verification, and obtains the second comparison result corresponding to each node.
  • the second node If the second comparison result corresponding to each node in the blockchain system satisfies the second preset condition, the second node records the second verification result, and all nodes in the blockchain system except the second node record the second verification result As a result, the second comparison result corresponding to the node satisfies the second preset condition that the second verification result compared by the node is the same.
  • the oracle when the first node successfully invokes the oracle service, the oracle can also initiate a callback function through the oracle after obtaining the calculation data returned by the off-chain server, so as to realize the verification of the calculation data.
  • both off-chain calculation and on-chain verification can be completed through the oracle service, without the need to divide the blockchain network into multiple modules, and the oracle service acts as the core of the entire process, and finally the second node only needs to query and verify The result is enough, there is no other interaction process, and the data interaction is more concise.
  • the second verification result obtained by each node verifying the calculation data through the callback function also requires an on-chain consensus, which is similar to the on-chain consensus process of the calculation data.
  • an on-chain consensus which is similar to the on-chain consensus process of the calculation data.
  • the above method further includes:
  • the second node queries the second verification result.
  • the second node initiates a transaction related to the computing event to the first node.
  • the second node can obtain the second verification result by using the transaction hash to query the on-chain data.
  • the four companies respectively represent four nodes in a chain that form a network with each other, and they are named A, B, C, and D.
  • A hopes that B can prove that B has sufficient economic strength to complete a transaction. For example, this transaction requires 1 million funds to complete, that is, B needs to prove that the total amount of his existing funds is greater than or equal to 100,000.
  • the following assumes that the privacy protection algorithm adopted is non-interactive zero-knowledge proof.
  • the user under node A writes the oracle machine smart contract, and deploys the oracle machine smart contract on the chain through the SDK, and the oracle machine smart contract is used to call the oracle machine service.
  • the SDK request includes the contract address after deploying the contract, specifying the node that calls the oracle service as node B, specifying the chain
  • the interface, contract method, callback function, and parameters that node B needs to provide when requesting the oracle service are listed below.
  • the contract method is the oracle service
  • the interface corresponding to the specified off-chain computing service is used to realize the calculation function greater than or equal to.
  • the parameters that node B needs to provide when requesting the oracle service include the existing funds that node B needs to provide Total, the data provided by node A to form the calculation relationship.
  • node A After node A receives the SDK request, it verifies the signature of the called oracle smart contract. After the verification is passed, the oracle contract is interpreted through the virtual machine, and the remaining parameters in the SDK request except the contract address are packaged as events and sent to node B. .
  • the purpose of signature verification on the called oracle smart contract here is to verify that the oracle smart contract is a smart contract deployed on the blockchain node.
  • the interpretation of the oracle contract by the virtual machine means that the virtual machine obtains the oracle smart contract according to the contract address, and determines that the nodes on the blockchain need to call the oracle service according to the contract method.
  • node B After receiving the event, node B provides the parameters required for requesting the oracle service, and performs the oracle service.
  • the parameters required to provide the oracle machine are the interface corresponding to the off-chain computing service, the total amount of funds that Node B needs to provide, and the data required by Node A to form a computing relationship.
  • the oracle machine of node B makes a request according to the interface corresponding to the off-chain computing service, and the off-chain server returns the generated zero-knowledge proof and the second smart contract to the oracle machine after completing the calculation; the oracle machine automatically initiates a callback function, deploys and Call the second smart contract, node B and other nodes on the blockchain except node B will verify the zero-knowledge proof according to the execution logic of the second smart contract, and the verification results will be consensused in the blockchain system, consensus After success, the verification result will be uploaded to the chain.
  • the execution logic of the callback function is as follows: when the oracle machine receives the zero-knowledge proof and the second smart contract returned by the off-chain server, it deploys and calls the second smart contract.
  • Knowledge proof and public input In this embodiment, the public input is non-private data, that is, 100,000.
  • the internal logic of the second smart contract is a method of verifying the zero-knowledge proof.
  • the method for verifying the zero-knowledge proof is to verify whether the zero-knowledge proof and the public input satisfy a certain relationship through a preset formula. That is, verify whether the fund of node B is greater than 100,000. Among them, the funds of node B are expressed in a privacy-preserving way of zero-knowledge proof.
  • Node A obtains the verification result after going up to the chain through query.
  • Any node can be a node for deploying contracts, and any node can also request the oracle service to act as a "computing node", so that calculation Problems caused by node downtime.
  • the embodiment of the present application also provides a blockchain system, as shown in FIG. 1 , which is used to implement the data processing method described in the above method embodiments.
  • the embodiment of the present application also provides a computer device.
  • the computer device 500 may include: at least one processor 510, a memory 520, and the A running computer program, when the processor 510 executes the computer program, implements the steps in any of the foregoing method embodiments, for example, step S201 to step S203 in the embodiment shown in FIG. 2 .
  • the computer program can be divided into one or more modules/units, and one or more modules/units are stored in the memory 520 and executed by the processor 510 to complete the present application.
  • the one or more modules/units may be a series of computer program segments capable of accomplishing specific functions, and the program segments are used to describe the execution process of the computer program in the computer device 500 .
  • FIG. 5 is only an example of computer equipment, and does not constitute a limitation to computer equipment. It may include more or less components than those shown in the illustration, or combine some components, or different components, such as Input and output devices, network access devices, buses, etc.
  • the processor 510 can be a central processing unit (Central Processing Unit, CPU), and can also be other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), ASIC (Application Specific Integrated Circuit, ASIC), off-the-shelf programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the memory 520 can be an internal storage unit of the computer device, or an external storage device of the computer device, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash memory card (Flash Card), etc.
  • the memory 520 is used to store the computer program and other programs and data required by the computer device.
  • the memory 520 can also be used to temporarily store data that has been output or will be output.
  • the bus may be an Industry Standard Architecture (Industry Standard Architecture, ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA) bus, etc.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus can be divided into address bus, data bus, control bus and so on.
  • the buses in the drawings of the present application are not limited to only one bus or one type of bus.
  • the data processing method provided in the embodiment of the present application can be applied to a computer device, and the computer device can be used to implement a blockchain system.
  • the computer device may be a server cluster, and the multiple servers in the server cluster may be multiple nodes in the blockchain system.
  • the computer device may be a terminal cluster, and multiple terminals in the terminal cluster may be multiple nodes in the blockchain system.
  • the computer equipment may also be a device cluster including servers and terminals, and the terminals and servers in the device cluster may be multiple nodes in the blockchain system.
  • the terminal may include a tablet computer, a notebook computer, a netbook, a personal digital assistant (personal digital assistant, PDA), etc., and the embodiment of the present application does not impose any limitation on the specific type of the terminal.
  • the disclosed computer equipment, devices and methods may be implemented in other ways.
  • the computer device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments in the present application can also be completed by instructing related hardware through computer programs.
  • the computer programs can be stored in a computer-readable storage medium, and the computer When the program is executed by one or more processors, it can realize the steps of the above-mentioned various method embodiments.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments in the present application can also be completed by instructing related hardware through computer programs.
  • the computer programs can be stored in a computer-readable storage medium, and the computer When the program is executed by one or more processors, it can realize the steps of the above-mentioned various method embodiments.
  • the computer program includes computer program code
  • the computer program code may be in the form of source code, object code, executable file or some intermediate form.
  • the computer readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, removable hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory) , Random Access Memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal and software distribution medium, etc.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • electrical carrier signal telecommunication signal and software distribution medium, etc.
  • the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, computer-readable media Excluding electrical carrier signals and telecommunication signals.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请适用于区块链技术领域,提供了一种数据处理方法、区块链系统、计算机设备及存储介质,该方法包括:第一节点接收到第二节点发送的计算事件,第一节点向链下服务器发送与计算事件相关的计算参数,以使链下服务器根据计算参数执行链下计算,得到计算数据,第一节点和第二节点分别为区块链系统中的任一节点;第一节点接收链下服务器返回的计算数据;第一节点向第二节点返回计算数据。上述方法可以节省区块链系统的计算资源,提高区块链系统交易处理效率。

Description

数据处理方法、区块链系统、计算机设备及存储介质
本申请要求于2021年12月15日在中国专利局提交的、申请号为202111538678.1、申请名称为“数据处理方法、区块链、终端设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请属于区块链技术领域,尤其涉及一种数据处理方法、区块链系统、计算机设备及存储介质。
背景技术
随着隐私计算不断进入大众的视野,区块链和隐私计算的结合也成为了一个非常热门的话题。隐私计算可以实现数据的可用不可见,在保证各方的数据私密不暴露的前提下,联合各方的数据进行统计计算和机器学习,充分释放大数据的价值。所以隐私计算在区块链领域具有很大的应用价值。
现有的隐私计算方法中,需要在区块链系统的节点中指定计算节点,隐私数据只能提供给计算节点,由计算节点完成隐私计算任务。由于隐私计算所需的数据处理量较大,因此,现有方法中需要占用区块链系统的大量计算资源,降低了区块链系统的交易处理效率。
技术问题
本申请实施例提供了一种数据处理方法、区块链系统、计算机设备及存储介质,可以节省区块链系统的计算资源,提高区块链系统的交易处理效率。
技术解决方案
第一方面,本申请实施例提供了一种数据处理方法,应用于区块链系统,包括:
当第一节点接收到第二节点发送的计算事件,所述第一节点向链下服务器发送与所述计算事件相关的计算参数,以使所述链下服务器根据所述计算参数执行链下计算,得到计算数据,所述第一节点和所述第二节点分别为所述区块链系统中的任一节点;
所述第一节点接收所述链下服务器返回的所述计算数据;
所述第一节点向所述第二节点返回所述计算数据。
第二方面,本申请实施例提供了一种区块链系统,所述区块链用于实现上述第一方面中任一项所述的数据处理方法。
第三方面,本申请实施例提供了一种计算机设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的数据处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的数据处理方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行上述第一方面中任一项所述的数据处理方法。
有益效果
在本申请中,通过当第一节点接收到第二节点发送的计算事件,第一节点向链下服务器发送与计算事件相关的计算参数,以使链下服务器根据计算参数执行链下计算,得到计算数据,第一节点和第二节点分别为区块链系统中的任一节点;第一节点接收链下服务器返回的计算数据;第一节点向第二节点返回计算数据,这样,将需要第一节点通过链上计算完成计算事件转由链下服务器的链下计算完成,可以节省区块链系统的计算资源,而且链下计算效率高,有助于提高区块链系统的交易处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的区块链系统的结构示意图;
图2是本申请一实施例提供的数据处理方法的流程示意图;
图3是本申请另一实施例提供的数据处理方法的流程示意图;
图4是本申请一实施例提供的区块链系统中节点的结构示意图;
图5是本申请一实施例提供的计算机设备的结构示意图。
本发明的实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当……时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的数据处理方法应用于区块链系统,其中,作为示例,参照图1,是本申请实施例提供的区块链系统的示意图。如图1所示,区块链系统100中包括第一节点110、第二节点120、第三节点130和第四节点140。
参照图2,是本申请实施例提供的数据处理方法的流程示意图。如图2所示,数据处理方法详述如下。
步骤S201,第一节点接收到第二节点发送的计算事件,第一节点向链下服务器发送与计算事件相关的计算参数,以使链下服务器根据计算参数执行链下计算,得到计算数据,第一节点和第二节点分别为区块链中的任一节点。
这里,区块链系统上的一个节点a计划与另一个节点b完成一笔交易之前,想要知道节点b是否具有处理该笔交易的能力,节点a会预先给节点b发送相关的计算事件,通过该节点b完成该计算事件得到计算数据,并根据节点b返回的计算数据,来验证节点b是否具有处理该笔交易的能力。
参照图1举例说明,第二节点120计划与第一节点110完成一笔交易,需要知道第一节点110是否具有足够的资金来完成该笔交易,最直接的是,第一节点110将自己现有的资金总额告知第二节点120,但是由于第一节点110自己现有的资金总额属于隐私数据,第一节点110不希望将自己现有的资金总额直接透露给第二节点120,所以第一节点110只需要证明自己是否具有足够的资金来完成该笔交易即可,比如该笔交易需要10万的资金才能够完成,第一节点110需要证明自己现有的资金总额是否大于或等于10万,此时,第二节点120会预先给第一节点110发送指示第一节点110执行自己现有的资金总额是否大于或等于10万的计算事件。
需要说明的是,之所以第二节点发送给第一节点的计算事件需要链下服务器通过链下计算完成,是因为计算事件涉及隐私数据需要执行隐私计算(比如零知识证明),而隐私计算计算量比较大,如果第一节点直接在链上进行计算,会占用区块链系统的大量资源,交易处理效率低,所以这里通过链下服务器的链下计算完成。链下服务器为高性能服务器,可提供高效率的计算,通过安全算法的结合,可以解决数据泄露、资源浪费的情况,在节省区块链系统的计算资源的情况下,极大地提供了区块链系统的交易处理效率。
需要说明的是,链下计算是一个服务模块,不限于任何可计算方式,例如可信执行环境中的加密数据和非交互式零知识算法中的证明等。
步骤S202,第一节点接收链下服务器返回的计算数据。
通过对上述步骤S201的解释说明可知,计算数据用于表征第一节点是否具有处理第一交易的证明数据。该计算数据在不泄露第一节点隐私数据的前提下,证明了自己处理交易的能力。
步骤S203,第一节点向第二节点返回计算数据。
这里,第一节点向第二节点返回计算数据可以通过第一节点发起的对计算数据的链上共识实现。其具体实现详见实施例一。
由于区块链系统中具有很多节点,第二节点只需要知道第一节点处理交易的能力,所以并不是除第二节点外的其他所有节点都需要通过链下服务器完成链下计算,所以为了避免浪费计算资源,需要第二节点指定哪个节点需要执行链下计算事件。
另外,区块链系统是一个封闭的环境,链上是无法主动获取链外(也称为链下)真实世界的数据。主要是因为区块链系统无法主动发起网络调用而链上智能合约是被动接收数据的。本申请中第一节点之所以能够与链下服务器进行数据交互,主要是通过预言机服务来实现。预言机服务作为区块链系统与链下真实世界的桥梁,它能够使得区块链系统通过预言机服务获取链外真实世界的数据。
为了便于理解,下面简单介绍一下预言机服务。
预言机服务是区块链系统中的一种服务,可直接称作预言机。区块链外信息写入区块链内的机制,被称为预言机,它是完成区块链系统与现实世界的数据互通的中间接口。当区块链系统上某个智能合约有数据交互需求时,预言机接收到需求后,帮助智能合约在链外收集外界数据,验证后再将获取的数据反馈回链上的智能合约。
综上,在图2所示的数据处理方法实施之前,第二节点需要预先指定哪个节点需要执行链下计算事件,预先设定实现链下计算的手段为预言机服务。
为了实现上述目的,在一种可能的实现方式中,参照图3,在步骤S201之前,上述方法还包括:
步骤S301,第二节点监测用户指令,用户指令包括第一参数和第二参数,其中,第一参数用于指示执行计算事件的节点,第二参数包括第一计算参数和指示信息,第一计算参数为第二节点的用户提供的与计算事件相关的计算参数,指示信息用于指示第一节点提供与计算事件相关的第二计算参数。
具体的,第一计算参数可包括:指定链下计算服务对应的接口、形成计算关系所需要的数据和通过预言机服务实现链下计算的指示。
需要说明的是,不同的链下计算服务对应不同的接口,通过不同的接口可以完成不同的计算功能。比如,若指定链下计算服务对应的接口为第一接口,该第一接口用于实现大于或者等于的计算功能,则计算事件涉及有关大于或者等于的计算。又比如,若指定链下计算服务对应的接口为第二接口,该第二接口用于实现等于的计算功能,则对应的计算事件涉及有关等于的计算。由于是第二节点的用户指定的链下计算服务对应的接口,该接口应当是其信任的服务,这样能够避免第一节点返回一个造假的计算数据。
这里,指定链下计算服务对应的接口和形成计算关系所需要的数据构成一个计算关系。
下面举例说明,若第二节点想要知道第一节点现有的资金总额是否大于或等于10万,则第一计算参数中指定链下计算服务对应的接口为第一接口,用于实现大于或者等于的计算功能;形成计算关系所需要的数据为10万,这样“第一接口”和“10万”构成一个计算关系,即第二节点提供了一个“大于或等于10万”的计算关系。之后,加上第一节点提供的第二计算参数,比如,第一节点提供的第二计算参数为12万,则构成了一个计算事件,即构成12万是否大于或者等于10万的计算事件。
再比如,若第二节点想要知道第一节点是否知道某个多项式的解,则第一计算参数中指定链下计算服务对应的接口为第二接口,用于实现等于的计算功能;形成计算关系所需要的数据为该多项式,这样“第二接口”和“多项式”构成一个计算关系,即第二节点提供了一个“多项式等于”的计算关系。之后,加上第一节点提供的第二计算参数,即一个多项式的解,则构成了计算事件,即构成了第一节点提供的多项式的解是否使得“多项式等于”这一计算关系成立的计算事件。
可选的,用户指令为智能合约调用指令。
也就是说,第二节点通过智能合约调用指令获取第一参数和第二参数。之所以需要调用智能合约,是因为使用预言机服务,需要配合对应的预言机智能合约进行。预言机智能合约相当于一种媒介,用于通知区块链系统需要执行预言机服务。
在一可选的实现方式中,预言机智能合约是第二节点的用户预先编写好,通过SDK部署在区块链上。在部署成功后用户可以接收到对应该预言机智能合约的合约地址。
这里,软件开发工具包(Software Development Kit,SDK)用于调用区块链系统上的服务接口API。
之后,第二节点接收用户发送的智能合约调用指令,通过该智能合约调用指令获取第一参数和第二参数。
具体的,智能合约调用指令包括合约地址、指示执行计算事件的节点(第一参数)、指示第一节点提供与计算事件相关的第二计算参数、第二节点的用户提供的指定链下计算服务对应的接口、形成计算关系所需的数据和合约方法。需要解释的是,合约方法为调用预言机服务。
相应的,参照图4,图4为区块链系统中节点的结构示意图。若图4中的区块链节点为第二节点,第二节点接收到用户发送的智能合约调用指令,第二节点的虚拟机通过合约地址获取到对应的预言机智能合约,通过合约方法确定区块链系统上的节点需要使用预言机服务;之后,相应的,执行下述步骤S302和步骤S303,即将除合约地址外的智能合约调用指令中的其他参数,也即第一参数和第二参数,打包成计算事件;最后由第二节点的执行引擎通过预言机分发给区块链系统上除第二节点外的节点。若智能合约调用指令还包括回调函数,则计算事件还包括回调函数。
步骤S302,第二节点根据第一参数和第二参数生成计算事件。
步骤S303,第二节点将计算事件发送给区块链系统中除第二节点外的节点。
需要说明的是,第二节点将计算事件发送给区块链系统中除第二节点外的节点,其目的是为了实现计算事件的链上共识,在链上共识成功后,区块链系统上的各节点记录该计算事件。之后,区块链系统上的各节点通过计算事件中的第一参数判断是否执行计算事件。
即:在一种可能的实现方式中,计算事件中包括第一参数,第一参数用于指示执行计算事件的节点;步骤S201的实现过程可以包括:
步骤S2011,第一节点根据计算事件中的第一参数判断是否执行计算事件。
具体的,第一节点根据第一参数的指示,判断自己是否是执行计算事件的节点。若是,则执行步骤S2012;若不是,则不做处理。
步骤S2012,若是,则第一节点通过预言机服务向链下服务器发送与计算事件相关的计算参数。
相应地,步骤S202的实现过程可以包括:
第一节点通过预言机服务接收链下服务器返回的计算数据。
可选的,在步骤S203之前,上述方法还包括:
第一节点通过预言机服务接收链下服务器返回的第一智能合约。
这里可参照图4说明,若图4中的区块链节点为第一节点,第一节点接收到计算事件后,可通过预言机调用链下服务器执行链下计算服务,链下服务器通过链下计算得到计算数据和第一智能合约,将计算数据和第一智能合约返回给预言机。
也就是说,第一节点通过预言机服务接收链下服务器返回的计算数据时,还接收链下服务器返回的第一智能合约。
其中,第一智能合约的内部逻辑为:验证计算数据的方法。
需要说明的是,该第一智能合约的内部逻辑的执行需要通过回调函数来实现。具体的,回调函数用于部署和调用第一智能合约。
需要说明的是,预言机服务通过链下计算服务对应的接口进行数据交互,请求链下服务器执行链下计算得到数据结果,请求过程是异步的,区块链系统无需等待预言机接收到数据结果后再去执行下一项。预言机的请求过程是在可信执行环境中进行的,因此预言机服务的整个数据获取过程是可信且安全的。
预言机服务也包括一系列的异常处理,如超时、数据过大、请求的接口失效、计算服务拒绝连接的情况,若出现异常情况则返回错误信息给第二节点,表示此次合约调用失败。
实施例一
在一种可能的实现方式中,步骤S203的实现过程可包括:
步骤S2031,第一节点向区块链系统中除第一节点外的节点分别发送计算数据。
参照图1,区块链系统中除第一节点110外的节点包括第二节点120、第三节点130和第四节点140。也就是,第一节点110向第二节点120、第三节点130和第四节点140分别发送计算数据。
步骤S2032,区块链系统中除第一节点外的每个节点将各自接收到的计算数据通知给其他节点。
继续参照图1,对于区块链系统中的第二节点120,其他节点包括第一节点110、第三节点130和第四节点140,即区块链系统中的第二节点120将其接收到的计算数据通知给第一节点110、第三节点130和第四节点140。
对于区块链系统中的第三节点130,其他节点包括第一节点110、第二节点120和第四节点140,即区块链系统中的第三节点130将其接收到的计算数据通知给第一节点110、第二节点120和第四节点140。
对于区块链系统中的第四节点140,其他节点包括第一节点110、第二节点120和第三节点130,即区块链系统中的第四节点140将其接收到的计算数据通知给第一节点110、第二节点120和第三节点130。
步骤S2033,区块链系统中除第一节点外的每个节点将从第一节点接收到的计算数据和其他节点通知的计算数据进行比较、且第一节点将其他节点通知的计算数据和本节点内的计算数据进行比较,得到每个节点对应的第一比较结果。
继续参照图1,对于区块链系统中的第二节点120,其他节点包括第三节点130和第四节点140,即区块链系统中的第二节点120将从第一节点110接收到的计算数据、第三节点130通知的计算数据和第四节点140通知的计算数据进行比较,判断三个计算数据是否相同,得到的比较结果作为第一比较结果。
对于区块链系统中的第三节点130,其他节点包括第二节点120和第四节点140,即区块链系统中的第三节点130将从第一节点110接收到的计算数据、第二节点120通知的计算数据和第四节点140通知的计算数据进行比较,判断三个计算数据是否相同,得到的比较结果作为第一比较结果。
对于区块链系统中的第四节点140,其他节点包括第二节点120和第三节点130,即区块链系统中的第四节点140将从第一节点110接收到的计算数据、第二节点120通知的计算数据和第三节点130通知的计算数据进行比较,判断三个计算数据是否相同,得到的比较结果作为第一比较结果。
对于区块链系统中的第一节点110,其他节点包括第二节点120、第三节点130和第四节点140,即区块链系统中的第一节点将本节点内的计算数据、第二节点120通知的计算数据、第三节点130通知的计算数据和第四节点140通知的计算数据进行比较,判断四个计算数据是否相同,得到的比较结果作为第一比较结果。
步骤S2034,若区块链系统中的每个节点对应的第一比较结果均满足第一预设条件,则第二节点记录计算数据,其中,节点对应的第一比较结果满足第一预设条件为节点所比较的计算数据相同。
需要说明的是,节点所比较的计算数据相同,则说明计算数据链上共识成功,第二节点记录计算数据。相应的,区块链中除第二节点外的其他节点也都记录该计算数据。
相应的,第二节点记录计算数据之后,上述方法还包括:
第二节点对计算数据进行验证,得到第一验证结果。
若第一验证结果表示验证通过,则第二节点向第一节点发起与计算事件相关的交易。
上述已经说明计算数据用于表征第一节点是否具有处理与计算事件相关的交易的证明数据,该计算数据在不泄露第一节点隐私数据的前提下,证明自己处理交易的能力。
在本实现方式中,第二节点对计算数据进行验证,其目的是为了确定第一节点是否具有处理与计算事件相关的交易的能力。若第一节点具有处理第一交易的能力,则验证通过,第二节点向第一节点发起与计算事件相关的交易,这样能够保证交易的顺利进行。
可选的,计算数据可以是基于可信执行环境中的加密数据,则第二节点可通过链下调用可信执行环境对应的服务接口去进行验证,计算数据会在可信执行环境中解密并验证,第二节点最后获得第一验证结果。比如,第一节点110调用预言机服务通过链下服务器执行自己现有的资金总额大于等于10万的计算事件得到的计算数据,对应的验证结果是一个表示是或否的结果,但并不知道加密前的原始数据是什么,即不知道第一节点110现有的资金总额是多少。
计算数据可以是非交互式零知识算法中的证明,则第二节点可通过预先存储的验证工具对该证明进行验证,第二节点最后得到第一验证结果。
需要说明的是,上链后的计算数据可以交由区块链系统中任何节点去验证结果,因此能够避免第二节点的恶意造假。
上述实现方式中对计算数据的验证是通过第二节点完成的,当然为了减轻第二节点的计算负担,在一种可能的实现方式中,在步骤S203之后,上述方法还包括:
若计算事件中包括回调函数,则第一节点向区块链系统中除第一节点外的节点分别发送回调函数和计算数据。
区块链系统中每个节点均通过回调函数对计算数据进行验证,得到每个节点对应的第二验证结果。
区块链系统中每个节点将各自执行验证后得到的第二验证结果通知给其他节点。
区块链系统中每个节点将本节点从其他节点通知得到的第二验证结果和本节点执行验证后得到的第二验证结果进行比较,得到每个节点对应的第二比较结果。
若区块链系统中每个节点对应的第二比较结果满足第二预设条件,则第二节点记录第二验证结果,且区块链系统中除第二节点外的节点均记录第二验证结果,其中,节点对应的第二比较结果满足第二预设条件为节点所比较的第二验证结果相同。
在该实现方式中,在第一节点成功调用预言机服务的情况下,预言机在获得链下服务器返回的计算数据后,还可通过预言机发起回调函数,从而实现对计算数据的验证。这样,链下计算和链上验证可均通过预言机服务完成,无需将区块链网络划分成多个模块分别进行,而且预言机服务充当了整个过程的核心,最后第二节点仅需查询验证结果即可,没有其他的交互过程,数据交互更加简洁。
需要说明的是,各个节点通过回调函数验证计算数据得到的第二验证结果同样需要链上共识,它与计算数据的链上共识过程相似,详细说明可参见实施例一,这里不再赘述。
相应的,在一种可能的实现方式中,所述第二节点记录所述第二验证结果之后,上述方法还包括:
第二节点查询第二验证结果。
若第二验证结果表示验证通过,则第二节点向第一节点发起与计算事件相关的交易。
具体的,第二节点可通过使用交易哈希查询链上数据获得第二验证结果。
下面就一具体场景示例说明本申请实施例的数据处理方法的实施过程。
四家企业分别代表一条链中互相组网的四个节点,将其命名为甲乙丙丁。甲希望乙能够证明乙有足够的经济实力完成一笔交易买卖。例如这笔交易需要100万资金才能够完成,也即乙需要证明自己现有的资金总额大于等于10万。下面假设采用的隐私保护算法为非交互式零知识证明。
S401,节点甲下的用户编写预言机智能合约,并通过SDK在链上部署该预言机智能合约,该预言机智能合约用于调用预言机服务。
S402,预言机智能合约部署完成后,节点甲下的用户通过SDK请求调用该预言机智能合约,该SDK请求包括部署该合约后的合约地址、指定调用预言机服务的节点为节点乙、指定链下计算服务对应的接口、合约方法、回调函数、节点乙需要在请求预言机服务时需要提供的参数。
这里,合约方法为预言机服务,指定链下计算服务对应的接口为用于实现大于或者等于的计算功能,节点乙请求预言机服务时需要提供的参数包括节点乙需要提供的乙现有的资金总额、节点甲提供的用于形成计算关系所需的数据。
S403,节点甲接收到SDK请求后,对调用的预言机智能合约进行签名验证,验证通过后通过虚拟机解释预言机合约,将SDK请求中除合约地址外的其余参数打包为事件发送给节点乙。
这里对调用的预言机智能合约进行签名验证其目的是为了验证该预言机智能合约是部署在区块链节点上的智能合约。
具体的,虚拟机解释预言机合约指的是虚拟机根据合约地址获取该预言机智能合约,根据合约方法确定区块链上的节点需要调用预言机服务。
S404,节点乙接收到事件后,提供请求预言机服务所需要的参数,并进行预言机服务。
这里,提供预言机所需的参数为链下计算服务对应的接口、节点乙需要提供的节点乙现有的资金总额、节点甲提供的用于形成计算关系所需的数据。
S405,节点乙的预言机按照链下计算服务对应的接口进行请求,链下服务器完成计算后将生成的零知识证明和第二智能合约返给该预言机;预言机自动发起回调函数,部署并调用第二智能合约,节点乙以及区块链上除该节点乙之外的其他节点均按照第二智能合约的执行逻辑对零知识证明进行验证,将验证结果在区块链系统中共识,共识成功后将验证结果上链。
这里,回调函数的执行逻辑具体为:当预言机接收到链下服务器返回的零知识证明和第二智能合约,部署并调用第二智能合约,其中,在调用第二智能合约时,传入零知识证明和公共输入,本实施例中公共输入为非隐私数据即10万。
第二智能合约的内部逻辑为验证零知识证明的方法。对于本实施例而言,验证零知识证明的方法为通过预设公式验证零知识证明和公共输入是否满足一定的关系。也就是,验证节点乙的资金是否大于10万。其中,节点乙的资金以零知识证明的隐私保护方式表示。
S406,节点甲通过查询获知上链后的验证结果。
本申请实施例不需要对区块链系统上各个节点进行角色的划分,任何节点都可以是部署合约的节点,任何节点也都可以请求预言机服务来充当“计算节点”,这样就可以避免计算节点宕机引起的问题。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例还提供了一种区块链系统,可参见图1,该区块链系统用于实现上述方法实施例中所述的数据处理方法。
本申请实施例还提供了一种计算机设备,参见图5,该计算机设备500可以包括:至少一个处理器510、存储器520以及存储在所述存储器520中并可在所述至少一个处理器510上运行的计算机程序,所述处理器510执行所述计算机程序时实现上述任意各个方法实施例中的步骤,例如图2所示实施例中的步骤S201至步骤S203。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器520中,并由处理器510执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序段,该程序段用于描述计算机程序在计算机设备500中的执行过程。
本领域技术人员可以理解,图5仅仅是计算机设备的示例,并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
处理器510可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器520可以是计算机设备的内部存储单元,也可以是计算机设备的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。所述存储器520用于存储所述计算机程序以及计算机设备所需的其他程序和数据。所述存储器520还可以用于暂时地存储已经输出或者将要输出的数据。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例提供的数据处理方法可以应用于计算机设备,该计算机设备可以用于实现区块链系统。比如,该计算机设备可以是服务器集群,该服务器集群中的多个服务器可以是区块链系统中的多个节点。或者,该计算机设备可以是终端集群,该终端集群中的多个终端可以是区块链系统中的多个节点。当然,该计算机设备也可以是包含有服务器和终端的设备集群,该设备集群中的终端和服务器可以是区块链系统中的多个节点。其中,终端可以包括平板电脑、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)等,本申请实施例对终端的具体类型不作任何限制。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的计算机设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的计算机设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被一个或多个处理器执行时,可实现上述各个方法实施例的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被一个或多个处理器执行时,可实现上述各个方法实施例的步骤。
同样,作为一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述各个方法实施例中的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (15)

  1. 一种数据处理方法,应用于区块链系统,其特征在于,包括:
    当第一节点接收到第二节点发送的计算事件,所述第一节点向链下服务器发送与所述计算事件相关的计算参数,以使所述链下服务器根据所述计算参数执行链下计算,得到计算数据,所述第一节点和所述第二节点分别为所述区块链系统中的任一节点;
    所述第一节点接收所述链下服务器返回的所述计算数据;
    所述第一节点向所述第二节点返回所述计算数据。
  2. 如权利要求1所述的数据处理方法,其特征在于,所述计算事件中包括第一参数,所述第一参数用于指示执行所述计算事件的节点;
    所述当第一节点接收到第二节点发送的计算事件,所述第一节点向链下服务器发送与所述计算事件相关的计算参数,包括:
    所述第一节点根据所述计算事件中的所述第一参数判断是否执行所述计算事件;
    若是,则所述第一节点通过预言机服务向所述链下服务器发送与所述计算事件相关的计算参数;
    所述第一节点接收所述链下服务器返回的所述计算数据,包括:
    所述第一节点通过所述预言机服务接收所述链下服务器返回的所述计算数据。
  3. 如权利要求2所述的数据处理方法,其特征在于,所述第一节点向所述第二节点返回所述计算数据之前,还包括:
    所述第一节点通过所述预言机服务接收所述链下服务器返回的第一智能合约,所述第一智能合约是所述链下服务器根据所述计算参数执行链下计算后得到的,所述第一智能合约用于指示验证所述计算数据的方法。
  4. 如权利要求1所述的数据处理方法,其特征在于,所述第一节点向所述第二节点返回所述计算数据,包括:
    所述第一节点向所述区块链系统中除所述第一节点外的节点分别发送所述计算数据;
    所述区块链系统中除所述第一节点外的每个节点将各自接收到的所述计算数据通知给其他节点;
    所述区块链系统中除所述第一节点外的每个节点将从所述第一节点接收到的计算数据和其他节点通知的计算数据进行比较、且所述第一节点将其他节点通知的计算数据和本节点内的计算数据进行比较,得到每个节点对应的第一比较结果;
    若所述区块链系统中的每个节点对应的所述第一比较结果均满足第一预设条件,则所述第二节点记录所述计算数据,且所述区块链系统中除所述第二节点外的节点均记录所述计算数据,其中,所述节点对应的第一比较结果满足所述第一预设条件为所述节点所比较的计算数据相同。
  5. 如权利要求4所述的数据处理方法,其特征在于,所述计算数据用于表征所述第一节点是否具有处理与所述计算事件相关的交易的证明数据。
  6. 如权利要求5所述的数据处理方法,其特征在于,所述第二节点记录所述计算数据之后,所述方法还包括:
    所述第二节点对所述计算数据进行验证,得到第一验证结果;
    若所述第一验证结果表示验证通过,则所述第二节点向所述第一节点发起与所述计算事件相关的交易。
  7. 如权利要求6所述的数据处理方法,其特征在于,所述第二节点对所述计算数据进行验证,得到第一验证结果,包括:
    若所述计算数据是基于可信执行环境中的加密数据,则所述第二节点通过链下调用所述可信执行环境对应的服务接口验证所述计算数据,以得到所述第一验证结果,其中,所述计算数据在所述可信执行环境中解密并验证;
    若所述计算数据是非交互式零知识算法中的证明,则所述第二节点通过预先存储的验证工具对所述证明进行验证,得到所述第一验证结果。
  8. 如权利要求1所述的数据处理方法,其特征在于,所述第一节点接收所述链下服务器返回的所述计算数据之后,所述方法还包括:
    若所述计算事件中包括回调函数,则所述第一节点向所述区块链系统中除所述第一节点外的节点分别发送所述回调函数和所述计算数据;
    所述区块链系统中的每个节点均通过所述回调函数对所述计算数据进行验证,得到每个节点对应的第二验证结果;
    所述区块链系统中的每个节点将各自执行验证后得到的所述第二验证结果通知给其他节点;
    所述区块链系统中的每个节点将本节点从其他节点通知得到的第二验证结果和本节点执行验证后得到的第二验证结果进行比较,得到每个节点对应的第二比较结果;
    若所述区块链系统中每个节点对应的所述第二比较结果满足第二预设条件,则所述第二节点记录所述第二验证结果,且所述区块链系统中除所述第二节点外的节点均记录所述第二验证结果,其中,所述节点对应的第二比较结果满足所述第二预设条件为所述节点所比较的第二验证结果相同。
  9. 如权利要求8所述的数据处理方法,其特征在于,所述第二节点记录所述第二验证结果之后,所述方法还包括:
    所述第二节点查询所述第二验证结果;
    若所述第二验证结果表示验证通过,则所述第二节点向所述第一节点发起与所述计算事件相关的交易。
  10. 如权利要求1-9任一所述的数据处理方法,其特征在于,所述当第一节点接收到第二节点发送的计算事件,所述第一节点向链下服务器发送与所述计算事件相关的计算参数之前,所述方法还包括:
    所述第二节点监测用户指令,所述用户指令包括第一参数和第二参数,其中,所述第一参数用于指示执行所述计算事件的节点,所述第二参数包括第一计算参数和指示信息,所述第一计算参数为所述第二节点的用户提供的与计算事件相关的计算参数,所述指示信息用于指示所述第一节点提供与计算事件相关的第二计算参数;
    所述第二节点根据所述第一参数和所述第二参数生成所述计算事件;
    所述第二节点将所述计算事件发送给所述区块链系统中除所述第二节点外的节点。
  11. 如权利要求10所述的数据处理方法,其特征在于,所述第一计算参数包括:指定链下计算服务对应的接口、形成计算关系所需要的数据、通过预言机服务实现链下计算的指示。
  12. 如权利要求11所述的数据处理方法,其特征在于,所述用户指令为智能合约调用指令,所述智能合约调用指令还包括预言机智能合约的合约地址。
  13. 一种区块链系统,其特征在于,所区块链用于实现权利要求1至12任一项所述的数据处理方法。
  14. 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至12任一项所述的数据处理方法。
  15. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的数据处理方法。
PCT/CN2022/118806 2021-12-15 2022-09-14 数据处理方法、区块链系统、计算机设备及存储介质 WO2023109217A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111538678.1A CN114240657A (zh) 2021-12-15 2021-12-15 数据处理方法、区块链、终端设备及存储介质
CN202111538678.1 2021-12-15

Publications (1)

Publication Number Publication Date
WO2023109217A1 true WO2023109217A1 (zh) 2023-06-22

Family

ID=80756551

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/118806 WO2023109217A1 (zh) 2021-12-15 2022-09-14 数据处理方法、区块链系统、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN114240657A (zh)
WO (1) WO2023109217A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116866045A (zh) * 2023-07-18 2023-10-10 四川华西集采电子商务有限公司 一种基于访问控制规则的区块链可信预言机决策支撑系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114240657A (zh) * 2021-12-15 2022-03-25 杭州趣链科技有限公司 数据处理方法、区块链、终端设备及存储介质
CN117376371A (zh) * 2022-06-30 2024-01-09 腾讯科技(深圳)有限公司 数据处理方法、系统、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108305170A (zh) * 2018-03-07 2018-07-20 物数(上海)信息科技有限公司 基于区块链的外部服务访问方法、系统、设备及存储介质
CN111047450A (zh) * 2020-03-18 2020-04-21 支付宝(杭州)信息技术有限公司 链上数据的链下隐私计算方法及装置
US20200151266A1 (en) * 2018-11-08 2020-05-14 International Business Machines Corporation Data processing using external information
CN111401903A (zh) * 2020-06-03 2020-07-10 腾讯科技(深圳)有限公司 区块链消息处理方法、装置、计算机以及可读存储介质
CN112055023A (zh) * 2020-09-09 2020-12-08 工银科技有限公司 基于预言机的访问请求处理方法、装置、设备和介质
CN114240657A (zh) * 2021-12-15 2022-03-25 杭州趣链科技有限公司 数据处理方法、区块链、终端设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108305170A (zh) * 2018-03-07 2018-07-20 物数(上海)信息科技有限公司 基于区块链的外部服务访问方法、系统、设备及存储介质
US20200151266A1 (en) * 2018-11-08 2020-05-14 International Business Machines Corporation Data processing using external information
CN111047450A (zh) * 2020-03-18 2020-04-21 支付宝(杭州)信息技术有限公司 链上数据的链下隐私计算方法及装置
CN111401903A (zh) * 2020-06-03 2020-07-10 腾讯科技(深圳)有限公司 区块链消息处理方法、装置、计算机以及可读存储介质
CN112055023A (zh) * 2020-09-09 2020-12-08 工银科技有限公司 基于预言机的访问请求处理方法、装置、设备和介质
CN114240657A (zh) * 2021-12-15 2022-03-25 杭州趣链科技有限公司 数据处理方法、区块链、终端设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116866045A (zh) * 2023-07-18 2023-10-10 四川华西集采电子商务有限公司 一种基于访问控制规则的区块链可信预言机决策支撑系统
CN116866045B (zh) * 2023-07-18 2024-01-23 四川华西集采电子商务有限公司 一种基于访问控制规则的区块链可信预言机决策支撑系统

Also Published As

Publication number Publication date
CN114240657A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
CN108881187B (zh) 一种适用于许可链场景的跨链数据传递方法及设备
WO2023109217A1 (zh) 数据处理方法、区块链系统、计算机设备及存储介质
TWI710979B (zh) 跨區塊鏈的互動方法及裝置、系統、電子設備
US11494344B2 (en) Customized endorsement logic for blockchain
US11526487B2 (en) Database world state integrity validation
WO2020168937A1 (zh) 区块链多方见证方法、装置、设备及计算机可读存储介质
US11502828B2 (en) Authenticating chaincode to chaincode invocations of a blockchain
US11093558B2 (en) Providing accountability of blockchain queries
CN109726229B (zh) 一种区块链数据存储方法及装置
WO2022068761A1 (zh) 数据处理方法、装置、电子设备及存储介质
WO2022095244A1 (zh) 跨链交易方法、系统、装置、设备和存储介质
CN111461723B (zh) 基于区块链的数据处理系统及方法、装置
JP7228322B2 (ja) ブロックチェーン・ネットワークにおける自動コミット・トランザクション管理
TWI724574B (zh) 基於區塊鏈的記帳方法及裝置、電子設備
TW201943250A (zh) 跨區塊鏈的認證方法及裝置、電子設備
TW202001656A (zh) 基於區塊鏈的智能合約調用方法及裝置、電子設備
US20200074470A1 (en) Database configuration for asset transfers
WO2022143798A1 (zh) 跨链交易的验证方法、终端设备及可读存储介质
WO2020224239A1 (zh) 区块链实现方法、装置、系统及存储介质
WO2021036522A1 (zh) 区块链跨链交易验证的方法、装置、设备及区块链系统
WO1996009705A1 (en) A mechanism for providing security to a dual decor command host system
CN110650216B (zh) 云服务请求方法和装置
CN109388957B (zh) 基于区块链的信息移转方法、装置、介质及电子设备
US20190319928A1 (en) Enhancing security of communications during execution of protocol flows
WO2024060853A1 (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: 22905970

Country of ref document: EP

Kind code of ref document: A1