Optimistic Oracles: Why human-powered truth machines are inevitable oracle technology

ETHCC 5 · July 2022 · 15:30

Chris Maree examines optimistic oracles and economic incentives for resolving assertions through human participation.

Speakers

Topics

From ETHCC 5, hosted by Ethereum France.

Transcript

okay so heart spoke about daos and how we need this enforcement mechanism behind this so we're going to talk now about the optimistic oracle which is our solution to bringing on this long tail data that heart spoke about so hart had this same slide but there is this misconception that oracles are a mechanism for bringing price data onto blockchains and this is primarily where they're used today you know you create a money market or some sort of lending protocol or whatever and you need the price of btc or the price of eth to do liquidations but ultimately oracles are much more than this and like if you actually look at the origins of this word it is more than just you know about pricing it is ultimately a truth machine something

that we use to bring real world information that the blockchain could never know about onto the blockchain so there are many types of truths that we might need on a blockchain and like i said earlier pricing is just one kind of this we could do long tail contracting like heart was discussing but also a wide range of other kinds of financial contracts and financial derivatives so today d5 is really just this one slither you know what is the price of btc can we do a liquidation but in the long arc this is going to be so much more right and our core thesis is that today oracle is only really being used for say 10 of what they're eventually going to be used for and you know if we're going to actually achieve a world in which d phi and daos and all of this

is actually competing with the traditional system there's going to need to be substantial growth in the information that we can bring on to chain and actually arbitrate uh things that are happening in the real world using a blockchain as the settlement layer so price feeds today are very much a push-based system if you look at things like chain link for example uh you're pushing prices all the time to actually enable these protocols to work and this is all about verifying data sort of correctness in advance and then pushing it on chain the important thing with these is that there tends to be almost never an arbitration mechanism if things go wrong so if you push a wrong price what happens while your liquidations

have gone through and now we're in a bad situation this hasn't happened that badly uh to date and with existing oracle solutions but it is inherently brittle and things can and will go wrong so that's the one element and the other thing i think is that they're very restrictive in what we can actually do so if you want to have like long tail complicated data apis are not necessarily going to be the right solution for this so web 3 needs a long tail oracle something that we can use to bring in more complicated data on chain and ultimately this needs to enable us to create verifiable claims of information um ideally also this needs to be cheap right this idea of pushing prices all the time is not exactly an economical way to do things

especially when chains have limited capacity if you you're not bringing on a lot of data then maybe that's okay but this long tail is going to bring on a lot of information um and i guess the the last key component is having some sort of arbitration or human judgment layer where things go wrong especially if the information is complicated we need a way to arbitrate that so our solution to this and is creating a mechanism called an optimistic oracle and you can think of this in a similar way as you would think about like an optimistic rollup where you have things happening uh in some separate system and if things continue to work correctly then we continue with the happy path and only in the event of

fraud or something going wrong do we arbitrate and then for us what this lets us do is bring on any kind of information on on chain and if we enforce the correctness after a dispute so as with like an optimistic roll-up you basically introduce a liveness period and we'll look into the mechanism shortly but use this liveness period to let people verify the correctness of information brought on chain and the really powerful thing about this is it doesn't limit the kind of data you can bring on chain normal oracles are like i mentioned earlier are very limited in what we can bring on but with this you can literally ask any arbitrary question like anything is possible to be brought on chain with us the other benefit is we can we can add in economic incentives

into uh how complicated or how expensive it is to manipulate these oracles whereas in more like push-based methodologies this is a bit more difficult and we can look into that in a bit so what is uma so we are an optimistic oracle well one of the products that we offer is an optimistic oracle that can provide and verify arbitrary data on chain and we use this to secure lots of different smart contracts and different kinds of financial applications and ultimately this is a mechanism to tell truths about the world onto the blockchain it is inherently a truth machine so there's some things that have already been built on uma including prediction markets uh d5 insurance protocols optimistic governance like what heart

was talking about cross-chain messaging and bridging kpi and success tokens and options which are sort of very bespoke financial derivatives and the point really is like any kind of financial product can be built using this framework including like a much wider set of things that what you can do with traditional oracle designs so let's go into like the actual nitty gritty of how an optimistic style oracle would actually work so they're four key components that we need to create one of these mechanisms the first thing is we need a network of people that are going to be requesting prices proposing prices and then disputing prices so a price requester will be a protocol that actually needs specific bespoke information maybe it's a

prediction market right like what was the outcome of the election or who won the super bowl any kind of arbitrary question then proposes or a group of people that are going to be watching these requests come in and submitting answers to these questions and they're doing this due to what i mentioned earlier on the economic incentives of the system so we can add in rewards and bonds and a bunch of other economics to make sure that all these actors have aligned incentives to perform the correct things then the disputers they sit off on the side watch what's going on with the proposes and requesters and sort of police the system and the really important part about this is you only need a single honest disputer to be online to make sure that the entire system is secure that you

can't get fraud through if there's just one person watching and that's really important because you don't there's no like honest majority assumption or anything like this it's just one actor needs to be watching the system detecting fraud and they can pause or interrupt the process and go to arbitration which we'll talk about as well um so then you need a dispute resolution mechanism which is this arbitration process and we have our own system for doing this at uma another thing that's very important is having a documented process for actually converging on the truth right the people that are proposing and disputing need to have a well-defined rule set on what the truth actually looks like and how we get there if there's ambiguity and like what the actual definition of this price request is then you're never going to

