A distributed oracle implementation method based on node binding

By inserting oracle programs into blockchain nodes and performing signature verification and multi-node binding, the problems of insufficient data reliability and high security risks in blockchain oracle technology are solved, and more efficient data transmission and reduction are achieved Effects of operating costs.

CN119066717BActive Publication Date: 2024-12-31TIAN CHU (SHANGHAI) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411548298.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-01
Publication Date
2024-12-31
Estimated Expiration
2044-11-01

AI Technical Summary

Technical Problem

Blockchain oracle technology faces problems such as insufficient data reliability, insufficient decentralization and high security risks, especially when high-frequency data updates are high and there is a risk of single point of failure.

Method used

Insert oracle programs into blockchain nodes, and through signature verification and binding of multiple independent nodes, ensuring data accuracy and security, and reducing operating costs through 0-fee transactions and token reward mechanisms, enhancing the system's Decentralization and security.

Benefits of technology

It significantly improves the reliability and accuracy of data, reduces the risks of single point of failure and malicious manipulation, reduces latency and operational costs, and enhances the security, applicability and decentralization of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119066717B_ABST
    Figure CN119066717B_ABST
Patent Text Reader

Abstract

A distributed oracle implementation method based on node binding belongs to the field of blockchain technology. It is to solve the problems of insufficient data reliability, insufficient decentralization and high security risk of existing blockchain oracle technology. The invention significantly improves the reliability of data by inserting oracle programs in blockchain nodes and signature verification between nodes. Signature verification prevents the program from being recompiled, ensures security, and increases the difficulty of fraud. By binding and verifying independent nodes, the system can reduce the risks of single point failures and malicious manipulation, thereby improving the accuracy and reliability of data. By verifying the zero-fee transactions of nodes, the operating costs are reduced. The reward token optimizes the fee structure through efficient incentives. The security of the system is enhanced through deep binding between the blockchain network, oracle and users. It will be difficult for attackers to control the entire system, thereby reducing the risks of data manipulation and system attacks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of blockchain technology, and in particular to a distributed oracle implementation method based on node binding. Background Art

[0002] Blockchain oracle technology connects blockchain with external data, enabling smart contracts to run based on real-world information. Chainlink ensures data accuracy through multiple independent nodes. BandProtocol supports cross-chain data transmission and has high scalability. Tellor uses miner bidding and token incentives to ensure data accuracy.

[0003] Blockchain oracle technology faces several major problems:

[0004] 1. Insufficient data reliability. External data sources may be unreliable or maliciously manipulated, which affects the accuracy of the data. At the same time, there may be delays when data is transmitted from the outside to the blockchain, which is particularly important for applications that require real-time updates;

[0005] 2. The degree of decentralization is insufficient. The actual number of oracle nodes may be limited, which brings the risk of single point failure. Cost is also a challenge. Using oracle services may require paying higher fees, especially in the case of high-frequency data updates;

[0006] 3. The security risk is high. The oracle itself may become a target of attack, affecting the accuracy of the data and the normal operation of the smart contract.

[0007] To solve the above problems, a distributed oracle implementation method based on node binding is proposed. Summary of the invention

[0008] The purpose of the present invention is to provide a distributed oracle implementation method based on node binding, which solves the problems of insufficient data reliability, insufficient decentralization and high security risks of the existing blockchain oracle technology in the background technology.

[0009] To achieve the above object, the present invention provides the following technical solution: a distributed oracle implementation method based on node binding, comprising:

[0010] S1: Blockchain network: insert oracle programs into blockchain nodes, centralize data APIs and request multiple hosts to respond at the same time, verify nodes, and start oracle services while starting verification of hosted oracle programs. Note that in addition to the traditional blockchain network information matching, signature verification is also added to prevent the program from being recompiled, ensuring security and increasing the difficulty of fraud.

[0011] S2: Oracle: The oracle verifies the API results in the blockchain node and performs aggregate calculations in the oracle contract, verifies the blockchain nodes and confirmation numbers one by one, and feeds back the results. If the number of votes is not greater than 50%, it will only update the number of votes. If the number of votes is greater than 50%, the user application will be executed. Note that the verification node is a 0-fee transaction. If the number of votes is greater than 50%, the token will be awarded to the first person to submit.

[0012] S3: User application: The user redeems token A for token B, requests the API in the Dapp contract to obtain the exchange rate, calculates the unique order number at the current time in the url, returns the user's order number and hash, and sends a request to the oracle contract. The oracle contract monitors synchronously and performs aggregate calculations. If the number of votes is greater than 50%, the data function is returned, and the corresponding order is processed according to the order number, and the corresponding amount is transferred to the user's token B.

