eOracle operators connect, compute, validate, and publish off-chain data to Dapps securely, permissionlessly and transparently.
Any publicly accessible real-world data can be added to the eOracle network, where eOracle operators will begin reporting on it. Reports are sourced from different endpoints, such as a WebSocket or an API. The frequency of reporting and the values to be extracted are programmable by the user. Once the operator obtains the data, it signs it and sends it in a transaction to the EO-chain. Any operator with an above-threshold stake can participate in reporting, weighing each report by their stake. A report for a specific operator cannot be faked by another party, and their participation is an immutable part of the EO-chain state once received.
Operators running an eOracle node receive transactions with signed reports. The node then verifies the reporter's identity via their cryptographic signature. Due to the protocol's permissionless nature, reports are censorship-resistant. Periodically, smart contracts aggregate the verified reports with dedicated schemes (OVS).
Dapps can use eOracle's standard aggregations, which employ advanced algorithms and protocols to identify and discard outliers, or custom aggregations defined for a specific use case. For consensus and security, the computation is distributed among the validators and verified by them.
The computational aggregation process and its result become an immutable part of the EO-chain. The decentralized, transparent, and permissionless nature of this process ascertains that the reports and the aggregation results are authentic, accurate, and verifiable. Those results are then eligible for publication.
Publication is the process of posting eOracle aggregated data onto a target blockchain. A target blockchain is any blockchain network where dapps wish to use eOracle data. To provide eOracle data, each target blockchain has a smart contract that verifies, parses, and approves data signed and produced by the EO-chain.
For gas costs and efficiency, the aggregated data is hashed to a leaf of a Merkle tree, mapped to the eOracle state, and signed by the current valid eOracle Validator set. eOracle uses the BLS digital signature scheme, enabling large quorum participation efficiently through threshold signing and signature aggregation. This cryptographic scheme allows for securing desired assets with a scalable signature scheme.
Dapps, individuals, and institutions can easily interface with eOracle in the smart contract layer by using the eOracle Solidity SDK and reading their required aggregated data on-chain.
Users interested in low-latency or tailored updates can also use the eOracle REST-API. This enables users to receive all the components to prove the validity of data on-chain, and then execute a dependent transaction. All cryptography, encoding, and parsing are abstracted by our Solidity and Typescript/Python SDK.
Off-chain infrastructure can use our WebSocket interface to cache aggregated data and provide a smooth and low-latency user experience, enabling instant integration and execution available on user-facing services. Our low-latency interface makes on-chain security and transparency accessible to provide a seamless user experience.
Process Overview
Reporting is permissionless, transparent, and unfalsifiable.
Aggregation is decentralized, programmable, secure, modular, immutable, and easily verifiable.
Publishing is efficient, interoperable, permissionless, and censorship-resistant.
Consumption is dynamic, highly compatible, and a simplified user experience.
In summary, the eOracle platform enables users with customizable requirements, dynamic security needs, niche data dependencies, and more to define their data flow. By defining the data type, sources, aggregation logic, and other desired variables, users can programmatically and comprehensively satisfy all workflow requirements to provide data and computation on-chain.
Any party can interface with the eOracle network for a given data need, and retrieve the proof components, a BLS-signed Merkle root & Merkle path. This can be used to prove the validity of data cross-chain. The signed Merkle root component enables the verification of a valid eOracle Validator Set, while the Merkle path can then be used to prove the inclusion of aggregated data. Due to the transparent and verifiable nature of the process, users are always assured of the authenticity of the computation, operator participation, and staked security.