🎉 [Gate 30 Million Milestone] Share Your Gate Moment & Win Exclusive Gifts!
Gate has surpassed 30M users worldwide — not just a number, but a journey we've built together.
Remember the thrill of opening your first account, or the Gate merch that’s been part of your daily life?
📸 Join the #MyGateMoment# campaign!
Share your story on Gate Square, and embrace the next 30 million together!
✅ How to Participate:
1️⃣ Post a photo or video with Gate elements
2️⃣ Add #MyGateMoment# and share your story, wishes, or thoughts
3️⃣ Share your post on Twitter (X) — top 10 views will get extra rewards!
👉
Distributed Price Oracle Machine: Design, Implementation and Challenges
Design and Implementation of a Distributed Price Oracle Machine System
To address the problem of single points of failure, some blockchain projects have adopted the design of distributed price Oracle Machines. For example, in a system that provides the Bitcoin to USD price service, 31 independent Oracle Machines are aggregated to serve users.
The contract source code of such aggregators can usually be viewed on blockchain explorers. By calling specific methods in the contract, all off-chain Oracle Machines contained within the aggregator can be viewed. Each off-chain Oracle Machine can provide price data in response to user requests in the aggregator by calling specific methods. These off-chain Oracle Machines are often externally owned accounts (EOA), which can provide data for not only one cryptocurrency price aggregator but also potentially serve multiple cryptocurrency price aggregators.
On-chain contracts undergo a series of strict verification steps when processing data provided by the Oracle Machine:
Some systems also introduce additional verification mechanisms, such as comparing results with other price sources to ensure deviations are within acceptable limits.
To further simplify the usage process and reduce governance costs, some projects have introduced the concept of "Feed Registry." This can be understood as an aggregator of multiple price Oracles, allowing users to directly read the price data of various cryptocurrencies through it, without the need to set up each price Oracle individually.
In practice, price data is usually aggregated through multiple layers: data source aggregation, node operator aggregation, and Oracle Machine network aggregation. The raw data mainly comes from major trading platforms and is then initially processed by professional data aggregation service providers. Node operators obtain data from multiple independent data aggregation service providers and perform secondary aggregation. Finally, the entire Oracle Machine network performs final aggregation on all nodes' data, typically using the median method.
It is worth noting that not every data update will be immediately reflected on the blockchain. On-chain updates are triggered only when the price change exceeds a specific threshold or reaches a preset time interval. This mechanism, while ensuring the reliability of the data, also leads to a relatively slow price update speed, which can range from a few minutes to 24 hours. Therefore, such Oracle Machine systems are mainly suitable for application scenarios with low requirements for price update speed.