UMA stands for Universal Market Access, making it a fitting title for all decentralized finance (DeFi) since universal access is ultimately the goal. But more specifically, UMA is a decentralized protocol for deploying synthetic assets on Ethereum. As such, UMA's existence will thus help create financial markets on Ethereum that are accessible to everyone in the world. It provides a framework for developers to create whatever kind of synthetic Ethereum token they desire. Like other DeFi projects we've covered, UMA uses smart contracts to replace third parties like banks and other intermediaries.
If you're not sure what tokenized synthetic assets are, please read our article, "DeFi Deep Dive - What is Synthetix?" Or, if you want to understand decentralized finance better, sign up for the DeFi 101 course at Ivan on Tech Academy.
Creative Ideas for Synthetic Tokens
With UMA, you can create tokens that can track the price of anything. And you can build secure contracts with economic guarantees to prevent your contract from being manipulated. Furthermore, UMA's minimal oracle usage increases security and reduces costs by minimizing on-chain transactions. But first, let's look at some examples of what to track with synthetic tokens:
- Currencies, oil, gold, silver, and individual stocks.
- Stock indexes.
- Cross-chain crypto assets.
"USStocks" is an example of a synthetic token. It is an ERC-20 token representing the S&P500 stock exchange, an index of the 500 major US stocks. This token represents a censorship-resistant way for people to trade the index. That means anybody with an internet connection and some cryptocurrency can participate in the US stock market. And that is exciting!
Other Use Cases for Synthetic Tokens
So, USStocks is an example of a real-world asset that a synthetic token can track, but there are other creative use cases, such as:
- Tokens that follow the total value locked (TVL) in DeFi exchanges (DEXs) like Uniswap.
- Synthetics that track the number of Metamask browser extension downloads.
- Tokens that track the success of trading associations like the Reddit group, r/WallStreetBets.
- By altering a "priceless" synthetic token's price identifier, developers can even create synthetic tokens that track tokenized versions of other derivatives like stock options. For more information on tokenized options, see our article "DeFi Deep Dive - What is Hegic?"
By the way, these are only some examples of what you can do with synthetic tokens on UMA. By no means is this an exhaustive list.
UMA's Priceless Synthetic Tokens
Users create synthetic tokens by first depositing collateral into a smart contract. Afterward, they can mint tokens backed by their collateral. All in all, synthetic tokens exhibit features of collateralized loans, futures, and prediction markets all blended.
However, in the past, synthetic token designs have typically tracked the collateral value at all times. Thus, smart contracts have had to consult on-chain price data. But UMA's priceless synthetic token is different. It can track whether or not a Tokenholder has adequately collateralized the contract without consulting an on-chain price feed. Instead, it uses a mechanism to liquidate an under-collateralized position that can be triggered automatically or manually—more on that later.
UMA for Developers
Spinning creative ideas is the fun part of the synthetic token design. But getting down to the nitty-gritty work of developing them requires some skills. If creating synthetic tokens sounds exciting to you, but you're new to crypto, make sure to visit Ivan on Tech Academy and get started with the Crypto for Beginners Course!
But if you're already a developer, the good news is that UMA's code for its priceless synthetic token design is open-source. And they have developer guides with technical explanations for those looking to create synthetic assets. Developers can quickly and easily deploy their synthetic tokens on the testnet, and when it comes time to launch, templates and a list of UMA's mainnet contracts are readily available.
The ExpiringMultiParty (EMP) Contract Template
UMA's first type of contract for creating synthetic tokens is called the EMP contract. The EMP contract lets Token Sponsors collateralize their position in a chosen currency. Token Sponsors can later redeem their tokens anytime after the contract expires.
So, this all sounds great, but what is a Token Sponsor? And what does "priceless" mean in the context of a priceless synthetic token? Well, in this case, it refers to contracts that don't need on-chain price data to function. But let's look at a list of how the main actors all work together for a complete explanation.
UMA's Main Network Actors in Action
Token Sponsors
Essentially, Token Sponsors are those who mint new synthetic tokens. They must first lock up collateral in a smart contract to mint. And then, they are tasked with keeping their positions overcollateralized to avoid getting liquidated. (If you need more information on collateralization and liquidation, please read the "Collateralized Debt Positions" section of our article on "Decentralized Money Markets and Maker DAO.")
Liquidators
A network of Liquidators carefully and continually monitors collateral valuations held in UMA's smart contracts. They can determine whether or not a position is under or over-collateralized by referencing off-chain price data. Liquidation Bots automatically seek out under-collateralized positions to liquidate. The process can also be done manually by those holding the proper collateral currency of the position they seek to liquidate.
Liquidators receive incentives to "seek and destroy" these under-collateralized positions. There is, however, a 2-hour delay before they can complete the liquidation process.
Disputers
During these two hours, the system incentivizes Disputers to monitor the contracts in question. They will use UMA's financial contracts to do so. Disputers are similar to Liquidators in that they can execute their task as a Bot or manually. To determine if a liquidation was valid or not, Disputers use their off-chain price feeds for reference. If a liquidation appears to be invalid, the Dispute Bot will naturally dispute the liquidation.
Data Verification Mechanism (DVM)
If the liquidation is invalid, the Disputer will call on UMA's oracle known as the DVM. The liquidated position will remain pending until the DVM resolves the issue within 48-hours.
UMA Tokenholders - Disputes and Voting
The DVM resolves disputes by taking the liquidation issue to the UMA Tokenholders for a vote. The Tokenholders report the price information to the DVM using off-chain price feeds to reference a given timestamp. The DVM will then aggregate the votes and report the finalized price of the asset.
If the Disputer turns out to be correct, the DVM rewards both the Disputer and the Token Sponsor of the position in question. On the other hand, if the Liquidator is right, the Liquidator reaps the rewards, and the DVM penalizes the Disputer. It will then take the Token Sponsor's funds they had allocated to their position.
The decision tree for a liquidated position
The system lets Liquidators liquidate positions based on their off-chain view. The token's reference index will tell the Liquidator whether or not a position is adequately collateralized. And the Oracle need only come into play if a Disputer disputes a liquidation.
UMA's System Design
As you can see, UMA's system puts incentives in place to both minimize oracle usage and also keep the network adequately collateralized. And the DVM is the oracle that settles disputes regarding liquidations.
Ethereum gas costs can get out of hand, though, by executing too many liquidations and disputes. Therefore, contract deployers can set up the template with a minimum sponsor size. This "size" states the minimum number of tokens that a Token Sponsor must create against the contract. Any actions (such as partial liquidations, new positions, or token redemptions) that reduce the Sponsor's position below this minimum threshold will be disallowed and revert.
So, this is how UMA secures synthetic assets on its network.
The DVM Oracle and Priceless DeFi Contracts
So, you should have a better understanding of how the network actors all work together by now. UMA focuses on building priceless synthetic tokens, and the two core components that do the heavy lifting are:
- The DVM oracle service.
- Priceless financial contract templates.
These two technologies combined enable developers to create fast and efficient synthetic derivatives on Ethereum. As we've seen, UMA's design ensures these financial contracts get collateralized sufficiently without using on-chain price data. Their baked-in incentive program inspires users to spot under-collateralized positions. And contracts rely on the DVM to confirm that the flagged positions are indeed improperly collateralized.
Once financial contracts are registered, the DVM can respond to price requests. These price requests ask UMA Tokenholders to vote on-chain regarding a price identifier's value. This voting process can take up to four days. Once the UMA voters determine the value for the price requested, the contract distributes collateral to the counterparties based on that value.
Because the DVM takes 2-4 days to respond to a price request, its best use is not an on-chain price feed. Preferably it complements the process.
Corruption - Cost vs. Profit
The DVM's design centers around an economic guarantee based on the cost of corruption versus profit from corruption. To work correctly, one's cost of corrupting the system must be greater than the profit made from successfully corrupting it. Measuring by the price of 51% of the UMA voting tokens (which is the amount of collateral stored in the registered contracts), UMA has put network incentives and economic guarantees in place to ensure that network actors act honestly. And, thankfully, for the honest users, should a malicious actor or an unforeseen market event arise, they can dispute the action by calling on UMA's DVM.
Priceless DeFi Contracts - Minimizing Oracle Usage
As mentioned, "priceless," in the case of UMA's financial contracts, refer to contracts that don't need on-chain price data to function. Because on-chain price feeds are not necessary, these contracts minimize on-chain oracle usage. They do this to reduce gas costs and mitigate the possibility of oracle attacks by reducing their frequency and surface areas.
UMA strives for minimal oracle usage because the team believes that oracles are presently the biggest problem with DeFi. Price oracles have been the culprits in many top DeFi hacks, such as the SNX front running scam, the bZx attack, and Maker DAO's Black Thursday. UMA's philosophy is to make DeFi safer by minimizing price oracle usage. And they call it "priceless contract design."
Let's look at a traditional legal contract as an example. Hopefully, when two parties enter into a contract, they do so without the intent of ever going into litigation. What’s more, as long as each side of the party thinks the other has followed the contract's rules, they won't need to. The priceless contract design sets up the DVM oracle as a type of court system. The oracle is not required unless the codified mechanisms in the contracts cannot resolve the dispute.
Launching a Priceless Synthetic Token
So, after learning all this, if you're a developer looking to launch a new synthetic token for which a market does not yet exist, the good news is that UMA's priceless synthetic token contract templates have made deployment easy. Developers need first to define a few key parameters. These parameters are the token's price identifier (which is the price feed to be tracked), the expiration timestamp, and collateralization requirements. A synthetic token must be collateralized at least 120% of the price identifier's current value.
UMA Conclusion
So, let's review some of UMA's key features: Their synthetic tokens are priceless. Again, not "priceless" like a rare diamond, but "priceless" as in no "on-chain price feed" required. Also, remember that developers can create ERC-20 tokens to track any asset they want. Now, that's pretty amazing.
For founders and developers looking to make an impact, UMA looks to be the kind of place that can provide such an infrastructure. But first, you'll need to learn how to become a blockchain developer.
Sure, you could spend hundreds of hours combing through endless tutorials on the internet, hoping you might luck onto the right ones. Or you could go to a single source of information and get a world-class blockchain education today. For those looking for the wiser choice, visit Ivan on Tech Academy and get started now!
Author: MindFrac