What is HyperOracle? ELI5

An article to send to your internet frens when they ask you about HO.

HyperOracle is a zkOracle network for on and off-chain data. What does that mean? HyperOracle is a programmable infrastructure solution; with our meta apps for indexing and automation, developers can reliably access on-chain data and off-chain trustless computation to for example trigger smart contract events.

But that already exists, The Graph and Chainlink have already built that! Aren’t we reinventing the wheel here? What sets us apart from existing indexing and oracle solutions is the underlying technology and how that makes our services ultimately more reliable and decentralized.

Let’s look at two major data problems in the web3 arena, how they are being solved right now and how HO is solving them much faster and more reliably.

First of all, Blockchain Indexing

Due to their decentralized nature, blockchains are pretty hard to index in comparison to anything in web2. It’s super easy to make a web search and find what you’re looking for using Google, but to be able to search on-chain data an entirely new way of indexing had to be invented. Luckily the Graph and block explorers like Etherscan paved the way here. They help (mostly) developers to access on-chain data.

Etherscan indexes blockchains in a centralized fashion, so ultimately if you make a search on Etherscan you have to trust whatever it spits out. But web3 is all about building fully trustless applications, so the Etherscan approach only takes us that far. The Graph has come up with a token incentivized model to index blockchains. People can stake the Graph tokens to prove that they have good intentions. They then provide data for the creation of subgraphs which are optimistically being accepted as true until proven otherwise. If the data turns out to be wrong the stake of the person who provided the data is being slashed. Imagine Google search results were supplied by individual web indexers, this is basically what the Graph contributors do. Unfortunately the staking mechanism doesn’t weed out all the bad actors which means the data that’s supplied by the Graph is not good enough for many DeFi apps where accurate price data is crucial. HyperOracle solves that problem.

Instead of introducing a fancy staking mechanism HyperOracle solves the problem with math. The on-chain data is indexed by a HyperOracle node runner, similar to how it’s done in the Graph Network. But instead of staking, the HyperOracle node runner puts a so-called commitment on-chain through which later on the correctness of the data that they have indexed can be verified. Let’s unpack this a bit more.

This is the ELI5 version, but basically the node runner puts a math formula on-chain, for everyone to see. Think for example: 5x + y = 23. Let’s pretend it would be really hard to solve this formula. The node runner then does the computation off-chain and only shares the result on-chain, in this case x = 4 and y = 3 (of course there’s more than one solution). With that information we can quickly verify if the information is *correct*, what we don’t know is how the calculation was done.

So by doing off-chain computation with on-chain verification through a computation commitment (the formula we shared on-chain) we have created a very fast and efficient way of proving that the data we eventually submit is correct. In the case of HyperOracle there is a 100% guarantee that the data provided is true. We can within seconds verify whether the data is correct and start using it however we please. Whereas in systems like The Graph, we don’t have any guarantee on that level apart from the stake the indexer put down.

Traditional Blockchain Oracle Use Cases

So that’s how the mechanism behind zkIndexing works. If we now take a look at the reverse, getting off-chain data on-chain, namely traditional blockchain oracles, then we can see that so far data has been “secured” by multi party computation and mass aggregation. And guess what, our solution is pretty much the same as in the on-chain data case 😉

Chainlink’s oracle network has a similar approach to The Graph. Even though Chainlink encrypts the data at the source, there’s no way to mathematically verify the correctness of the data itself. Instead, the data is being sourced from various sources, multiple nodes are doing the same computation and submit the results, that are then aggregated and eventually submitted to a smart contract. To ensure the integrity of the data, Chainlink uses a number of security measures such as data aggregation, reputation systems, and multi-party computation. But none of them is entirely bulletproof.

A quick TL;DR so far:

Input oracles like Chainlink and let’s call them output oracles like The Graph rely on aggregation and tokenomics to make sure the right data is being supplied. Whether it’s on-chain to off-chain or off-chain to on-chain, both systems cannot fully guarantee that the data is actually correct.

We at HyperOracle think that’s not enough to make data secure; applications should be trustless. Remember the old Bitcoin saying, “don't trust, verify.” That’s why we are building a computation commitment based oracle network, meaning mathematical proofs are being used to verify the data in seconds instead of trust-based, token-incentivized, or aggregation models where data integrity can never be 100% guaranteed.

So now that we know what users can do with HyperOracle, let’s quickly look at some use cases. Our main meta apps right now are zkIndexing and zkAutomation. zkIndexing leverages on-chain data, whereas zkAutomation leverages off-chain computation and on-chain inputs. So, how does HyperOracle compare to the Graph? And how does HyperOracle compare to Chainlink?

The Graph: On-chain data is secured by tokenomics.

Chainlink: Off-chain data is secured through tokenomics and on-chain aggregation.

HyperOracle: Both on and off-chain data are secured by math.

I hope this little comparison with existing solutions helps explain where HyperOracle adds value, namely when it comes to data security and validity. How this all works via the magic of ZKPs is explained in a lot more technical detail here and here.

If you’re interested in following our journey in building a zkOracle Network then make sure to follow us on Twitter and to join our Discord.

Subscribe to ORA
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.