really be able to come to a consistent uh like deterministic outcome for it for a request and then economic bonds uh and and guarantees to both incentivize and to secure the the interactions between these different players in this like repeated game so this diagram basically shows the flow of an optimistic oracle request so first thing that happens is someone asks a question right and in this example we're looking at was this relay fulfilled on a deposit so one of the products that we we've built or incubated at uma is a cross chain bridge called a cross and we use the optimistic oracle to verify the correctness of deposits moving between chains so a random piece of information but not available on the destination chain so we

asked the question was this relay for fold did this relay for fill the deposit on the layer 2 right then a proposer can come along and see either yes it did or no it didn't and they can propose an answer to the solution along with a bond the disputer can then see this was this correct or was it wrong if they think it was right then they don't do anything right the optimistic part the happy path is do nothing you wait through the liveness and at the end of the liveness we then know that this thing that happened was taken as correct because it was not disputed therefore by definition it must be the only correct answer and we then take that as the truth of the world in the event there's a dispute we can then enter into an escalation game effectively

where we submit these disputes to the dvm so the dvm is the data verification mechanism and it's uma's arbitration mechanism um i'm not going to go into too much detail about how this works but for all intents and purposes it's a shelling point oracle based off of italics shelling point paper uh four or five years ago the basic idea is that you take all the uma token holders and they vote on what the correct resolution should have been in the dispute using a commit reveal scheme so the voters will commit to an answer and then reveal and by using the commit reveal mechanism basically you can't see what everyone else is voting on and therefore the only economically rational thing to do is to vote on the correct price and these incentives come about because

we now have a slashing mechanism as well as rewards for people that vote correctly so if you vote wrong or against the shelling point then your share of the total uma supply will deflate over time um so yeah economic incentives around converging on the correctness of the price and but we only really need to use that system in the event of a dispute um we've been running this system this optimistic oracle system on mainnet for about a year and a half to two years now and we very seldom actually get to the dispute layer we process a lot of requests uh mainly for prediction markets and for bridging protocols and things like this um and almost never does it get to the dvm layer because these economic incentives sort of up the layers as we go are robust enough that

you know if you do the wrong thing you will lose right when it gets to the dvm the dvm will converge in the correct answer and you'll lose your bonds so one thing that's kind of cool about the optimistic oracle is that it's inherently able to be deployed onto a multi-chain world so this sort of request proposed arbitrate flow is inherently asynchronous so what that means is this is actually a really great design to put onto many different chains and then you basically leave the optimistic oracle on the layer 2 or the roll-up or whatever and only in the event of a dispute do we take the message back to layer one where we arbitrated in the dvm so we have the optimistic oracle i think on like eight different chains now uh and you know you

only need one dvm on layer one to arbitrate in the case of fraud being committed on these chains um and yeah it's worked pretty well so far for that so some kind of questions or that the oracle can answer which is powering some interesting products so poly market uses the optimistic oracle on polygon as their main settlement layer we have insurance protocols that ask was this protocol hacked which is sherlock we have a cross which can answer questions like was this cross chain relay valid right we have uh success tokens like fox the fox token uses this for their like success tokens um which is the shapeshift protocol we have bobo which have created like um also success tokens

around if their tbl reach a certain metrics and i think the really important point of this is to just realize like these are completely divergent questions right these are all very different kinds of data from very different sources in different environments and there's no there wouldn't really be other mechanism where you could bring this information on chain in a robust way with economic guarantees uh yeah without actually using a sort of commit reveal mechanism for arbitration and an optimistic oracle for actually bringing this data on chain so we can really power all these different solutions so what is the end goal for this hard spoke a lot about this idea of generalized contracting but it's also really everything else in d5 right like as you saw in the previous slide we

didn't talk anywhere there about money markets or synthetics or anything like this because that's only like the tip of the iceberg the long tail is really where d5 is going to grow and if we reach you know mass adoption like ultimately there's going to be like a wide range of additional products that we haven't even thought of and it's very limiting to just be thinking in like that small slither of just this is the price of btc so the key takeaways uh i think are that oracles uh today are built for sort of this fat head this like left slice of the graph um and they can be wrong there is no sort of arbitration or mechanism for recourse but ultimately web3 is going to require truths and data that's more than just

prices right there's this entire long tail that we're targeting and optimistic articles like the one that we've built we think is pretty well suited to capture this long tail and to actually bring on this more complicated information on chain um and ultimately yeah the need for this kind of information is much bigger than just price feed articles right like any kind of contracting that you would want to build that needs something slightly more complicated is going to need a more sophisticated oracle and i think that's uh optimistic oracles like the one that we've built is is a critical mechanism to actually enable the sort of generalized contracting and to enable projects to build sort of bespoke forms of of any kind of financial contract or derivative or organizational structure

ultimately it can arbitrate any information that you need so as my talk you can check out more about us at sumoproject.org and please hit me up on twitter as well [Applause] no questions question um yeah you're saying that the the sort of fat head of things is the um i guess they're like price oracles and things like that and these questions are more generic but i they're still kind of global questions um would this be possible to use for more local questions

so um like going on a smaller scale might be like delivery of an asset and the temperature of that asset that's like very very local and not everyone will have the answer for that like what what size do you think this sort of teeter's off and it needs to be something else yeah so i think the important detail is that the proposers and disputers in the system need to be able to publicly verify the information that's really where the limiting factor comes in and if you just consider like the flow of a price request in the case of a dispute if it gets to the dvm the voters also need to be able to verify it so i'd say like the line that we draw is anything that's publicly verifiable can be brought on chain using a system like this if it's private information i mean

maybe there would be a system where you could use some zk or some some other technology to sort of verify the correctness without revealing it but i think that all of those kinds of systems are going to introduce some other trust assumptions so for now our target is publicly verifiable information cool thank you [Applause] you