How eoracle Works

eoracle operators connect, compute, validate, and publish off-chain data to Dapps securely, permissionlessly and transparently.

Reporting

Any real-world data that's publicly accessible 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 Eoracle chain. Any operator with an above-threshold stake can participate in reporting, with each report being weighed by their stake. A report for a specific operator cannot be faked by another party, and their participation is an immutable part of the Eoracle chain state once received.

Validation & Aggregation

Operators running an eoracle node receive transactions with signed reports. The node then verifies the identity of the reporter via their cryptographic signature. Due to the permissionless nature of the protocol, reports are censorship-resistant. Periodically, smart contracts aggregate the verified reports with dedicated schemes.

Aggregation schemes are programmable and customizable. 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 system nodes and verified by them.

This design enables Dapps to programmatically tailor aggregation for their specific needs, including custom data requests, minimum stake requirements, number of participants, consensus threshold, and more.

The computational aggregation process as well as the result become an immutable part of the eoracle chain. The decentralized, transparent, and permissionless nature of this process ascertains that both the reports are authentic, and the aggregation results are accurate and verifiable. Those results are then eligible for publication.

Publication

Publication is the process of posting eoracle aggregated data onto a target blockchain. To achieve this, each target blockchain has a smart contract that verifies, parses, and approves data signed and produced by the eoracle chain.

For gas costs & 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 the use of threshold signing and signature aggregation. This cryptographic scheme allows for securing desired assets with a scalable signature scheme.

Consumption

Dapps, individuals, or 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 users Solidity and Typescript/Python SDK.

Off-chain infrastructure can use our WebSocket interface to cache aggregated data, to 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.

Conclusion

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, eoracle platform enables users with customizeable 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.

Last updated