[0013] Preferably, the specific working steps of the blockchain network are as follows:

[0014] S11. Set up multiple verification nodes: Add oracle programs to multiple independent blockchain verification nodes;

[0015] S12. Inter-node communication: In addition to the traditional blockchain network basic configuration verification information matching, the communication between multiple independent nodes also adds program package signature verification to prevent the program from being recompiled;

[0016] S13, Verification enabled: After the node enables the block verification function, the node's oracle service is enabled simultaneously.

[0017] Preferably, the specific working steps of the oracle are as follows:

[0018] S21. Issue a request: After receiving a request from an external Dapp contract to call an external data source, the oracle contract issues a request event;

[0019] S22. Obtaining API data source data: After the oracle program monitors the request event sent by the oracle contract, it competes to obtain API data source data;

[0020] S23. Free API data source data on-chain: As soon as the API data source is obtained, the data results of the API data source are on-chain. Because it is a verification node, there is no on-chain handling fee;

[0021] S24, Aggregate Calculation: Perform aggregate calculation in the oracle contract;

[0022] Preferably, the API data source data needs to be uploaded to the chain. In order to prevent the third-party data source API from having rate limits, a request for querying data can be issued before the node verifies the block to prevent high concurrency problems.

[0023] Preferably, the specific working steps of the aggregation calculation are as follows:

[0024] S241. Confirm the verification nodes: verify the nodes one by one and determine the confirmation number, one by one;

[0025] S242. Determine the number of votes: use 50% of the total number as the judging point to feedback the result and perform corresponding operations.

[0026] Preferably, the judgment results of the voting number are divided into the following two types:

[0027] S2421. Update the number of votes: If the number of currently submitted programs is no more than 50% of the total, the number of votes will be updated in the contract data;

[0028] S2422, reward tokens and perform user callback: If the current submission program is greater than 50% of the total, the first node that submits data source data will be rewarded. The reward here is generally the handling fee paid or passed in by the user, and the user callback will be performed;

[0029] Preferably, the specific steps of the user application are as follows:

[0030] S31. Query the exchange rate: The user calls the Dapp contract, transfers token A, and the Dapp contract calls the oracle contract to request the API to obtain the exchange rate;

[0031] S32. Token exchange: Users exchange Token A for Token B according to the floating exchange rate;

[0032] S33, generate order number: generate a unique order number according to the current time, and return it for aggregate calculation;

[0033] S34, aggregate calculation: The URL address of the exchange rate query sends a request event, the oracle program listens to the request event, all nodes send request events successively, and obtain the exchange rate. When the total number of data source submissions is greater than 50%, tokens are awarded and user callbacks are performed;

[0034] S35. User callback: The oracle calls the Dapp contract to process the corresponding order based on the unique order number and data. The Dapp contract transfers the corresponding amount to the user's token B according to the response exchange rate.

[0035] Compared with the prior art, the present invention has the following beneficial effects:

[0036] 1. The present invention provides a distributed oracle implementation method based on node binding. By inserting the oracle program into the blockchain node and performing signature verification between nodes, the reliability of data is significantly improved. The signature verification prevents the program from being recompiled, ensures security, and increases the difficulty of fraud. By binding and verifying independent nodes, the system can reduce the risk of single point failure and malicious manipulation, thereby improving the accuracy and reliability of data. More node participation can indirectly reduce delays and improve data transmission efficiency, solving the problems of insufficient data reliability and insufficient decentralization of existing blockchain oracle technologies.

[0037] 2. The present invention provides a distributed oracle implementation method based on node binding, which reduces operating costs by verifying the 0-fee transaction of the node, and rewards tokens to optimize the fee structure through efficient incentives, thereby ensuring that the cost of using this blockchain oracle technology is within a reasonable range and improving applicability.

[0038] 3. The present invention provides a distributed oracle implementation method based on node binding, which enhances the security of the system through deep binding between the blockchain network, oracle and users. It will be difficult for attackers to control the entire system, thereby reducing the risks of data manipulation and system attacks, and solving the problem of high security risks of existing blockchain oracle technologies. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 It is a schematic diagram of the overall process structure of the present invention;

[0040] Figure 2 It is a flow chart of a method for implementing a distributed oracle based on node binding according to the present invention;

[0041] Figure 3 It is a schematic diagram of the process of the blockchain network of the present invention;

[0042] Figure 4 It is a schematic diagram of the process of the oracle of the present invention;

[0043] Figure 5 It is a schematic diagram of the process of aggregate calculation of the present invention;

[0044] Figure 6 It is a schematic diagram of the process flow of the user application of the present invention. DETAILED DESCRIPTION

