Allison Lu: UMA – The Open Financial Platform for Building Synthetic Assets #349
23 Jul 2020 · 1:20:50
Allison Lu, co-founder of UMA (Universal Market Access), talks with Epicenter about the open-source protocol for building synthetic assets and derivatives on a blockchain. She explains how UMA lets counterparties create custom financial contracts without relying on an on-chain price feed, instead incentivizing participants to flag improperly collateralized positions in what the protocol calls a priceless design. The conversation also covers how synthetic tokens are traded, the liquidation and minting mechanics behind them, and the dispute process built in to prevent manipulation.
Speakers
Topics
Transcript
This is Epicenter, episode 349 with guest Allison Lu. Hi, I'm Sebastian Couture and you're listening to Epicenter, the podcast where we interview crypto founders, builders, and thought leaders. On this show, we dive deep to learn how things work at a technical level and we fly high to understand visionary concepts and long-term trends. If you like the Epicenter, the best way to support us is to leave a review on Apple Podcasts. If you're on a Mac or iOS device, the easiest way to do that is to go to epicenter.rocks/apple.
Today our guest is Allison Lu. She's the co-founder of UMA or Universal Market Access. UMA is a protocol for building synthetic assets and they allow any two counterparties to design and create their own financial contracts for derivatives. In the traditional finance world, a common example for these types of financial assets are interest rate derivatives or interest rate swaps as they're commonly called. And these are used to hedge against fluctuations in currency exchange rates. Today, interest rate swaps are commonly used and the contracts to create these derivatives are standardized across the industry.
Well, similarly, UMA allows anyone to create a derivative on a blockchain. The enforcement of the agreements happens on the network and so does the settlement, which is instant. And what's unique about UMA is how they ensure proper collateralization of derivatives. So, Maker and other platforms based on collateralized positions use a price oracle and will automatically liquidate positions if they go below a certain threshold. Well, UMA is priceless in that it doesn't use an on-chain price feed as the primary means to determine proper collateralization. Rather, it incentivizes participants to identify improperly collateralized positions. So, essentially, UMA token holders vote on
the price of an asset, and that is what informs the protocol of the price of that asset. I learned a lot from this conversation, thanks to Fred Eka and Sunny, who bring their in-depth understanding of DeFi and crypto economics to the conversation. And since Allison comes from the traditional finance world, this episode offers great insights into traditional finance and specifically, it's a great crash course in financial derivatives. If you enjoyed this conversation, you'll want to stick around afterwards for the interview debrief, and you can hear it by becoming an Epicenter premium subscriber. As a premium subscriber, you'll get access to a private RSS feed where you can hear that debrief after every episode, and you get enhanced features as well, like full episode
transcripts and interview chapters, which allow you to easily skip to specific sections in the interview. You'll also get access to round table conversations with Epicenter hosts and bonus content we put out from time to time. We just made changes to the pricing, so you can subscribe now on a monthly plan, and you can do so at premium.epicenter.tv. And now, here's our conversation with Allison Lu. Today, we're on with Allison Lu from the UMA protocol. Is it UMA or U M A? I don't know. I've heard different people pronounce it differently. What what is the canonical pronunciation?
Internally, we say UMA, but I see the confusion. It stands for Universal Market Access. I've been saying it right, which is good. So, the UMA protocol, and they are working on a number of different things around oracles and synthetics and derivatives on chain. We're happy to have you on. We've had a little bit of a DeFi theme for the past couple of weeks on uh Epicenter. We've covered Open and Nexus and uh people working on like things in the realm of derivatives. So, happy to have you on now as well. Could you tell us a little bit about your background?
Thanks a lot for having me on this show. I've actually been a listener, so it's exciting to participate now. So, I actually come from more of a traditional institutional finance background. I started my professional career at Goldman where I was a rates trader for 6 years. That's actually where I met my co-founder Hart. And, you know, it was a really great experience, but after a number of years there, I really just realized that what was happening was there was a consistent kind of lack of incentives alignment in financial markets and a very strong concentration of power and wealth. It ultimately just created an environment and a problem set that wasn't very interesting or exciting to me.
I really wanted to leave and build something from the very ground up and hopefully build something that would be, you know, positive for society. And so, I decided to leave in 2015, joined a startup, and then later on got back together with Hart to start UMA. How did you guys come in touch with blockchain? So, I think your project is very adaptly named Universal Market Access because that's exactly what it represents, but how did you come to understand that blockchain was a great technology to make that happen? Well, I definitely didn't understand it from day one. One of the stupid things that I'm still kicking myself in the butt for is I read the Bitcoin paper in 2010. It actually made the rounds on Wall Street. And on my first read, I
completely discounted it. I just thought, you know, this is for like drug dealers or money laundering or something, not really relevant to me. Later on, I think as I actually started to develop more of a greater context for how the financial system really worked, that was when I slowly started to appreciate, you know, the actual technology underlying it and how transformative it could be. I think the turning point for me is when I went down the crypto rabbit hole probably in early 2017. A friend asked me to advise on his lending project. He was building a lending protocol on chain. And I had been working for a digital lending startup, so he thought that my background might be relevant. I was merely advising on the credit side of things, you know, credit evaluation and things like that, but I did start to dig
in a lot deeper on um the actual technology. The turning point for me was when I realized that blockchain was basically a way of encoding economic incentives into a technology itself. So, it's no longer just like a product that people interact with and use and do whatever they want, but instead it's a product that people interact with and use, and every step along the way there is an economic incentive that's effectively coordinating that behavior. So, I just thought this is an insanely new way of organizing human behavior and coordinating human action. And if the system designers can try to be kind of fair-minded about how uh what actions they incentivize, then perhaps we can
start to think about building financial systems that are going to be a little bit more fair, accessible, and usable um for, you know, every person and not just the people with lots of power and wealth. Having seen the legacy system on the inside, what were some of the main things that you saw that you didn't like and you kind of wanted to change? The biggest thing by far is just incentives alignment, as well as information asymmetry. You know, conversations that happen behind closed doors with handshakes between people who are in positions of power that may not necessarily have the same incentives as, you know, the people that are using their product or service or interacting with in some way. And, you know, in
blockchain with everything kind of being open source, at least in decentralized finance by design, you can have some level of trust in the leaders, but most importantly you can always verify. And you can always look at what are the actual actions that are happening, what is the incentive mechanism underlying this technology. Maybe not on the DeFi protocols themselves, but on like in the around the development culture around blockchain projects. Do you think that we have sort of moved away or just recreated a lot of the sort of structures in traditional Wall Street with like backroom deals and things like this?
Within blockchain development, there's almost like two universes. There's a universe of speculators that just really care about the coins themselves and they just, you know, "When finance? When moon?" is kind of the typical question that they might ask. The other universe is the universe of people that just really care about these technical problems. Um, and, you know, designing interesting incentives-aligned systems. So, I can definitely say that, you know, in some universes it does kind of feel like the legacy system has been replicated um on chain and then in other universes, people are still kind of trying to work towards a better system.
You don't have still see the benefit in having something like derivatives around even on blockchain technology. So, can we briefly talk about derivatives as a market? So, basically, what are the boundaries of derivatives? What do they typically comprise? Who trades on these markets? Do you have to be an accredited investor or can anyone trade? And are there professional market makers? Just to be clear, you're referring to kind of the fiat financial system, right? I'm referring to the legacy financial system. Or even like a step further back, which is like, what even is a derivative? I feel like it oftentimes the term that people have always heard, but like, you know, I didn't fully understand what it meant until like relatively recently where I'm like, "Okay, this is what
actually the definition of this word is." Derivatives are pretty complex things. Um, they're basically a way for you to get risk exposure to some sort of underlying price index without needing to necessarily touch that underlying price index or asset itself. So, as an example, right? If you and I want exposure to the price of gold, one way for us to get that is to either become a gold miner or to go and buy some gold coins. And, you know, both of those are obviously difficult. Instead, though, you could actually simply enter into a derivative transaction where the payout of that derivative is tied to the price of gold. So, maybe a developer way of framing it is a derivative is really a particular set of if-this-then-that
logic. If this price goes up, then make this payment to this counterparty. And you can apply that general if-this-then-that concept to pretty much anything and create incredibly simple derivatives that just, you know, mimic like the payout of one US dollar, or you can create um incredibly complex derivatives with like, you know, 5x payouts between this range and 3x in a different range, and then it knocks in above this price, but knocks out below this price. You know, very, very complex structures are possible, too.
Are these typically collateralized? Or do I just, as someone who issues these derivatives, do I give a guarantee that I will pay out without actually having to collateralize uh the offer? In the legacy financial system, derivatives are typically traded on a combination of collateralized and uncollateralized means. Uh since the '08 financial crisis, uh generally in institutional markets, there's been a a huge shift towards um better collateralization and risk models to, you know, avoid one derivative contract going down causing insolvency like ripple effects in um the rest of the system. But one of the interesting things about um legacy financial system derivatives versus, say, what
derivatives on the blockchain might look like is in the legacy system, most derivatives are traded OTC, over the counter, meaning really just between two parties. They're not registered anywhere, they're not visible anywhere. It's just you and I agree between the two of us how much collateral we've got to put up and what the terms of the agreement are. It's very difficult to evaluate at a system-wide level how much risk there is in the entire system and who is holding the risk and to stress test the system of like if this happened in the financial markets, what would happen to all these derivative trades, what would happen to all these counterparties. I mean, there are some standards um across the industry, but they're not international. They're not always international standards or
internationally enforced standards um around rules of collateralization and managing counterparty risk, etc. etc. What's kind of cool about putting derivatives on the blockchain is well, everything's in a smart contract. You can see exactly where the collateral is, you can see exactly what the terms of the payouts are and if we're talking about say an UMA ecosystem of synthetic contracts between different counterparties, you can actually go through and and tally up you know, how much risk is at stake here and what the stress test or what the effect of a stress test would actually be.
Another really cool difference between the legacy system and what a blockchain-based system would be is in the legacy system, there's this whole it's actually an incredibly complicated process to go from you know, a simple verbal agreement of what we're going to trade to actually settling that trade, moving the money and the collateral around, valuing the trade, revaluing the trade and then moving more money around to reflect the new prices. Happens at the pace of banks, which is you know, 9:00 to 5:00 on weekdays and not weekends. Whereas in the blockchain, it's a 24/7 market. Um you can value your contracts more or less instantaneously, you can move your collateral around more or less instantaneously.
Sometimes that that doesn't work out for the best, but in general that makes for more efficient markets. You mentioned another term there in there which was synthetic. What's the difference between like a derivative and a synthetic? Let me give you my shot and tell me if I'm correct or not. Where, like you mentioned, a derivative is anything that gives you exposure to the price of an asset without you having to hold the asset. So, a synthetic would be sort of a subset of derivative where there is no underlying asset being held anywhere in the system. So, like an ETF would be a derivative because it is like, you know, whatever the ETF company is, they bought up a bunch of the stocks
and that I have shares in that holding company and that sort of is a derivative, but it's not a synthetic because they actually own the stocks. But a synthetic would be if no one was actually holding the stocks anywhere in the system. That would be a synthetic. Is that the right way of thinking about it or am I completely off base? Honestly, the jargon is really hard here. I've actually personally never heard of ETFs being referred to as synthetic unless the ETF trades synthetic products as part of its strategy. I've never heard of ETFs being referred to as a derivative unless they trade derivatives as part of their strategy. I actually think like these two things, they're probably not exactly the same, but it's really more of an intuitive thing rather than some sort of a canonical definition. At the end of the day, derivatives and synthetics are
both just referring to a case where the payout to a contract's counterparties depend on observing the price of something else. And it's really just as simple as that. So, are the words basically interchangeable then? In the legacy financial system, people don't really use the word synthetic. I would say that they generally convey the same concept or similar concept. Can you put like a ballpark number on how big the legacy derivatives market is and who typically trades on it?
So, the legacy derivatives market, as I kind of mentioned, it's a bit opaque because a lot of these are bilateral agreements between two counterparties that doesn't get reported anywhere. The estimate ranges from anywhere between 500 trillion to over 1 quadrillion dollars of notional volume that's currently outstanding in the derivatives market. And the vast majority of those derivatives, 80 to 90% are interest rate derivatives, my old stomping grounds, or FX derivatives, which are really just a different form of interest rate derivatives. Most of the participants in those markets are um generally, you know, larger institutional participants.
And kind of the reason why interest rate derivatives market is so much larger than say stock derivatives or something like that is because there is no other way to trade interest rate risk. Derivatives are really great because they make payouts based on observing a price index. There's no requirement that the price index needs to exist as an actual thing in the real world. And so, interest rates measure the basically cost of borrowing or lending money over a period of time. It doesn't exist because it it exists across time.
Um it's not something that you can like touch and feel in any way or own. You can't own interest rates. So, derivatives are really efficient way of being able to express views on interest rates over time, and there really is no other way to express it. And the reason why interest rates are important is because interest rates are of course the backbone for any time you're borrowing or lending. And you know, of course borrowing and lending are one of the foremost um financial primitives that you know, we all have use for in our lives.
So, if I wanted to buy a derivative to kind of hedge my risk for something or against something, how would I go about finding that derivative and the person who might sell it to me. And if it doesn't exist, or I can't find it, can you give us an idea of how expensive it would be to kind of ask a bank to kind of produce custom-made derivative for you? So, there's kind of two primary forms of derivatives in the legacy world. There's those that are exchange-listed, so standardized contracts that everybody can look at and just buy and sell like widgets on an exchange. And then there's the OTC market, which is the much larger market. So, actually most products go
through the intermediary of some sort of a investment bank or primary dealer. Within the bilateral OTC derivatives, there's really simple standardized stuff that's pretty much like boilerplate at this point. And then there's like the really, really complex, super customized stuff. It really is the bank's business. It's their entire business model to make markets on these things. I always like to say there's always a price for something, no matter what. It's just that you might not like my price, but there's always going to be a price for something. One example that might help explain why somebody might use, say, an interest rate derivative. Imagine you're a bank, you're a lender, and you give somebody a 30-year mortgage. That's kind of standard in the United States. It
gives somebody a 30-year mortgage on their house, um you're typically promising them that you're going to lend them this money over this time, and the borrower needs to make payments at a fixed interest rate over 30 years. The issue is that for most banks, they're not able to lock in 30 years of fixed-rate funding for this loan that they just made. Typically, the funding that banks have access to is much shorter term in nature. And so, the bank might make a 30-year, uh loan, and basically have exposure to interest rates over a 30-year tenure, but then only be able to hedge themselves on a very short-term, 1-year basis. An interest rate derivative would let them basically hedge out this exposure, swap out the 30-year fixed rate exposure they
have for the one-year interest rate exposure that they have access to. And in those like pretty vanilla interest rate derivatives are actually quite standardized in the marketplace now. And you know, you would just typically call up your local investment bank that you have a relationship with and get them to quote you the trade. What's kind of interesting is that when people think of financial markets and efficiency, people almost always default to exchanges as like being the place where liquidity aggregates, but actually a far greater volume trades OTC. And there's been a body of research that suggests that assuming no collusion, which is a big assumption, but assuming no collusion, simply putting four to five dealers in competition with each other gets you the same if not better price than trading on
a completely open exchange. Those are obviously biggest assumptions of whether or not collusion happens and you know, the balance of power and all that. I don't know how well that necessarily translates into the blockchain space, but that's kind of how legacy works. And if I wanted a completely custom-made derivative, as I understand I can make on UMA with simple if this then that logic, how much would that cost me if I phoned up my investment bank that I don't have, but my investment bank that I don't have a relationship with and they could kind of spin this up for me. Yeah, I assume it would entail a lot of legal work and there'd be a lot contract and I see a lot of legal fees and so on. I'm sure there are people who buy very
specialized products. How much would setting up a deal like this cost me? Is it like in the tens of thousands or is it less? I mean, what do you think? I think that it's difficult to quantify the cost because it's more about monetary cost and more about resource cost, right? So, you're writing some crazy specialized smart contract. We all know how security in smart contracts is so important cuz you're putting your assets in there. You know, that is not something that you would necessarily want to do for your super customized trade unless that super customized trade was quite large um and you know, worth that initial investment. What we're trying to do to make it a little bit
easier is we're trying to create kind of the standard boiler plate templates that people can use to define the payout logic, audit that really robustly, make it really safe and secure, but then allow the user to define their own custom uh price identifiers that they can stick into this boiler plate template and use our technology that way. From that perspective, simply getting a price idea approved in our system and making it resolvable is is not an expensive thing. It just requires the broad support of the UMA token governance participants. And then as far as like getting liquidity for the other side, that just always depends on what you're trying to do.
Let's uh talking about a bit about like what the protocol actually does. So, how I see it is you can kind of look at the protocol in like two different pieces that are sort of linked together, but are somewhat separate products almost that kind of dependencies on each other. The first is like the Oracle system for how to actually get like price data on chain when needed. And then the other is at the UMA protocol, but it's sort of like the set of the framework or those templates you mentioned that allow people to sort of build the derivatives. Let's maybe talk about the framework first. So, currently are you guys only building this like framework like you've defined like okay, these are the pieces that are needed if you want to build a
sort of derivative system. Like what goes into a template for like this? Like what are the pieces? So, you're right. So, we're an open source financial contracts platform with two kind of components that we're building. One component being our Oracle, we call it the data verification mechanism or DVM. And then the second component is smart contracts that define synthetic payouts. And we call that design philosophy priceless contract design. The first design that we've actually put out there and is on mainnet being used by people today is a priceless contract design that defines synthetic tokens. I mentioned earlier how synthetic products are really just kind of like if this then
that statement. Effectively the synthetic token smart contract factory is just a specific type of program. Makes it so that you can take the money that you have like die or ETH or whatever it is and use it to create long and short risk on something else where the long risk is in the form of a token. Would it be helpful to kind of go through an example of how this might work? Uh yeah. So actually let's talk about something that's actually on mainnet right now. So the comp token launched a few weeks ago and when it first launched it was a very small floating supply. It was quite difficult to get short the comp token if you thought that it was overvalued. And so this is a great natural use case then for a synthetic product. What we used is
this synthetic tokenization, you know, factory. We combined it with the comp USD, you know, price index which we got from mainstream exchanges. And then we collateralized it using a stable coin in this case die. And together this defined a synthetic token that tracked the price of comp. So this synthetic token if you hold it, it would basically give you price exposure to the price of comp because at expiration each synthetic comp token was redeemable for the amount of die that comp was actually worth. So if comp is say $150 at expiration, then every comp synthetic comp token would allow you to redeem it
for 150 die. On the other side, the person who minted this token basically needed to deposit collateral to and over collateralize it to mint the token. And he or she would be responsible for topping up more collateral as the price of comp went up or they could withdraw collateral if the price of comp went down. In this way, the person who minted the token was effectively able to get short comp by minting the token and then selling it to somebody else. What's kind of cool here in all of this is the only collateral we've used is die. We never had to touch the comp token itself, and it still allowed users to get the long exposure to comp as well as the short exposure to comp.
In this way, we actually characterize this synthetic tokenization process as really being more of a loan than a derivative. You can think of it as a user depositing collateral to borrow synthetic comp and then selling synthetic comp on the open marketplace in order to attain short comp price exposure. I see like why someone would want to short comp using this, but let's say I wanted to be long comp and happens that, you know, comp is also a token on Ethereum. Why would I prefer to go long on a synthetic versus just holding the comp token directly?
Totally. That's a great question. If everything else was equal, you wouldn't. It's almost always better preferable to hold the real thing rather than the synthetic thing. But there are some reasons why you might. So, first reason why you might is uh to the extent that people who want to go short are willing to pay for the privilege of going short, which in the case of comp they were, then you could potentially buy synthetic comp at a discount to real comp. So, if you already owned one real comp, you might be able to sell that and buy like 1.1 synthetic comp, and then eventually at expiration, the two prices would converge. So, it's a way of effectively earning yield. It's using a token that you already have, but then kind of
almost quasi lending it in a weird way to buy the synthetic version that allows you to earn yield. Another reason um could be taxes, and I'm not a tax lawyer, so I can't comment on like specific policies by country or anything like that, but the treatment of gains on um real underlying assets versus synthetic exposures differs in some countries. Um so, that might be another reason why somebody might prefer a synthetic version over a real version. I understand how these derivatives can be minted. How are they traded? Do you have an exchange venue, or how do buyers and sellers find each other?
Yeah, in the case of synthetic tokens created using the um UMA protocol technology, these are just standard ERC-20 tokens. The only thing that's not standard about them is that at at expiration, you can use them and redeem them for, you know, the collateral currency at the settlement price. But in the meantime, because they're just ERC-20 tokens, we get to tap into this cool universe, this huge universe of um ERC-20 distribution. So, all the exchanges, decentralized or centralized, AMMs, or, you know, wallets, or even OTC and RFQ systems that support the ERC-20 standard. So, it they don't have to trade inside of the UMA ecosystem. They
really have value outside of the UMA ecosystem. Remembering that we're a developer platform, our hope is actually that uh we simply serve to um enable developers to create the products that they're interested in. And if they want to build their own exchange, have at it. Or if they want to tap into existing exchanges, then that's great, too. Are they fungible, though? Like, let's say I created a synthetic contract shorting COMP, and then, you know, Federico had created one a couple days later. Are the long tokens between these two, or even the short tokens between two, are they fungible?
Every synthetic token contract is multi-party, so multiple people can use the same contract to uh mint the same fungible synthetic comp or synthetic tokens. The only way in which they would not be fungible would be if you were deploying a completely different smart contract. But tokens that are similar, but not strictly the same. So basically, the same long or short token, but with a an expiration date that is like 12 hours off, or a different um leverage, for instance, there would be no natural pricing occurring between these.
If I have like a long token that expires in a week, and a long token that expires in a hour, then they should be pretty similar in price, so they should be highly correlated, but the system doesn't know that, right? So we need to distinguish then between the market price of the tokens and like the underlying reference price. First, you're right that if the parameters are different, then the two tokens will not be fungible to each other. We would expect though that the two tokens would trade at a market price that's quite similar to each other. But regardless of whether they actually do or not in the marketplace, the um underlying price that these two tokens are referencing is still the same comp USD price.
This whole mechanism to create the synthetic tokens is the one that's sort of live on mainnet. These are called total return swaps. Is that correct from what I read in the paper? So total return swaps was actually the very, very first iteration of our idea back in February of 2018. The synthetic tokens are are not total return swaps, no. Can I create like another form of derivative using the UMA protocol? So, you know, a couple weeks ago we had Open on the show. So, could I create a put option using this framework?
Actually, you can. There's a couple of different ways to do it. So, one is you can use the existing synthetic tokenization mechanism and plug in a price where the price, for example, could track the price of a put or it could track the payout of a put. And uh that would be one way to basically hack the existing smart contract that's already audited on mainnet, but to apply it towards creating options. A second way would be to just define a brand new um kind of smart contract factory that's a little bit more optimized for creating options contracts. And we haven't gotten there yet ourselves, but certainly, you know, we're an open platform that anybody's
free to build on top of. And so, if anybody wanted to basically use our oracle as the dispute and resolution oracle and put option smart contract on top of it, um they would be free to and really encouraged and welcome to. The derivatives that you currently have on your platform, do they have expiry dates? So, the synthetic tokens that um we've created, I'd probably characterize them more as loans than derivatives, like weird synthetic loans. It's difficult to analogize sometimes with these words, but in any case, the synthetic tokens uh created on top of our platform right now do have expiration dates. The reason why they have expiration dates is because we
think that um user economic security is incredibly important, and expiration and settlement to the underlying price index is a way to guarantee that the payoff for the synthetic token will actually match the underlying thing that it's supposed to track. So, you mentioned that you can have these point at any sort of price feed. But like it doesn't necessarily always have to even be a price, right? Like, you could point it at any sort of numerical value, really, right? Like, you could have it you can have a synthetic track Reddit upvotes or I remember the one that Heart built at EthWaterloo was it was called like shitcoin or something
where it would inversely track the amount of poop sightings in SF. How does this compare to prediction markets? Like, a lot of this usage seems very related to prediction markets. And I don't know, Federico, maybe you you could have something to add here as well. But, like yeah, what what is the sort of the fundamental difference here between the two? Yeah, I I think it's pretty nuanced and I think it might be more so in the way that prediction market contracts are typically written. So, like in a prediction market contract, the questions are typically binary, like will the price of ETH be below or above, you know, X by a certain date. And they're not really meant to actually
more directly track the price itself. Like like the difference is a prediction market might ask the question, like will the price of ETH be above or below X on a certain date? Whereas a synthetic token a more common synthetic token question might be like, let's just create a synthetic token where it's just constantly tracking whatever the price of ETH is. Um, so that's that's true for categorical markets, but I mean scalar prediction markets have been out there a long time and they do exactly that. So, basically they just have a linear function for how the short and the long position are valued right?
And again, like with So, the difference though is that even in these more continuous prediction payouts, typically your upside and downside are bounded by the initial amount of collateral that you put in. And so, if ETH completely like 10x's in price, then you're going to get 100% of the payout, but you're not going to get 10x, you know, the the actual price movement. Um so, that's a key difference in the way that we've kind of designed our contracts to be able to actually mimic the price or number of upvotes or whatever index you want to stick in there. Um but, I would say that that's really more of a contract design decision.
Honestly, the difference between like a prediction market and, you know, a synthetic or derivative market, it's pretty abstract. The line's pretty blurry. So, just to understand this a bit better though, how scalar prediction markets work is you usually actually have two prediction markets that are sort of one that sets like a lower bound system one that sets an upper bound system then you kind of overlay them on top of each other and so, you actually hold two you're actually betting on two prediction markets at the same time and am I or am I completely off base here?
Yeah, I I don't know whether that question is intended for me, uh but yeah, you're off base. So, basically you you what what you do is um you basically have to specify the bounds of the prediction market. Say it's a it's it's a prediction on the price of ether and you say it's between you think in a week from now it's going to be between 200 300 um dollars, then basically you just have um two linear functions that extrapolate between the those two and then basically if you buy at say um when the price is actually at 270, then basically the short position should be worth 30 and the long position should be worth 70 and that's exactly how the payout works and if it's outside of that bound, you just get exactly what Allison
said earlier, you get basically the bounded price. Okay. And so then, what's happening in UMA is in a way there kind of is also a bound because there is an amount of collateral that's put in, but what the difference here is that in UMA there's sort of a detection of when bounds are being approached and then thus a requirement to that way it basically allows you to open the bounds more and more as they begin to be approached. Is that sort of the main difference here? I think that's a great way to articulate it. As you approach the bound, uh our contracts have incentives for that counterparty to top up on their collateral before we approach the bound so that we can increase the bound.
Mhm. Is this a mechanism that could be reproduced in prediction markets? I that would be a good question for Frederick actually. With the dynamic that we current So, with the smart contract design that we currently have, you can't do that because basically it it's predicated on the fact that everything is fully collateralized and you kind of have to reprice everything uh in terms of the new statement. So, um yeah, I mean, you can withdraw and and start a new prediction market with different bounds. I think one way of thinking about what it would take to create a system where or create a mechanism where people have the incentive to actually top up and therefore dynamically move the bound up or low higher or lower depending on the
price of the underlayer, you really need some sort of a liquidation mechanism. That's your incentive. That's your stick, basically, to enforce the contract participant to actually top up when they're meant to top up. So, can you talk about your liquidation mechanism? Yeah, sure. So, in the case of um somebody who, let's say, minted a synthetic COMP token, um they're supposed to top up and add more collateral if the price of COMP goes up. Um their incentive to do so is that if they fail to maintain the correct collateralization, then um anybody on the blockchain can see that, right? Um and all they would have to do is simply liquidate that position. So, repay that person's debt in synthetic COMP tokens and then be able to seize all of the
collateral um that that person had put in. And so, um, if we have say a 150% collateralization requirement, what it means is that when the comp the price of comp is $200, you've got to have 300 die in there, um, or else if you have like 299, you're going to get liquidated. And so, that creates, you know, $99 of incentive, um, for a third-party liquidator to go in, repay the debt, and keep the system whole. Okay, and does the ratio for collateralization vary between different assets? Because obviously there are some assets that are way more volatile than others.
Yep, exactly right. So, we've written our factory comp uh, contracts to leave that as a parameter that the, um, first deployer can define. Um, and so, uh, if we're talking about comp, which is a pretty volatile thing, probably 150% or more is warranted. Um, if we're talking about ETH, we can probably push it to the 120 to 125% range. If we're talking about something really boring and stable, like, um, I don't know, the volatility of euros versus dollars, that's like 2, 3% or something like that.
And who decides this? It's whoever generate mints the initial contract, right? It's a permissionless system, so we don't have control over it. We just define the factory. And so, I guess one of the main sort of big changes that you or ideas that you guys had was this idea of the priceless synthetics, which is sort of where the second part of the protocol comes in, which is the oracle. So, could you could you, um, go ahead and describe what is the general idea behind priceless synthetics? Yeah. Um, so the general idea is that, you know, most DeFi smart contract developers, um, kind of coming from the web two world, they just expect that there's always going to be some price server that has a cheap, fast, reliable
price that's available. Unfortunately, on the blockchain, that's just not true. And it's not true for a lot of reasons, but I I won't dig into it. Our kind of insight with priceless contract design is the realization that actually smart contracts don't need a price all the time. They only need a price when they need a price. And what I mean is you can have it be basically a pull model instead of a push model. Instead of having some independent oracle constantly pushing prices to the blockchain every 5 minutes, you could instead have these smart contracts that only ask for prices if the contract counterparties can't come to agreement themselves about what the price should be. So, in the case of again, let's talk about the comp token. We I mentioned that it's
referencing the price of comp USD from traditional exchanges. That's actually a little bit of a misnomer. What's actually happening is if somebody detects using their off-chain observation of what the price of comp USD is that somebody is under collateralized, they can just simply call an on-chain function to liquidate the position. And then there's just a little waiting period before the liquidation goes through. During this liveness period, they can get disputed. So, anyone else can see like, "Hey, this liquidation, it looks malicious. The price of comp is fine. This person did not get deserved to get liquidated." And if and only if there's a dispute, do we actually then
need an oracle to come in and basically arbitrate what the truth is. And so, in this way, we can basically make it so that there is no need for an on-chain price feed at all during the lifetime of the smart contract as long as everybody is optimistically acting honestly. And then if anyone is acting dishonestly, the threat of a dispute and the actual arbitration that goes to our oracle will ultimately resolve in, you know, whatever the actual truth is. So, what's my incentive as someone who observes that someone is claiming maliciously that someone is underwater.
Why would I report this? Mhm, yeah, exactly. So, everything's about economic incentives on the blockchain, right? So, the idea is simply that as a liquidator, if you lose a dispute, you're going to end up paying a penalty. And as a disputer, if you win the dispute, you will also receive an award from the liquidator. But, if you dispute maliciously, if you're just disputing and you shouldn't have, if it was a malicious dispute, then you'll you actually lose a small bond that you post as well. So, this seems like a, you know, a pretty good model and you know, I mean, I I actually did something similar for a protocol that I was designing as well, where like, you know,
if two parties can come to agreement, no need to involve a third-party mediator unless necessary. Why did things like Maker not like do this from the get-go? Like, you know, they they had a lot of really good mechanism design stuff. Why was this sort of not one of the obvious choices to go with as well? Interesting question. I mean, I wasn't around for Maker back in the day. They started back in 2015, right? So, honestly, I don't know. I think that you could remake Maker pricelessly and get rid of a lot of the Oracle issues that you have.
But, you know, they are what they are now. Transitioning the Oracle would be a a whole host of work for them and on top of the current issues that they're dealing with. I think maybe the biggest thing is just you ultimately like, in order for the system to work, what makes it credible is the credible threat that in arbitration, the truth will come out. And so, in the case of MKR, they use the MKR token as like the dilution mechanism to prevent contract insolvency, but they would also then need to set up some sort of arbitration mechanism with either the MKR token or a completely different token to arrive at the oracle price. For UMA, the UMA project token is basically a token
that allows users to just simply vote on governance for the system and then fulfilling these price requests. So, as for the price requests, I mean you said the truth would have come out, but basically even for something that is in principle numerical such as a price request, there's often a huge variance of prices on different exchanges. So, at the contract inception, as the person who's creating the contract, do I have to specify which price feed I'm referring for or to or which which exchange I'm referring to for the purpose of that smart contract?
Yeah, so that's exactly right. Part of what the UMA system does and what I mean by governance is the UMA holders basically vote to register new price identifiers. So, simply saying the price of COMP USD is not enough to register a price identifier. You also have to define how it's going to be calculated. You know, is it the median of these exchanges? Is it some sort of a TWAP, VWAP, you know, whatever it is. That being said, that is only the price, almost like the Schelling point, that we use to optimistically coordinate activity while the contract is live. In case of an actual dispute, our theory is that disputes should
really be quite rare. Like if you can simply read the price from three exchanges and calculate a median, that's really easy. There's not going to be ambiguity about that. You know, so if the system is actually working, you shouldn't see any disputes while those prices are valid. The only times in which you should really see disputes are when there's a great deal of uncertainty. Say one one your three exchanges goes down or say, I don't know, the whole market just like collapses and it's just a really weird time and there's a lot of uncertainty. In those cases, you want a asynchronous way to access decentralized human judgment. You don't want just a machine that's pushing the price straight from,
you know, the the exchange servers because, you know, the whole point is that there's uncertainty at that moment. And so, basically the definition of the price is should be the definition of the price most of the time. And then the definition of the price when it goes to a dispute under circumstances of a lot of ambiguity is actually a way for us to be able to access decentralized human judgment to figure out what like it really should be under that uncertainty. How big of a deal is like the delayed reaction times? Like are there situations where like immediate liquidation what would have been preferable? I'd say that there's flash crashing happen where, you know,
maybe we don't want that delayed reaction. And also the other one is what about when you create when you mint new tokens? Like at that point, don't you at least need to make sure the initial collateralization amount is correct? Yep, absolutely right. So, to answer your first question, are there cases where it's preferable to have liquidations be instantaneous? Yes, there are cases in which it's preferable. It's more capital efficient, you can use things like flash loans to execute liquidations making them, you know, a bit more sizable. And it would result result in less volatility or less risk for the liquidator or just less complicated ways of managing risk for the liquidator. If you could do them instantaneously. The trade-off, of
course, is that if you're going to do them instantaneously, then you have to use trust some API price instantaneously. And the whole point is that, you know, API prices are fallible. And to To you an example here, like let's talk about the Coinbase Oracle and their plans to kind of help DeFi um use Coinbase API prices on chain. I think it's a really cool innovation, but if you're just going to be using the Coinbase prices straight up with no delay, no processing, nothing, it's incredibly dangerous. Um they've experienced flash crashes in the past that did not reflect, you know, the actual price of the assets in the market. You know, whether you introduce some sort of a delay or other gating mechanisms before you can use that API I
price or you use, you know, UMA's prices contract design thing, that's up to the developer to decide, but just straight up using an API directly in your smart contract is dangerous and does not scale well. Your other question is on minting. You know, you have to make sure that the initial position is correctly collateralized and you're right. One assumption of our design is that the very first person to create a synthetic token is doing so honestly at um a correct collateralization. And, you know, there's theory around why that should be the case. Um like there's easier ways to scam if you're going to just try to scam someone with an under-collateralized token starting off as the first token sponsor. And then uh after that initial uh position, the what
the contract enforces is that in order to create additional tokens, you have to mint them at at least the average of the aggregate um collateralization of all people across the contract. So, the idea is if you start off in a good place, and if the liquidation mechanism keeps things in a good place, then as long as you are creating new tokens at or above the global average, that new token position should also be in a good place. And then if you want to withdraw down to keep it really capital efficient and with or withdraw gains or anything like that, withdrawals are also subject to a liveness period um before you can execute the withdrawal so that it gives people time to liquidate you if you're
withdrawing too much. Is there a delay in minting? So, no. If you're If you're going to be minting at at or above the global average, there's no delay. So, because of the delay in you know, maybe people calling for the liquidation, what if a lot a lot of things get under collateralized and I can quickly use that opportunity to mint instantly and sell off into a market somewhere or something. Does that make sense? Okay. So, like if let's say we use ETH as collateral to create a synthetic dollar and then the price of ETH collapses like in a flash crash, then I can mint more ETH token dollar ETH back dollar tokens and go and try to
sell them somewhere. Yeah. So, that would be like a failure basically of the liquidation mechanism. I think a nuance here though is that liquidations are instantaneous. It's just that as a liquidator, I can't withdraw collateral until after the liveness period passes. But, the moment I hit the liquidate function, it's done. So, um, we're not as concerned about like price movements during the liveness period. It should still stay solvent. So, how do you liquidate? Is it um, is it integrated into the protocol or are people are the liquidators just given the tokens and asked to sell wherever?
Um, so, uh, liquidations are part of the synthetic tokenization, um, protocol and, um, you know, in order to liquidate somebody's under collateralized position, you just have to repay whatever debt they owe. So, if I had minted some YCOM tokens, um, but I get myself under collateralized, somebody just needs to repay my token debt and then they can seize all of my collateral. And so, the incentive for the liquidators to actually come in is, you you inside the protocol itself. The fact that all these positions are over collateralized and they get to seize all the excess collateral um in a liquidation. Um so, our vision actually is to eventually get to a place where we build out an entire network of
distributed um liquidators and make it really easy for them to spin up and support additional synthetic assets. So, rather than like building custom infrastructure that can only support like one individual asset at a time, the idea would be that if you have if you're a liquidator with the know-how of how to liquidate, you can use your collateral to um liquidate across many different synthetic positions. Can I just go back to the assumption that the first minter of an asset has to be honest? I'm I'm sure there's other reasons, but you said it's not an efficient way to scam people.
Uh but basically, if you look at other ways of scamming people, lots of them seem incredibly inefficient. So, basically, um sending emails to millions of people about weird stories about Nigerian princes and so on, see also seems very inefficient, but basically because like the Twitter accounts of like 20 billionaires and then asking for Bitcoin. Yeah, I I know this I mean that that that was uh somewhat basic basically, the scamming expertise was somewhat underwhelming on that one. But um if you can do so at a fairly low cost, namely setting up these new assets, what would prevent you from scamming others who don't have as much expertise as you do?
Yeah, I mean, I think this is part of the danger in crypto, right? Like there's new coins that are coming to market all the time. Um some coins which are collateralized and backed by something, other coins which are just, you know, basically security tokens that somebody minted out of thin air. And if you're going to be using your money to buy a token, you are responsible for doing some diligence into understanding what this token really is. Now, if some scammer wants to use our technology to create a token and mis-market it and misrepresent what this token does, I mean, that's just a fraud and it's it's the same type of fraud that happens when some ICO scammer creates a scam ICO coin and tries to, you know, sell it to
random people on the internet. So, um that's kind of I think the trade-off of creating a permissionless, um piece of technology. We're not here to gate people or prevent particular people from being able to use the technology and that is the kind of thing that may happen when you choose to value permissionlessness. Okay, fair enough. So, maybe let's move on to the unhappy case that the the person who liquidates and the person who is liquidated don't agree that that was a just move um and there's a dispute.
So, can can you walk us through what happens in a dispute? Sure. So, if I'm a disputer and I see that there's an invalid liquidation, I have to put up a dispute bond and call the dispute. When that happens, a price request is in-queued to the UMA Oracle and it will basically say, like, what's the price of this asset at this timestamp? And uh the UMA token holders would come together to vote on what the price of it is. This vote happens asynchronously over a 48-hour voting period. Um so, there's 24 hours to commit your vote and then 24 hours to reveal your vote. At the end of the reveal period, all the votes are basically tallied and then the modal
majority is considered to be the right answer. People who voted correctly, um so, people who voted with the modal majority, receive an inflation reward where the protocol generates freshly minted UMA tokens and rewards them to the people who voted correctly. It does not reward anything to people who voted incorrectly. So, what it effectively is is a redistribution of voting power away from incorrect people or non-participants towards the correct people who participated.
And uh once the result of the vote is available, then the smart contract can now use that and use that to adjudicate whether it was a valid liquidation or not. So, this part so far seems pretty similar to like the Schelling game constructions like use and things like Augur and TruthCoin and stuff. One of the main differences what what I think what I thought was interesting was this whole piece about like measuring cost of corruption and profit from corruption. So, can you just uh describe what this entire piece of that mechanism is?
So, our core starting point is that there is no such thing as a perfect oracle. There is no such thing as a perfectly incorruptible oracle. The best that you can do is make one that's provably honest. And how we define provably honest is one where the economic incentive to be honest exceeds the economic incentive to be dishonest. Or put another way, the potential the the cost to corrupt the oracle must be greater than the potential profit that you can make by corrupting the oracle in order for this oracle to be at least economically guaranteed to be secure.
And so, the way that we think about it here then in the context of synthetic token contracts and price requests is that every time a price request comes in, there's some potential profit that you could have made if you corrupt the oracle, right? So, if that if it's asking you for the price of ETH and you reply zero, then you uh one of the counterparties in that dispute has the capacity to steal all of the collateral. And what we need to ensure is that the cost of bribing the votes to resolve to that incorrect value exceeds the potential profit to be made. And so, this happens on two levels. One is at the individual vote level. We have to ensure that the voting rewards exceed the amount of collateral at stake in
that particular dispute. And then the other is at the system-wide level. We have to ensure that the aggregate cost of corrupting the Oracle, which is basically buying or bribing 51% of the voting rights, exceeds the potential profit to be made by the entire system, so all of the collateral in the system. And so, it creates basically this nice relationship and and floor between how much usage the protocol actually gets in collateral or profit from corruption versus how much it would should cost to corrupt the Oracle, which is really just the economic the market cap of the UMA token.
But how do you actually measure the profit from corruption? How do you know what is the potential profit to be gained? And sometimes it might be even be hard to like judge that. It might be very hidden what the true profitability so is. So, in the case of this is actually a governance question. So, in order for a contract to be eligible to make Oracle calls in the first place, it must first register with the Oracle. And part of the Oracle interface is that the contract must report what its profit from corruption is. And so, basically you have to define in advance how the contract is going to be calculating the profit from corruption. And as part of governance, obviously we should only register honest
contracts. I see. And so, what prevents me from under reporting is just the fact that governance won't accept my What happens if I like get accepted and then I like modify how my contract reports it? Well, if you make a modification, then that would have to go through re-registration again if the byte code changed, right? But, let's assume hypothetically that that happened and or just we make a mistake. Let's just say governance makes a mistake. Um governance can also deregister contracts and basically implement something like emergency shutdown towards them.
And so, contracts have to pay more for usage of an Oracle the more profit from corruption there is? Yeah, exactly right. So, the way that the Oracle monetizes is um through two types of fees. There's regular fees and final fees. Regular fees are basically paid as an annualized percent of um the PFC that the contract reports. So, if you've got $100 in the contract and regular fees are 1%, um you're basically paying like a dollar per year. Right now, these regular fees are actually set to zero because the cost of corruption of the UMA Oracle or half of the voting rights is a heck of a lot greater than the amount of collateral in the UMA ecosystem. So, there's no need to basically charge fees for economic
security at this point in time. But, these fees are dynamic and they will increase if um usage increases without a corresponding increase to um the token value. The final fees are just a small flat fee that's paid every time a price request is enqueued. And um I think they're like $10 or something, you know, in that neighborhood. The only reason for a final fee is to prevent people from dossing the system, like creating a bunch of tiny positions and then, you know, enqueuing like hundreds of price requests for no reason.
One of the thing Paul Paul Storck mentions in his like whole uh TruthCoin body of work is that, you know, part of the problem is that or resulting Oracle data is on chain is infinitely copyable. And so, what what stops me from, you know, let's say I really for my contract I need the BTC USD price. And like I register or that has registers a you know, I'll set up some dummy contract. I'll make it look like it has some profit for for a corruption like and like, you know, use that, register that with UMA, and then my real contract that actually has a lot of money being built on it is actually just parasitically just copying the data that comes out of this other one.
Yeah, um parasitic usage is definitely at least a theoretical problem in the Oracle space. So, you know, the first step is of course contract registration. The second step is that these price requests are discreet. So, because we're not pushing prices to the blockchain every 5 minutes, and we're only pushing a price, you know, when it's requested, it's not useful for contracts generically. It would only be useful for some contract that needed the price at that particular moment in time, which also happened to have a price become available from an existing contract. And then the third solution, which is a contemplated solution that we haven't actually built in production yet, um is basically we can fuzz the actual results of an Oracle such that the fuzzing makes
it exclusively useful to the contract that called it and not use not directly on chain observable otherwise. How would that work? Yeah, so for example, let's just say like there's a dollar at stake and the Oracle is basically whatever the Oracle responds with is going to determine how much of that dollar I get versus you get. We can add like a little fuzzed payment from a third party. Um so, if the if the payout should be 50/50, we can add like a say arbitrary 5 cent fuzz, um such that it becomes 55 um 45, and make it so that if you try to directly on chain observe what the price is, you're going to get an incorrect answer.
You're going to get an answer 55 instead of 50. And you could of course, like if you had other And And we're getting into super hypothetical space, but you know, if you somehow had access to that third party or were aware of what that fuzzing amount was, in theory, you could back out and impute from the 55 that the right price is 50. Um but in order to do that, you'd have to um basically trust somebody somewhere. So it kind of defeats the purpose of using a decentralized oracle in the first place. How does the contract that was supposed to get that price, how does it know what the actual price the actual result was?
So the payment, the fuzz payment, basically comes from a third-party. And then you can basically use a zero-knowledge proof. So again, hypothetical space, not implemented, not tested in the wild, but in theory you could use a zero-knowledge proof of that third-party's payment to unfuzz the result so that the contract can use it, but then not actually reveal the information itself on chain. So there's a dollar at stake. The actual resulting was 50/50. Okay, so I'm supposed to get 50 cents and Frederico's supposed to get 50 cents, but the oracle lied to public, you know, it said 55/45. So Frederico now has 55 cents and I got 45 cents and oh, I'm short 45 cents. So
you're saying the UMA protocol will give me an extra 5 cents just to like make it up to me. But does that mean Frederico ran off with an extra 5 cents? No, that would come from a Charlie It would have to come from basically a friend of one of the counterparties. This fuzzing amount such that you would believe that that friend would remit that extra payment to you. Okay, I see. So I I actually have a um crypto-economic question as to So did I get that right earlier that the total supply of the UMA token has to be worth more than all the collateral in the system?
Correct. So basically if you look at um the economic activity behind the UMA token and what it does, in principle, it it kind of it rewards people who report data correctly. And basically, that begets them some sort of interest or yield or payout from the system. But, if you look at the total amount captured by the UMA token in comparison to the system itself, namely the collateral, doesn't the fact that the UMA token needs to be worth more kind of defeat the scalability of the project?
Like, it constrains the growth in collateral, right? Yeah, so I can see a tenuous hypothetical argument for why it might constrain growth of collateral like in the future. Certainly right now, it's not a constraint, right? Like, certainly right now, where the expectations for future usage are much higher than like than what is actually being used and the market cap of the UMA token reflects that. That's not the case. Yeah, exactly. But, that that means basically the the the value of the UMA token currently is speculative and not in its utility, right?
Well, speculative in the sense that it's speculative toward speculative towards what future usage would look like. But, what we do to actually enforce this inequality is we do have the ability to charge dynamic fees to users of the protocol, right? So, the ability to charge dynamic fees on users of the protocol and then to be able to use those dynamic fees to execute buybacks on the UMA token is what enforces, you know, this inequality parity. The equilibrium, there's multiple equilibrium that can exist. Happy case is more collateral, more fees, more higher market cap, and like it kind of keeps going. If thing If the fee itself is like a reasonably fair fee.
Hypothetical less desirable equilibrium would be if really high fees are needed, people actually pull collateral out. And although that's obviously not great for the growth of the system, it's still perfectly fine for the economic security of the system that simply requires that the market cap of the token exceeds the usage of the protocol. In my opinion, we're more likely to end up in the happy equilibrium of growth beginning growth in each other and kind of flywheel increasing each other rather than um this kind of downward spiral, but I concede that there are multiple equilibria that are possible.
But I mean if you if you look at the long-term sustainability, so basically if if I ask myself how much am I willing to pay for Oracle services on a derivative that I'm buying, is the answer in the region of interest that I would be expecting from a token? So basically say um as a UMA token holder, I would expect in the final phase where you you can't bank on infinite growth anymore, I would expect say a stable return of at least like 2 3 4% a year or something. And then basically the question to me would be would I be willing to pay in the amount of 2 3 4% for Oracle services on my derivative
product? So first, I think that's a really great insight. We really think that there's um multiple stages, so to speak, of the maturity of the UMA ecosystem. So if we're talking about the late stage of um UMA ecosystem maturity, where all the collateral that's ever going to be in derivatives is already in there, um and there's just no expectation of growth anymore, then you're completely right. The fees that the UMA token holders um dynamically charged to the contract has got to be something in that neighborhood of 2 3 4, really I actually think it's going to be closer to 5% at that steady state. But the thing to remember is that to get to that steady state means that things actually have to become a lot more efficient than they currently are.
Where right now, given the current level of scalability and usability of the blockchain, you have to over-collateralize by quite a bit because, you know, you've got block confirmation or you have blocks produced every 13 seconds. It's not clear that you can necessarily get your transaction into the block that you want or you have to pay very expensive gas prices to do so etc. etc. In this like hypothetical steady state where there's just like no more potential for growth anymore, I have to assume that um either Ethereum solves these issues or we've moved to a different blockchain that has solved these issues. And in that world, you can start to become a lot more efficient with your collateral.
So, instead of requiring immense over-collateralization, you know, you could um potentially look at contracts that actually have leverage and potentially a very high amount of leverage on both sides. And so, if you're paying 5% on your collateral, but your collateral is giving you 10x levered exposure, you're really only paying 0.5% on your notional, which then suddenly becomes very reasonable for, you know, the risk that you're getting. Let's say when I use the UMA contracts, do I have to use the UMA oracles, the data verification mechanism, or can I point it at using my a different on-demand pull oracle mechanism?
Yeah, um it's pretty deeply integrated with the DVM. If you wanted to rip out the DVM component from it, it's theoretically possible. You would It's definitely not as simple as like pointing it to a different address. It would probably be the type of change that would require a whole new audit. So, one of the like theories I have about the DeFi space as in general is that as more DeFi protocols come about, they are going to want they use they often will have some sort of token of their own, right? And we see this massively happening now with like Compound and, you know, a lot lot of DeFi protocol tokens.
And I get this feeling that what's going to actually happen is protocols are going to want to capture as much value for their own token holders as possible. And this will come in the form where like, you know, instead of using public goods like Uniswap, where that value, that liquidity value is going to someone else, like, you know, it makes sense maybe build your own little Uniswap, internal one that and have the you know, Omen does this for example, right? Like instead of putting I can provide some liquidity system that, you know, the value goes to the people there rather than to some other protocol. And I feel like oracles are just such an obvious place and the easiest place really to do this.
So, what's to stop people from doing that? Like, you know, earlier I asked about like, you know, could Open do this? How do you incentivize Open to build on the UMA protocol instead of just copying this oracle mechanism contracts you've written and just using the future Open token? So, let's break down the answers to that question to both the practical, like, near-term response as well as more of a theoretical response. So, practically near-term, right, the foundation does have a token treasury. The token itself does have value. And the foundation can basically direct that token treasury to reward the people that actually decide to come and build on top of the platform.
A little bit of a pay-for-play type of um tactical um and practical way to get people to use the system. Longer term um I think that I I don't think that solving the oracle problem is a easy thing to solve. Um building this network of people that actually are responding to votes and participating and understand how the system works is definitely uh a challenge. We have our hands full. Now, even then, if somebody wanted to extract as much value as they could and take that upon themselves, I think that they still then have to ask themselves or the users, the end users of the protocols have to ask themselves like what is actually more secure? Is it more secure for me to trust this random developer
dude from the internet with his oracle and his oracle token that has a market cap of $10 million or should I trust the Uma oracle that has way more money behind it and therefore way more way higher of an economic security guarantee. But I mean there are oracles that kind of that let you stake ether, right? So basically things like reality.io that is not bound basically where the total amount that could be resolved by the oracle is not bounded by the market cap of the oracle token either because it doesn't have a token or because it doesn't matter for that purpose because basically you can stake ether or another kind of asset that has against
basically compared to most economic incentives is infinite. That doesn't have that sort of problem, right? I'm not familiar with how reality.io works, but for us the ability to actually reward the people who vote correctly is something that we can only do with a native token. Like if we allowed people for example to vote based on their ownership of ETH on what the price of something was, that's fine and all except that who's going to be bankrolling the ETH rewards or if instead it's going to be a redistribution, like how do you determine you know, who is right and who is wrong to do to perform the redistribution. And if there is a strong shelling point such that everybody is
constantly voting for like the right answer and there are no or very few dissenters to perform a slashing and redistribution on, then there aren't sufficient rewards for people to participate in the first place. So I I think in principle that being a credible escalation mechanism that does not have a an upper bound is worth a lot because you can't put a price on how much it would cost to game the system. And with things like reality. Io, what there is is if someone stakes against you, you get the chance to stake against them again. And then basically they get to stake against you again. So until one person gives up and then the person who
loses and loses part of their stake. So there is no final amount. I mean basically the final amount would be half of the ETH in in circulation. But I mean obviously that's a theoretical point. Okay, got it. So yeah, I wasn't familiar with how reality. Io works and I think that like as a truth mechanism or as a truth seeking mechanism sounds super interesting and now I want to dig into it. But for us again, like there are trade-offs between like what you just described versus finality. As a financial contract user, do I want to use an oracle that might just never give me a response or might take 10 weeks, 10 days, I don't know to give me a response. And like that's kind of a trade-off decision that we've made where we can have finality in a single vote.
What about like competition from the demand side but from like the supply side? So let's say a product like chain link. It's a product that has a market cap but no working product. So what if what if they just go ahead and just copy the Uma protocol design? Is it something that you think about and how like you know, what's sort of the what's sort of the competitive moat there? Well, I mean it seems to me that we're really going after different spaces, right? They're going after the API oracle space and they're even going after like reputation. It seems like having node operator reputation is a big part of what they care about in their system. It's just a really different model from you know, what we're trying to do. Like I truly believe that our mechanism, especially when coupled with
prices contract design is far more decentralized because effectively everybody is always bringing their own price in a decentralized fashion unless there is some sort of a dispute. And even then in that dispute, you're accessing decentralized human judgment and not just some API. Now, how many people will actually value that versus the API space that Chainlink is going after and that people are kind of familiar with, that's what we're about to find out now that we're on mainnet. Cool. So, let's talk about where people can find you and what the roadmap looks like for you. So, as I understood earlier, you you guys are on mainnet but you don't have a hosted interface yourself. Can you tell us where people can find UMA if they want to open a
position? Yeah, sure. So, we're an open source platform built for developers, which is kind of why we don't host, you know, the interface ourselves, but uh, all of the synthetic tokens that have been created using UMA technology um, are basically trading on public AMMs cuz they're just ERC-20 tokens. And uh, for anybody who is interested in minting a synthetic token in order to get short exposure to it, there's some community curated um, interfaces that actually exist, which I'm happy to provide the link to you, too. People can also interact with the contracts uh, directly. We have a command line tool or um, you know, on Etherscan.
Cool. So, Allison, tell us, what does the roadmap look like for you guys? What do you hope to achieve by the end of the year or maybe next year? So, we're excited about um, a few new interesting um, infrastructural offerings as well as um, excited to promote some of the partners that are working with us. So, the first thing is that um, we can use the synthetic tokenization mechanism is quite flexible and can be used to create a lot of different things. One of the things that it can be used to create is actually y tokens as popularized by, you know, Dan Robinson's yield protocol white paper. So, basically it would be kind of like DAI except it expires and has a fixed interest rate. So, it would be a way for people to borrow and lend US dollars or
synthetic US dollars at a fixed interest rate with a fixed expiration date. So, that's going to be coming very shortly. With it is actually our own liquidity mining program. Uh I kind of chuckle as I say this cuz I swear to God we came up with it independently. Did not know that Comp was going to be launching their own. But, there will be a liquidity mining program, a small-scale experiment essentially run by the foundation, paired with the yield token product. And then, we're also working on building out perpetual mechanisms for people to use so that they can create synthetic perpetual tokens later this year. In addition to all of that, we are and always have been an open-source platform for third parties
to develop on top of. So, I'm really excited for the projects that are going to be coming to market later this year. We've got some that are working on synthetic local currencies and making it easy for people to trade, you know, as well as like swap their dollar debt into euro or Swissy or sterling debt. We've got two options protocols that are looking at building contracts on top of our oracle. And then, we've got a several different like community-curated discovery trading you know, interfaces that are coming live soon, too. So, it's an exciting time.
Cool. Sounds good. We're looking forward to that. Allison, thank you so much for being on the show. Likewise, thanks so much for having me. It doesn't end here. There's more to this conversation, and you can hear it on Epicenter Premium. As a Premium subscriber, you'll get access to a private RSS feed where you can hear the interview debrief and get enhanced features like full episode transcripts and chapters which allow you to easily skip to specific sections of the interview. You'll also get exclusive access to round table conversations with Epicenter hosts and bonus content we put out from time to time. Go to premium.epicenter.tv to become a subscriber and support the podcast.