Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Matthews Lab
Search
Search
Appearance
Log in
Personal tools
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Synthetix
(section)
Page
Discussion
British English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
= Wrapping your head around synthetic assets = In Synthetix Exchange the idea of ‘owning’ an asset is mistaken. Trader’s don’t own anything other than their collateral so even saying that one ‘bought’ or ‘sold’ an asset is incorrect. What ends up happening instead is you either create or destroy an asset. When you create an asset: you use collateral to back it and instruct the system to track profit / loss from an external price feed. Destroying an asset means taking back any remaining sUSD collateral and either taking on a profit or loss (remember sUSD represents a certain amount of SNX.) [asset_exchange] <pre class="solidity">(amountReceived, fee, exchangeFeeRate, sourceRate, destinationRate) = _getAmountsForExchangeMinusFees( sourceAmountAfterSettlement, sourceCurrencyKey, destinationCurrencyKey ); // ... // Burn the source amount issuer().synths(sourceCurrencyKey).burn(from, sourceAmountAfterSettlement); // Issue their new synths issuer().synths(destinationCurrencyKey).issue(destinationAddress, amountReceived); // Remit the fee if required if (fee > 0) { remitFee(fee, destinationCurrencyKey); } // Nothing changes as far as issuance data goes because the total value in the system hasn't changed.</pre> What I think will confuse most people is the lack of counterparties. Normally when you trade something on an exchange you’re taking the opposite position to someone else. In other words: it’s a zero-sum, two-party contract, that is fully backed by someone else willing to take the opposite bet. But Synthetix Exchange doesn’t do this. On Synthetix Exchange a position is shared by everyone and so is the risk. The way this is accomplished is by using the same quote currency for all pairs and substantially over-collateralising positions. If we say that there is X amount of active value in the system in terms of sUSD, what we really mean is the total amount of X * the collateral ratio has been reserved. The assumption is this will provide enough funds to be able to cover any profit made by traders within the system. [issue_asset] <pre class="solidity">function _internalIssueSynths( address from, uint amount, uint existingDebt, uint totalSystemDebt ) internal { // Keep track of the debt they're about to create _addToDebtRegister(from, amount, existingDebt, totalSystemDebt); // record issue timestamp _setLastIssueEvent(from); // Create their synths synths[sUSD].issue(from, amount); // Store their locked SNX amount to determine their fee % for the period _appendAccountIssuanceRecord(from); }</pre> The unusual part is what happens if everyone with an active position ends up making a profit? All the account holders still own 100% of their collateral. Essentially, there would not be enough funds within the system to cover the profit made. In simpler terms, the design of Synthetix Exchange does not guarantee it will have the funds to cover positions It is just assumed that enough people will keep positions active to subsidise those who are moving money out of the system as they take on profit. Hopefully by forcing funds to be locked by a minimum amount of time. In a sense this is similar to a ponzi-scheme but not quite as bad since we don’t know for certain if a person will end up being a victim or not. As long as there is enough funds in the system available for conversion– the system will work much like a hot wallet on an exchange. There is one considerable benefit to using a shared counterparty system despite the added risks– '''liquidity.''' Any asset in Synthetix can be converted into any other. Instantly. Regardless of the need for an order book or the necessary volume in the market (there is no order book.) Such a system can easily make arbitrary asset pairs a possibility. Any kind of thing that can be tracked can be turned into an asset in Synthetix and traded without anyone having to own it. That is impressive. But as pointed out– in order to achieve these benefits the system makes considerable security sacrifices - which in my opinion go too far. <span id="pricing-vulnerabilities"></span>
Summary:
Please note that all contributions to Matthews Lab may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Matthews Lab:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)