Introduction

Context for the Blueprint

Aleo is seeking proposals (RFPs) for the design and implementation of a zero knowledge oracle mechanism to consume data trustlessly from any https source, create data feeds from anywhere on the web, and securely express them in web3.0 while minimizing the risk of compromise. This should be done in Leo, Aleo's zero-knowledge programming language supporting a range of high level operators.

Blockchain oracles are the primary way to bring off-chain data in the world to the blockchain so we can bridge the gap from web2.0 to web3.0.

To give a simple example, an oracle providing the price of Ethereum serves as a live price feed that on-chain smart contracts can utilize. Many oracle constructions unfortunately introduce opaque trust assumptions.

Using zero knowledge proofs, zkOracles can compress complex computations into proofs that can be quickly verified on-chain to prove data validity in a scalable, secure and even privacy-preserving way.

Example Use Cases

These are proposed test use cases from Aleo that can serve as standalone examples to pursue when building a zero-knowledge oracle. However, Aleo encourages proposals beyond these use-cases as well.

Academic Institutions Use Case

A zkOracle that can provide academic information from universities and institutions would enable users to bring their academic history on-chain.

This oracle therefore consumes data from a 3rd party source - in this case, academic institutions and universities and using zero-knowledge proofs, can verify the provenance and validity of the data while retaining privacy.

Users who would like to attest their academic reputation on-chain can then initiate a web request from the zkOracle to use the data to verify passing marks and class credits.

Financial Institutions Use Case

A zkOracle can also consume financial data from traditional, centralized financial services by using a notary, an additional party that helps to sign web requests in your browser on your bank’s behalf through cryptographic guarantees.

This enables users to show “proof of assets” on-chain and receive decentralized finance loans and provides access to on-chain liquidity based on web2.0 assets.

Identity and Reputation Use Case

Similarly, a zkOracle can consume account data from centralized social media services by using the same notary to sign web requests in your browser on a service’s behalf.

This enables users to attest to identity claims or claim social ownership of an account and adds expressivity to existing decentralized identity solutions.

Process

You can expect the Blueprint process to occur roughly as follows: