For those who have been keeping up on the recent DeFi attacks, it’s interesting to note that there was a common theme of oracle manipulation. Stated another way, many of these attacks occurred specifically because of oracles being manipulated.
1/ Today we’re sharing a new DeFi financial contract designed to *minimize* oracle usage. This design allows for:
1. Priceless (no on-chain price feed!)
2. Multi-sponsor (pooled risk!)
3. Synthetic tokens
More in thread https://t.co/TrwRszPCNY
— UMA (@UMAprotocol) March 25, 2020
“We believe that oracles are the single biggest problem facing DeFi today. Problems with oracles have been made clearly visible by recent events: the bZx flash loan attack, SNX oracle front running, and Maker’s Black Thursday. We believe DeFi can be made safer and more secure by minimizing oracle usage.”
What are Synthetic Tokens?
As a permissionless derivatives protocol, UMA allows users to create collateral-backed synthetic tokens whose value fluctuates depending on the tokens’ reference index. Examples include stocks, commodities and bonds although virtually anything can be represented so long as it has a reliable reference index.
The creation of synthetic tokens is useful for those who wish to go long or short on different assets, information or indexes without tangibly having to acquire them. In legacy markets, we’ve seen that derivatives have historically been a strong driver of market growth and maturity, perhaps best exemplified in DeFi by projects like Synethetix.
Why Use a Priceless Token?
By mitigating the need to monitor collateralization ratios, priceless tokens have two states: “collateralized” and “undercollateralized”. The benefit of doing this is that they do not require an on-chain price feed to indicate whether the contract is properly collateralized. Instead, they have a liquidation mechanism that allows anyone to liquidate an undercollateralized position.
I found this example to be quite helpful in further explaining this rationale:
“One analogy for this design pattern is the traditional legal contract. If Alice and Bob write a contract under US law they (hopefully) enter into that contract without any intention to end up in litigation. Provided that Alice and Bob both think the other person followed rules of the contract, they will never use the court system. Priceless contract design applies similar principles by reframing the “oracle” as a type of court system: oracles should only be used as a backstop to resolve disputes that cannot be handled by mechanisms codified in the contracts themselves.”
By encouraging liquidators to monitor collateralization using off-chain price feeds, the thought is that there will be fewer attack vectors which rise from exploits to various oracles. In the case of UMA, oracles will still be used to handle disputes, with the assumption that disputes will be quite rare. Further, liquidators are kept in check by disputors who are incentivized by claiming reward penalties if a liquidator is incorrect in their assumption of a token being undercollateralized.
Perhaps the most interest angle of this topic is that of the envisioned use-cases priceless synethetic tokens could be used for. To provide a few examples, priceless synthetic tokens could represent:
- Total Value Locked in all of DeFi
- Capital supplied across all lending protocols
- DEX volume on individual projects like dYdX, Kyber and Uniswap or sector-wide volume.
- ERC20 token dominance
- The number of ERC721 transfers on OpenSea
What’s more is that both the collateral being used and the collateralization ratio of any given synethetic token is ultimately determined by the creator, providing a strong degree of customization. Any type of collateral can be used, while we expect USDC, DAI and ETH to be the likely candidates for suggested collateral at launch.
For those looking to make those tokens priceless, we recommend referencing the open-source code which can be found here.
In the meantime, be sure to stay up on all things Uma via their official Twitter.