Out-of-chain data acquisition system based on oracle cluster
By introducing an off-chain data acquisition system based on oracle cluster in the blockchain system, using event lock mechanism and trusted third-party management, the inefficiency and complexity problems of smart contracts when acquiring off-chain data are solved, and the problem of "inefficiency and complexity" of smart contracts is realized. Efficient and secure data interactions enhance interoperability and system availability between blockchain and the outside world.
Patent Information
- Application Number
- CN202410918561.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-10
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2044-07-10
AI Technical Summary
Due to its certain and closed nature, smart contracts cannot directly interact with external systems in data, which limits their application and practicality, especially when acquiring off-chain data, they are inefficient and complex in design, and cannot guarantee high availability.
Adopt an off-chain data acquisition system based on oracle clusters, through the collaborative work of oracle contracts and user contracts, the event lock mechanism is used to realize the collaboration between oracle nodes, and provide a unified off-chain data acquisition interface to reduce design complexity and Improve efficiency and manage off-chain data sources through trusted third-party organizations to ensure data authenticity and security.
Improve the efficiency of data acquisition, reduce design complexity, ensure high service availability, avoid the impact of coordination and game processes in decentralized mode on data timeliness, enhance the system's fault tolerance, and pass the whitelist The strategy reduces security risks and realizes the interaction between smart contracts and trusted data between the outside world.
Smart Images

