Skip to main content

As Ethereum scales we see Layer 2 structures playing a key role along the way. And so we’ve sought to design a structure to not only benefit from the technical opportunities these options could have for an oracle, but to widen our reach in bringing censorship resistant oracles to more users.

Our first step in this direction was to build an oracle implementation over on Matic. The Tellor Core team has known the Matic founders since our inception and we aren’t just big fans of the technology, we also respect how they do things and the community they’re building.

If you aren’t acquainted with Matic, they are a hybrid POS+Plasma sidechain on top of Ethereum that’s fast and cheap to use. We’ve seen their user’s grow and we’ve had projects reach out to us waiting for us to build an oracle on Matic so the time has come. We are calling it Tellor Too: the Tellor Optimistic Oracle.

What is an optimistic oracle?

An optimistic oracle is a data feed that uses a centralized source, but has the option to fallback to a decentralized option (Tellor) if there is a dispute or conflict in regards to the data’s accuracy. We’ve written optimistic oracle contracts early in Tellor’s history yet always felt they weren’t viable until we felt very strongly about the security assumptions of our decentralized oracle network. Tellor has been on mainnet for 16 months, upgraded to V2, and has seen the removal of the founder’s admin key. As we’ve recently shared in our Security 201 article, the system is very expensive to break.

So how does Tellor Too work on Matic?

Dapps built on Matic, will be able to pull prices from Tellor Too’s oracle price feed without having to incentivize a network of miners to compete at PoW and submit data. This price feed will be simple, centralized, and maintained by the Tellor team for the time being. In the case a user of this oracle does not agree with the price data, it can be challenged which will force the contract to read from Mainnet Ethereum’s Tellor. Any party can call a function on Ethereum that grabs prices from Tellor and pushes them to Matic Validators who bridge the two systems and store it on Matic to be used by Tellor Too.

Challenge settlement flow:

  • User pays challenge fee and initiates challenge
  • 1 hour wait period
  • User* calls a function to retrieve price from Tellor’s mainchain oracle and is awarded Challenge fee
  • This price is required to be > 1 hour old
  • Matic Validators bring data over to Tellor Too where it’s available to be used to settle the challenge

In summary, the challenge function goes and gets a secure price from Tellor’s price feed on Ethereum. And to do this it must create a time window where you could make two strong assumptions: that the right data is available and it won’t be disputed (its final). Put simply, the data is neither too old or too young. These parameters can be tweaked in future iterations but for now we think they work well.

We are excited to see how dapps on Matic utilize Tellor Too. Stay tuned for a longer Tellor Too write-up in the near future including more technical documentation. In the meantime, if you are a developer interested in using us on Matic, please reach out and visit the repo — https://github.com/tellor-io/tellorToo/tree/matic