[0045] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0046] In order to solve the technical problems of insufficient data reliability, insufficient decentralization, and high security risks of existing blockchain oracle technology, such as Figure 1-Figure 6 As shown, the following preferred technical solutions are provided:

[0047] A distributed oracle implementation method based on node binding, comprising:

[0048] Blockchain network: Centralized Data API is a design architecture that allows users to access data stored in a centralized location through a unified interface. APIs are often used to integrate data from multiple sources, making it easier for developers to access and process the data. Oracle programs are inserted into blockchain nodes. Centralized Data APIs request responses from multiple hosts at the same time to verify blockchain nodes. The hosted oracle program starts verification while the oracle service is started. Note that in addition to the traditional blockchain network information matching, the communication between nodes also adds signature verification to prevent the program from being recompiled, ensure security, increase the difficulty of fraud, and significantly improve the reliability of data. By binding and verifying independent nodes, the system can reduce the risk of single point failures and malicious manipulation, thereby improving the accuracy and reliability of data. More node participation can indirectly reduce latency and improve data transmission efficiency.

[0049] Oracle: The oracle verifies the API results in the blockchain node and performs aggregate calculations in the oracle contract. It verifies the blockchain nodes and confirmation numbers one by one and feeds back the results. If the number of votes is not greater than 50%, it will only update the number of votes. If the number of votes is greater than 50%, the user application will be executed. Note that the verification node is a 0-fee transaction. If the number of votes is greater than 50%, the token will be awarded to the first person who submitted it. The 0-fee transaction of the verification node reduces operating costs, and the reward token optimizes the fee structure through efficient incentives.

[0050] User application: The user redeems token A for token B, requests the API in the Dapp contract to obtain the exchange rate, calculates the unique order number at the current time in the url, returns the user's order number and hash, and sends a request to the oracle contract. The oracle contract monitors synchronously and performs aggregate calculations. If the number of votes is greater than 50%, the data function is returned, and the corresponding order is processed according to the order number, and the corresponding amount is transferred to the user's token B.

[0051] The deep binding between blockchain networks, oracles, and users enhances the security of the system, making it difficult for attackers to control the entire system, thereby reducing the risk of data manipulation and system attacks.

[0052] The specific working steps of the blockchain network are as follows:

[0053] Step 1: Set up multiple verification nodes: Add oracle programs to multiple independent blockchain verification nodes;

[0054] Step 2: Communication between nodes: In addition to the network basic configuration verification information matching of traditional blockchain, the communication between multiple independent nodes also adds program package signature verification to prevent the program from being recompiled;

[0055] Step 3: Verification enabled: After the node enables the block verification function, the node’s oracle service is enabled simultaneously.

[0056] The specific working steps of the oracle are as follows:

[0057] Step 1: Send a request: After the oracle contract receives a request from the external Dapp contract to call an external data source, it sends a request event;

[0058] Step 2: Get API data source data: After the oracle program monitors the request event sent by the oracle contract, it competes to obtain API data source data;

[0059] Step 3: Free API data source data on-chain: As soon as the API data source is obtained, the data results of the API data source are on-chain. Because it is a verification node, there is no on-chain handling fee;

[0060] Step 4: Aggregate calculation: Perform aggregate calculation in the oracle contract;

[0061] It is important to note that when uploading data from the API data source to the chain, in order to prevent rate limits on third-party data source APIs, you can issue a request to query data before the node verifies the block to prevent high concurrency issues.

[0062] The specific steps of aggregate calculation are as follows:

[0063] Step 1: Confirm the verification nodes: verify the nodes one by one, determine the confirmation number, one by one;

[0064] Step 2: Determine the number of votes: Use 50% of the total number as the judgment point to feedback the results and perform corresponding operations.

[0065] The voting results are divided into the following two categories:

[0066] Result 1: Update the number of votes: The current submission program is not greater than 50% of the total number, and the number of votes is updated in the contract data;

[0067] Result 2: Reward tokens and perform user callback: If the current submission program is greater than 50% of the total, the first node that submits data source data will be rewarded. The reward here is generally the handling fee paid or passed in by the user, and the user callback will be performed;

[0068] The specific steps for user application are as follows:

[0069] Step 1: Query the exchange rate: The user calls the Dapp contract, transfers token A, and the Dapp contract calls the oracle contract to request the API to obtain the exchange rate;

[0070] Step 2: Token exchange: Users exchange Token A for Token B according to the floating exchange rate;

[0071] Step 3: Generate order number: Generate a unique order number according to the current time and return it for aggregate calculation;

[0072] Step 4: Aggregate calculation: The URL address for exchange rate query sends a request event, the oracle program listens to the request event, all nodes send request events one after another to obtain the exchange rate. When the total number of data source submissions is greater than 50%, tokens are awarded and user callbacks are performed;