Figure CN119316430A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of off-chain data acquisition, and specifically to an off-chain data acquisition system based on an oracle cluster. Background Art
[0002] The concept of oracle in the computer field was proposed by Turing, that is, adding a special device called "oracle" to the Turing machine to input information into the Turing machine and help the Turing machine complete calculations. The blockchain field borrowed this concept and called the software or hardware that provides information to Turing-complete smart contracts "oracle", which is translated into Chinese as oracle.
[0003] Blockchain is a deterministic and closed system. Limited by its own consensus mechanism, smart contracts cannot directly interact with external systems. As an important infrastructure in the blockchain ecosystem, oracles establish trusted constraints through trusted computing or other technologies, provide trusted external data for smart contracts, and build a bridge for smart contracts to communicate with the outside world. In addition, in a broad sense, oracles have functions such as random number generation and triggering the automatic execution of smart contracts. These functions not only strengthen their role in providing traditional data, but also help expand the application of blockchain technology in scenarios such as contract price feeding, insurance, trade, and the Internet of Things, which significantly improves the practicality and flexibility of blockchain technology. Oracles are no longer simply providing data, but have become a powerful tool that enables smart contracts to interact with the real world in a more complex and sophisticated way. Summary of the invention
[0004] In response to the needs and shortcomings of current technological development, the present invention provides an off-chain data acquisition system based on an oracle cluster, which can improve the efficiency of data acquisition, reduce the complexity of design, and ensure the high availability of services.
[0005] The present invention provides an off-chain data acquisition system based on a oracle cluster, and the technical solution adopted to solve the above technical problems is as follows:
[0006] An off-chain data acquisition system based on oracle cluster, suitable for Fabric blockchain network, which includes system contracts, databases and oracle clusters;
[0007] The system contract includes an oracle contract and a user contract, wherein: the oracle contract is responsible for providing the user contract with a unified interactive interface for obtaining external data, and after verifying the request parameters of the user contract, encapsulates it as a chain code event and sends it to the oracle cluster; the user contract contains specific logic related to the business, calls the corresponding interface in the oracle contract in a cross-contract manner, and then initiates an off-chain data acquisition request, and accepts the call of the oracle contract to obtain the returned off-chain data, and then executes the subsequent business processing logic;
[0008] The database implements event locks based on data tables. All oracle nodes in the oracle cluster share the same database, and any oracle node in the oracle cluster collaborates with the remaining oracle nodes through event locks.
[0009] The oracle cluster includes one or more centralized oracle nodes. Each oracle node is responsible for listening to the chaincode events from the oracle contract and obtaining the processing rights of the chaincode events by preempting the event lock. The oracle node that obtains the processing rights first parses the chaincode events, obtains the off-chain data request parameters, and then assembles the request parameters, initiates data requests to the approved off-chain data sources, and parses the response results. Finally, the oracle contract calls back the user contract and writes the response data back to the chain.
[0010] Optionally, the process of obtaining off-chain data by the off-chain data acquisition system is as follows:
[0011] (1) Before starting the oracle node in the oracle cluster, perform preparation work: initialize the system contract and register the off-chain data source;
[0012] (2) The oracle node in the oracle cluster is started to obtain off-chain data:
[0013] (2.1) The user selects the target data source, adds relevant parameters, and calls the off-chain data request interface in the user contract;
[0014] (2.2) The request interface of the user contract calls the corresponding data request interface in the oracle contract according to the data source type in the additional parameters. The oracle contract verifies the request parameters based on the built-in verification rules. After the verification passes, it returns a globally unique event ID to the user contract and encapsulates the request parameters as a chain code event and sends it to the oracle cluster;
[0015] (2.3) All oracle nodes in the oracle cluster listen to the chain code event at the same time and start to seize the event lock. If the event lock is successfully seized, the processing right of the chain code event is obtained. The oracle nodes that have not obtained the processing right are responsible for monitoring the processing status of the chain code event.
[0016] (2.4) The oracle node A that obtains the processing right first parses the chain code event, obtains the off-chain data request parameters, and then initiates a request to the data source based on the off-chain data request parameters. The off-chain data source is divided into HTTP type and database type.
[0017] a) For HTTP data sources, assemble the parameters URL, Header, and Body according to the specified request method, initiate an HTTP request, and parse the response result;
[0018] b) For database data sources, assemble the parameters Host, Port, Database, and User to establish a connection based on the specified database type, execute SQL queries, and parse the response results;
[0019] (2.5) Oracle node A assembles the parsed response data and calls the callback interface in the oracle contract. The callback interface in the oracle contract calls the callback interface in the user contract to write the off-chain data into the chain or execute subsequent business processing logic;
[0020] (2.6) The user queries the off-chain data acquisition results based on the event ID.
[0021] Optionally, execute step (1) to initialize the system contract. The specific process includes:
[0022] Call the initialization interface in the system contract to upload the name and identity information of the oracle node to the chain;
[0023] The initialization interface first checks whether this uplink information exists.
[0024] If it exists, return it directly.
[0025] If it does not exist, the name of the oracle node is used as the key and the identity information of the oracle node is written into the chain as the value.
[0026] Further optionally, step (1) is performed. Before registering the off-chain data source, a trusted third-party organization acts as the oracle operator and adopts a whitelist security policy to manage and limit the available off-chain data sources.
[0027] When registering an off-chain data source, the data source parameters provided by the oracle operator are first verified. After the verification passes, the oracle service calls the registration interface in the oracle contract to write the data source parameters and related information to the chain.
[0028] Optionally, when the oracle service calls the registration interface in the oracle contract, it needs to authenticate the caller first, that is, check whether its identity is the oracle node.
[0029] If the authentication fails, the registration of the off-chain data source fails.
[0030] If the authentication is successful, the off-chain data source is successfully registered, and the data source parameters and related information are written to the chain.
[0031] Further optionally, for HTTP type data sources, the verification process includes: checking whether the request methods GET and POST are supported, whether the URL complies with the specification, and whether the data formats JSON, XML, HTML, and Plain are supported;
[0032] For database data sources, the verification process includes: checking whether the database type is supported, whether the user has query permissions, and whether there is an injection risk in the SQL statement.
[0033] Further optionally, step (2.3) is executed, and all oracle nodes in the oracle cluster listen to the chain code event at the same time and start to seize the event lock. In this process, a record is inserted into the data table of the database with the event ID as the primary key. The record content includes the event lock version, oracle node name, creation time and update time. The event lock version indicates the number of times the event lock has been seized. The initial value is 1, and the value increases by 1 each time it is seized. If the oracle node successfully inserts a record into the data table, it indicates that the event lock has been seized successfully, and it obtains the processing right of the chain code event.
[0034] Further optionally, when executing step (2.3), the oracle node that has not obtained the processing right is responsible for monitoring the processing status of the chain code event, including: after reaching the processing deadline of the chain code event at a certain stage, checking the status of the chain code event in the database, if the chain code event does not flow as expected, it is considered as a processing timeout, and the oracle node that has not obtained the processing right can re-seize the event lock, and successfully seize the event lock to obtain the processing right of the chain code event, and the oracle node B that obtains the processing right continues the subsequent processing according to the current status of the chain code event until the chain code event reaches the termination state;
[0035] When the oracle node that has not obtained the processing right re-seizes the event lock, the event ID, the name of the oracle node that currently seizes the event lock, and the update deadline of the event status are used as filtering conditions to update the event lock version and oracle node name in the data table. A successful update indicates that oracle node B has successfully seized the event lock, and oracle node A no longer has the processing right for the chain code event.
[0036] Further optionally, the database is also used to store event processing status, event processing results, and off-chain data sources that are managed by the oracle operator.
[0037] Compared with the prior art, the off-chain data acquisition system based on the oracle cluster of the present invention has the following beneficial effects:
[0038] 1. The present invention is composed of a cluster of centralized oracle nodes. Each node collaborates based on the event lock implemented by the database, and can be dynamically expanded according to the system load, thereby improving the efficiency of data acquisition and reducing the complexity of the design. At the same time, it ensures the high availability of the service, avoids the influence of the coordination and game process required for reaching consensus between multiple nodes in the decentralized operation mode on the timeliness of the data, and also avoids the influence of single point failure on the system availability, thereby improving the fault tolerance of the system. At the same time, in order to ensure the authenticity and credibility of off-chain data, a trusted organization is used as the oracle operator, and a whitelist security policy is used to manage and limit the available off-chain data sources, thereby reducing potential security risks.
[0039] 2. This invention establishes a trusted data path between the blockchain network and the Internet, enabling smart contracts to access Internet data, breaking the limitation of smart contracts in obtaining off-chain data. This not only improves the ability of the blockchain network to interact with the outside world, but also further promotes the development of blockchain technology;
[0040] 3. The present invention adopts a centralized cluster operation mode, which avoids the influence of coordination and game process between multiple nodes in a decentralized mode on execution efficiency, and also ensures high availability of services; nodes can be dynamically added and deleted according to load conditions, with good flexibility. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Attached Figure 1 It is the system architecture and flow chart of the present invention. DETAILED DESCRIPTION
[0042] In order to make the technical solution, the technical problem solved and the technical effect of the present invention more clearly understood, the technical solution of the present invention is clearly and completely described below in conjunction with specific embodiments.
[0043] The following is a relevant explanation of some words involved in the embodiment.
[0044] Oracle is a tool that provides trusted data for the chain, a bridge between the blockchain and the real world, and allows smart contracts to securely access and execute operations based on external data. The basic concept of oracle: Oracle is a mechanism that inputs real-world data into the blockchain, which enables smart contracts to react based on external information and becomes the only way for smart contracts to interact with external data. Function of oracle: Oracle enables smart contracts to perform operations involving external data by providing external data to the blockchain; Oracle provides a mechanism that allows closed, deterministic blockchain systems to interact with the external uncertain world. Working principle of oracle: Oracle obtains data from reliable external sources and transmits this data to smart contracts; smart contracts execute predefined logic based on the data provided by the oracle, thereby triggering corresponding on-chain operations. Types of oracle: ① Centralized oracle, managed by a single center, may be easier to integrate and control, but there is a risk of centralization; ② Decentralized oracle, does not rely on a single source, improves the reliability and tamper-proofness of the system; ③ Alliance oracle, between centralization and decentralization, consists of multiple trustworthy nodes to provide data verification.
[0045] Smart contracts are self-executing codes stored on the blockchain that allow for the automatic execution, control or recording of events and actions related to the contract terms when specific conditions are met. The core advantages of smart contracts are their automation, transparency and immutability, which make them particularly suitable for implementing decentralized applications (DApps).
[0046] Oracle contracts are a special type of smart contract that can be modified and parameterized based on existing smart contract templates. Oracle contracts allow smart contracts on the blockchain to access external data. As a bridge between the blockchain and the outside world, Oracle contracts can provide data that is not stored on the blockchain (off-chain data), such as Internet data, IoT device status, or information from other blockchains.
[0047] User contracts are smart contracts designed specifically for specific users or application scenarios. User contracts can be modified and parameterized based on existing smart contract templates. Unlike oracle contracts, user contracts usually do not involve data interaction with external systems, but focus on business logic, permission control, and asset operations. User contracts can be customized according to specific business needs, including asset management, identity authentication, voting systems, etc. They provide users with a way to program and implement custom logic on the blockchain.
[0048] Embodiment 1:
[0049] This embodiment proposes an off-chain data acquisition system based on an oracle cluster, which is applicable to the Fabric blockchain network, and includes a system contract, a database, and an oracle cluster, wherein:
[0050] The system contract includes the oracle contract and the user contract, among which: the oracle contract is responsible for providing the user contract with a unified interactive interface for obtaining external data, and after verifying the request parameters of the user contract, encapsulates it as a chain code event and sends it to the oracle cluster; the user contract contains specific logic related to the business, calls the corresponding interface in the oracle contract in a cross-contract manner, and then initiates a request for obtaining off-chain data, and accepts the call of the oracle contract to obtain the returned off-chain data, and then executes the subsequent business processing logic;
[0051] The database implements event locks based on data tables. All oracle nodes in the oracle cluster share the same database, and any oracle node in the oracle cluster collaborates with the remaining oracle nodes through event locks.
[0052] The oracle cluster includes one or more centralized oracle nodes. Each oracle node is responsible for listening to the chaincode events from the oracle contract and obtaining the processing rights of the chaincode events by preempting the event lock. The oracle node that obtains the processing rights first parses the chaincode events, obtains the off-chain data request parameters, and then assembles the request parameters, initiates data requests to the approved off-chain data sources, and parses the response results. Finally, the oracle contract calls back the user contract and writes the response data back to the chain.
[0053] The specific process of the off-chain data acquisition system of this embodiment acquiring off-chain data is described in the following steps (1) and (2).
[0054] (1) Before starting the oracle node in the oracle cluster, perform the following preparations:
[0055] (1.1) Initialize the system contract. The specific process includes:
[0056] Call the initialization interface in the system contract to upload the name and identity information of the oracle node to the chain;
[0057] The initialization interface first checks whether this uplink information exists.
[0058] If it exists, return it directly.
[0059] If it does not exist, the name of the oracle node is used as the key and the identity information of the oracle node is written into the chain as the value.
[0060] (1.2) Registering off-chain data sources. The specific process includes:
[0061] Before registering an off-chain data source, a trusted third-party organization will act as the oracle operator and use a whitelist security policy to manage and limit the available off-chain data sources.
[0062] When registering an off-chain data source, the data source parameters provided by the oracle operator are first verified. After the verification is passed, the oracle service calls the registration interface in the oracle contract to authenticate the caller, that is, to check whether its identity is an oracle node.
[0063] If the authentication fails, the registration of the off-chain data source fails.
[0064] If the authentication is successful, the off-chain data source is successfully registered, and the data source parameters and related information are written to the chain.
[0065] It should be added that off-chain data sources are divided into HTTP type and database type.
[0066] It should be added that the SSL / TLS encrypted communication protocol is enabled between the off-chain data source and the oracle cluster, and between the oracle cluster and the blockchain service to establish an end-to-end secure transmission channel.
[0067] (2) The oracle node in the oracle cluster is started to obtain off-chain data, including the following operations:
[0068] (2.1) The user selects the target data source, adds relevant parameters, and calls the off-chain data request interface in the user contract.
[0069] (2.2) The request interface of the user contract calls the corresponding data request interface in the oracle contract according to the data source type in the additional parameters. The oracle contract verifies the request parameters based on the built-in verification rules. After the verification passes, it returns a globally unique event ID to the user contract, encapsulates the request parameters into a chain code event, and sends it to the oracle cluster.
[0070] It should be added that: off-chain data sources are divided into HTTP type and database type;
[0071] For HTTP data sources, the verification process includes: checking whether the request methods GET and POST are supported, whether the URL complies with the specification, and whether the data formats JSON, XML, HTML, and Plain are supported;
[0072] For database data sources, the verification process includes: checking whether the database type is supported, whether the user has query permissions, and whether there is an injection risk in the SQL statement.
[0073] (2.3) All oracle nodes in the oracle cluster listen to the chain code event at the same time and start to seize the event lock, that is, insert a record into the data table of the database with the event ID as the primary key. The record content includes the event lock version, oracle node name, creation time and update time. The event lock version indicates the number of times the event lock has been seized. The initial value is 1, and the value increases by 1 each time it is seized. If oracle node A successfully inserts a record into the data table, it indicates that the event lock has been seized successfully, and it obtains the processing right of the chain code event.
[0074] The oracle node that has not obtained the processing right is responsible for monitoring the processing status of the chaincode event, including: after reaching the processing deadline of the chaincode event at a certain stage, checking the status of the chaincode event in the database.
[0075] It should be added that: if the chain code event does not flow as expected and is deemed to have timed out, the oracle node that has not obtained the processing right will immediately re-seize the event lock, that is, use the event ID, the name of the oracle node that currently seizes the event lock, and the update deadline of the event status as screening conditions, update the event lock version and oracle node name in the data table, and a successful update indicates that oracle node B has successfully seized the event lock, and oracle node A no longer has the processing right for the chain code event. The oracle node B that has obtained the processing right will continue to process the chain code event according to the current status until the chain code event reaches the termination state.
[0076] (2.4) The oracle node A that obtains the processing right first parses the chain code event, obtains the off-chain data request parameters, and then initiates a request to the data source based on the off-chain data request parameters.
[0077] a) For HTTP data sources, assemble the parameters URL, Header, and Body according to the specified request method, initiate an HTTP request, and parse the response result;
[0078] b) For database data sources, assemble the parameters Host, Port, Database, and User to establish a connection based on the specified database type, execute SQL queries, and parse the response results;
[0079] (2.5) Oracle node A assembles the parsed response data and calls the callback interface in the oracle contract. The callback interface in the oracle contract calls the callback interface in the user contract to write the off-chain data into the chain or execute subsequent business processing logic;
[0080] (2.6) The user queries the off-chain data acquisition results based on the event ID.
[0081] In summary, the off-chain data acquisition system based on the oracle cluster of the present invention avoids the influence of the coordination and game process required for reaching consensus among multiple nodes in a decentralized operation mode on data timeliness, and also avoids the influence of single point failures on system availability, thereby improving the fault tolerance of the system.
[0082] The above specific examples are used to explain the principles and implementation methods of the present invention in detail. These examples are only used to help understand the core technical content of the present invention. Based on the above specific embodiments of the present invention, any improvements and modifications made by technicians in this technical field without departing from the principles of the present invention should fall within the scope of patent protection of the present invention.
Claims
1. An off-chain data acquisition system based on oracle cluster, applicable to Fabric blockchain network, characterized in that: Includes system contracts, databases, and oracle clusters; The system contract includes an oracle contract and a user contract, wherein: the oracle contract is responsible for providing the user contract with a unified interactive interface for obtaining external data, and after verifying the request parameters of the user contract, encapsulates it as a chain code event and sends it to the oracle cluster; the user contract contains specific logic related to the business, calls the corresponding interface in the oracle contract in a cross-contract manner, and then initiates an off-chain data acquisition request, and accepts the call of the oracle contract to obtain the returned off-chain data, and then executes the subsequent business processing logic; The database implements event locks based on data tables. All oracle nodes in the oracle cluster share the same database, and any oracle node in the oracle cluster collaborates with the remaining oracle nodes through event locks. The oracle cluster includes one or more centralized oracle nodes. Each oracle node is responsible for listening to the chaincode events from the oracle contract and obtaining the processing rights of the chaincode events by preempting the event lock. The oracle node that obtains the processing rights first parses the chaincode events, obtains the off-chain data request parameters, and then assembles the request parameters, initiates data requests to the approved off-chain data sources, and parses the response results. Finally, the oracle contract calls back the user contract and writes the response data back to the chain.
2. According to claim 1, an off-chain data acquisition system based on a oracle cluster is characterized in that: The process of the system obtaining off-chain data is as follows: (1) Before starting the oracle node in the oracle cluster, perform preparation work: initialize the system contract and register the off-chain data source; (2) The oracle node in the oracle cluster is started to obtain off-chain data: (2.1) The user selects the target data source, adds relevant parameters, and calls the off-chain data request interface in the user contract; (2.2) The request interface of the user contract calls the corresponding data request interface in the oracle contract according to the data source type in the additional parameters. The oracle contract verifies the request parameters based on the built-in verification rules. After the verification passes, it returns a globally unique event ID to the user contract and encapsulates the request parameters as a chain code event and sends it to the oracle cluster; (2.3) All oracle nodes in the oracle cluster listen to the chain code event at the same time and start to seize the event lock. If the event lock is successfully seized, the processing right of the chain code event is obtained. The oracle nodes that have not obtained the processing right are responsible for monitoring the processing status of the chain code event. (2.4) The oracle node A that obtains the processing right first parses the chain code event, obtains the off-chain data request parameters, and then initiates a request to the data source based on the off-chain data request parameters. The off-chain data source is divided into HTTP type and database type. a) For HTTP data sources, assemble the parameters URL, Header, and Body according to the specified request method, initiate an HTTP request, and parse the response result; b) For database data sources, assemble the parameters Host, Port, Database, and User to establish a connection based on the specified database type, execute SQL queries, and parse the response results; (2.5) Oracle node A assembles the parsed response data and calls the callback interface in the oracle contract. The callback interface in the oracle contract calls the callback interface in the user contract to write the off-chain data into the chain or execute subsequent business processing logic; (2.6) The user queries the off-chain data acquisition results based on the event ID.
3. According to claim 2, an off-chain data acquisition system based on oracle cluster is characterized in that: Execute step (1) to initialize the system contract. The specific process includes: Call the initialization interface in the system contract to upload the name and identity information of the oracle node to the chain; The initialization interface first checks whether this uplink information exists. If it exists, return it directly. If it does not exist, the name of the oracle node is used as the key and the identity information of the oracle node is written into the chain as the value.
4. According to claim 2, an off-chain data acquisition system based on a oracle cluster is characterized in that: Execute step (1). Before registering an off-chain data source, a trusted third-party organization acts as the oracle operator and uses a whitelist security policy to manage and limit the available off-chain data sources. When registering an off-chain data source, the data source parameters provided by the oracle operator are first verified. After the verification passes, the oracle service calls the registration interface in the oracle contract to write the data source parameters and related information to the chain.
5. According to claim 4, an off-chain data acquisition system based on oracle cluster is characterized in that: When the oracle service calls the registration interface in the oracle contract, it needs to authenticate the caller first, that is, check whether its identity is the oracle node. If the authentication fails, the registration of the off-chain data source fails. If the authentication is successful, the off-chain data source is successfully registered, and the data source parameters and related information are written to the chain.
6. According to claim 4, an off-chain data acquisition system based on a oracle cluster is characterized in that: For HTTP data sources, the verification process includes: checking whether the request methods GET and POST are supported, whether the URL complies with the specification, and whether the data formats JSON, XML, HTML, and Plain are supported; For database data sources, the verification process includes: checking whether the database type is supported, whether the user has query permissions, and whether there is an injection risk in the SQL statement.
7. According to claim 2, an off-chain data acquisition system based on a oracle cluster is characterized in that: Execute step (2.3), all oracle nodes in the oracle cluster listen to the chain code event at the same time and start to seize the event lock. In this process, a record is inserted into the data table of the database with the event ID as the primary key. The record content contains the event lock version, oracle node name, creation time and update time. The event lock version indicates the number of times the event lock has been seized. The initial value is 1, and the value increases by 1 each time it is seized. If the oracle node successfully inserts a record into the data table, it indicates that the event lock has been seized successfully, and it obtains the processing right of the chain code event.
8. According to claim 7, an off-chain data acquisition system based on a oracle cluster is characterized in that: When executing step (2.3), the oracle node that has not obtained the processing right is responsible for monitoring the processing status of the chain code event, including: after reaching the processing deadline of the chain code event at a certain stage, check the status of the chain code event in the database. If the chain code event does not flow as expected, it is considered to be a processing timeout. The oracle node that has not obtained the processing right can re-seize the event lock. If the event lock is successfully seized, the processing right of the chain code event is obtained. The oracle node B that obtains the processing right continues the subsequent processing according to the current status of the chain code event until the chain code event reaches the termination state; When the oracle node that has not obtained the processing right re-seizes the event lock, the event ID, the name of the oracle node that currently seizes the event lock, and the update deadline of the event status are used as filtering conditions to update the event lock version and oracle node name in the data table. A successful update indicates that oracle node B has successfully seized the event lock, and oracle node A no longer has the processing right for the chain code event.
9. According to claim 2, an off-chain data acquisition system based on a oracle cluster is characterized in that: The database is also used to store event processing status, event processing results, and off-chain data sources that are managed by the oracle operator.
Citation Information
Patent Citations
Data processing method and device based on block chain, equipment and storage medium
CN111930852A
Business processing method and system, electronic equipment and storage medium
CN113301163A
Distributed oracle machine implementation method and system
CN113420336A
Oracle machine management system for accessing third-party information based on distributed network technology
CN113676498A
Digital certificate system and method based on TEE oracle cluster and block chain
CN114465817A