Synthereum v1 (Opatija) operates identically to Synthereum v0 (Bled), with a few details explained in this article.
Synthereum open-source code: https://gitlab.com/jarvis-network/smart-contracts/synthereum
What did not change
The logic of Opatija remains strictly identical to the one of Bled, so I would recommend you to read (again) our previous article for more details:
Synthereum: synthetic assets to bring traditional assets on Ethereum
leveraging from UMA, Chainlink and Compound, Synthereum allows to issue synthetic assets tracking the price of any…
From the user’s point of view, creating a synthetic asset on Synthereum still look like a regular exchange: they are sending 100 USDC and receive 85.35 jEUR or 0.05 jGOLD back, and do not risk any liquidation. In fact, under the hood, the user sends 100 USDC which are matched by 50 USDC fiddling in a liquidity pool, to over-collateralize a synthetic asset with a 150% collateralization ratio (CR). Liquidity providers (LP) supply the pool and bear all the risks: they are the counterpart of the trade and are the one losing funds in case of a liquidation. This relationship between the user and the LP makes Synthereum a capital-efficient peer-to-contract synthetic asset trading protocol.
You can test it at https://kovan.jarvis.exchange.
Replacement of oracles
Bled used Chainlink’s price feeds. When a user deposited 100 USDC, they were receiving an amount of jEUR based on the EUR / USD rate provided by Chainlink’s oracle.
It has been replaced by the Relayer, an off-chain bot which, similarly to the 0x protocol, maintains an off-chain order book and matching engine to ensure that the user’s order matches the LP’s offer.
The Relayer is currently maintained and controlled by us. This degree of centralization is an acceptable sacrifice in the short term, but the goal remains to be fully decentralized: an unstoppable network of incentivized Relayers will replace the current model, and will be using Margineum’s distributed an decentralized price feed.
Everything takes place in two transactions:
- The user sends a minting request and signs a transaction specifying the amount of jEUR the user wishes to create and at what price;
- The Relayer constantly checks for pending requests and when it finds one it signs a second transaction that approves or disapproves the request.
As of today, on Kovan, two separate transactions take place. But on the Mainnet, only one transaction will take place using meta-signatures: the user sends an off-chain request to the Relayer, which, if accepted, returns a signed message from its private key to the user; the latter then executes the transaction.
The current system is “pessimistic”: it assumes that requests will be dishonest and must therefore be validated or rejected. The next step will be to work on a more optimistic approach: we assume that all requests are honest, and are validated by default after a period of time during which the Relayer can dispute the price and cancel the request.
The pessimistic system uses meta-signatures and prevents a smart contract from interacting with Synthereum, which is an acceptable sacrifice for the first few months of the protocol on the mainnet. The optimistic system will reduce the gas used to interact with Synthereum, and also allow smart contracts to interact with it.
Change of collateral
Jarvis’ synthetic assets are collateralized by stablecoins. While we were initially considering using DAI as collateral because of its decentralization, we revised our position for the mainnet launch.
For several months, DAI has struggled to maintain its peg. Also, without questioning its decentralized nature, it is now collateralized by centralized assets like USDC or wBTC. DAI carries technical and systemic risks that we do not want to pass on to our first users, which are not expected to be decentralized-freak. For the launch, we arbitrated between a technical risk that is difficult to prevent and a centralization risk, which is easier to anticipate.
Nothing will prevent the jDAO from voting on the use of another stablecoin, or stablecoin pool, to further reduce the risks.
The first synthetic assets launched on Synthereum are fiat currencies like the Euro or the Pound, whose annual volatility against the dollar rarely exceeds 10%. Therefore, the assets are issued with a CR of 150% and the liquidation happens at 120%. The more volatile assets will be added, the more these numbers will be increased with a CR maximum of 200%.
Synthereum v1 is based on UMA’s priceless framework which uses a network of Liquidators to monitor the CR of synthetic issuers (called a Sponsor), instead of using a price oracle like on Maker or Synthetix. If a Liquidator considers that a Sponsor is under-collateralized, it initiates a liquidation by depositing a bond; the liquidation can be disputed for one hour (the liveness period) before a jury of $UMA holders (the DVM); the latter vote to rule on the price at the time when the liquidation has been started and to decide whether the Liquidator is right or wrong. If the Liquidator was right, they earn a penalty fee; if the liquidation was wrongly initiated, the Liquidator will lose their bond. Therefore, Liquidators are economically encouraged to well-behave.
On Synthereum, there is only one Sponsor, the “TIC” (for Token Issuance Contract), whose CR must be monitored. For the jEUR, for example, the liquidators monitor the price of the euro against the dollar, since the collateral is the USDC and the latter is deemed to be worth one dollar. If they estimate that the CR of the jEUR is below 120%, they initiate a liquidation.
For example, if 10,000 USDC collateralizes 7,500jEUR and the EURUSD rate is 1.19, the collateralization ratio would be 10,000 / (7,500 * 1.19) = 112%; the LP would then have to add USDC to set the CR before a Liquidator initiates a liquidation.
What remains to be done
- During the first months, the protocol will be capped: we cannot issue more than $ 50,000 in assets and there will be only one LP. These limits will gradually be lifted as the protocol spends time on the mainnet, during which several security researchers, white hackers, and audit firms will work on finding vulnerabilities.
- During this time, we will be working on the decentralization of the Relayer and the price feed, the staking of $JRT for Relayers, and the opening of the liquidity pools to multiple liquidity providers.
- Finally, Margineum and Synthereum will have to be linked to automate risk coverage and allow LPs to remain market neutral; to remain capital-efficient, Margineum will support lpUSDC, that LPs are receiving when they supply liquidity on Synthereum. Allowing LP to automatically hedge their exposure on Margineum will greatly reduce the risk of liquidation.
⛔ Risk Warning: Investing in digital financial assets involves a high degree of risk and volatility and is not suitable for all investors; do not risk more money than you can afford to lose. Please consult an independent professional financial or legal advisor to make sure the product is right for you.
⛔ Disclaimer: This article contains text, data, graphics, photographs, illustrations and information (“Information”) connected with Jarvis International and/or other entities part of the Jarvis group ( “Jarvis”). Jarvis attempts to ensure Information is accurate, however Information is provided “AS IS” and on an “AS AVAILABLE” basis and may not be accurate or up to date. The publication of this article does not represent solicitation by Jarvis of buying the token “Jarvis Reward Token” and is not to be considered as a recommendation by Jarvis as to the suitability of any investment, if any, herein described. No action should be taken or omitted to be taken in reliance upon Information in this document. Jarvis accepts no liability for the results of any action taken on the basis of the Information.