[0073] Step 5. User callback: The oracle calls the Dapp contract to process the corresponding order based on the unique order number and data. The Dapp contract transfers the corresponding amount to the user's token B according to the response exchange rate.

[0074] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.

[0075] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can make equivalent replacements or changes according to the technical scheme and inventive concept of the present invention within the technical scope disclosed by the present invention, which should be covered by the protection scope of the present invention.

Claims

1. A distributed oracle implementation method based on node binding, characterized in that: include: S1: Blockchain network: insert oracle programs into blockchain nodes, centralize data APIs and request multiple hosts to respond at the same time, verify nodes, and start oracle services while starting verification of hosted oracle programs. Note that in addition to the traditional blockchain network information matching, signature verification is also added to prevent the program from being recompiled, ensuring security and increasing the difficulty of fraud. S2: Oracle: The oracle verifies the API results in the blockchain node and performs aggregate calculations in the oracle contract, verifies the blockchain nodes and confirmation numbers one by one, and feeds back the results. If the number of votes is not greater than 50%, it will only update the number of votes. If the number of votes is greater than 50%, the user application will be executed. Note that the verification node is a 0-fee transaction. If the number of votes is greater than 50%, the token will be awarded to the first person to submit. S3: User application: The user redeems token A for token B, requests the API in the Dapp contract to obtain the exchange rate, calculates the unique order number at the current time in the url, returns the user's order number and hash, and sends a request to the oracle contract. The oracle contract monitors synchronously and performs aggregate calculations. If the number of votes is greater than 50%, the data function is returned, and the corresponding order is processed according to the order number, and the corresponding amount is transferred to the user's token B.

2. A distributed oracle implementation method based on node binding as claimed in claim 1, characterized in that: The specific working steps of the blockchain network are as follows: S11. Set up multiple verification nodes: Add oracle programs to multiple independent blockchain verification nodes; S12. Inter-node communication: In addition to the traditional blockchain network basic configuration verification information matching, the communication between multiple independent nodes also adds program package signature verification to prevent the program from being recompiled; S13, Verification enabled: After the node enables the block verification function, the node's oracle service is enabled simultaneously.

3. A distributed oracle implementation method based on node binding as claimed in claim 2, characterized in that: The specific working steps of the oracle are as follows: S21. Issue a request: After receiving a request from an external Dapp contract to call an external data source, the oracle contract issues a request event; S22. Obtaining API data source data: After the oracle program monitors the request event sent by the oracle contract, it competes to obtain API data source data; S23. Free API data source data on-chain: As soon as the API data source is obtained, the data results of the API data source are on-chain. Because it is a verification node, there is no on-chain handling fee; S24, Aggregate Calculation: Perform aggregate calculation in the oracle contract.

4. A distributed oracle implementation method based on node binding as claimed in claim 3, characterized in that: It is important to note that when uploading data from the API data source to the chain, in order to prevent rate limits on the third-party data source API, a request to query data is issued before the node verifies the block to prevent high concurrency issues.

5. A distributed oracle implementation method based on node binding as claimed in claim 4, characterized in that: The specific steps of the aggregation calculation are as follows: S241. Confirm the verification nodes: verify the nodes one by one and determine the confirmation number, one by one; S242. Determine the number of votes: use 50% of the total number as the judging point to feedback the result and perform corresponding operations.

6. A distributed oracle implementation method based on node binding as claimed in claim 5, characterized in that: The voting result is divided into the following two types: S2421. Update the number of votes: If the number of currently submitted programs is no more than 50% of the total, the number of votes will be updated in the contract data; S2422, reward tokens and perform user callback: If the current submission program is greater than 50% of the total, the first node that submits data source data will be rewarded. The reward here is the handling fee paid or passed in by the user, and a user callback will be performed.

7. A distributed oracle implementation method based on node binding as claimed in claim 6, characterized in that: The specific steps of the user application are as follows: S31. Query the exchange rate: The user calls the Dapp contract, transfers token A, and the Dapp contract calls the oracle contract to request the API to obtain the exchange rate; S32. Token exchange: Users exchange Token A for Token B according to the floating exchange rate; S33, generate order number: generate a unique order number according to the current time, and return it for aggregate calculation; S34, aggregate calculation: The URL address of the exchange rate query sends a request event, the oracle program listens to the request event, all nodes send request events successively, and obtain the exchange rate. When the total number of data source submissions is greater than 50%, tokens are awarded and user callbacks are performed; S35. User callback: The oracle calls the Dapp contract to process the corresponding order based on the unique order number and data. The Dapp contract transfers the corresponding amount to the user's token B according to the response exchange rate.