Synthetixio / synthetix

Synthetix Solidity smart contracts
https://synthetix.io/
MIT License
1.2k stars 597 forks source link

Ether Collateral #232

Closed kaiynne closed 4 years ago

kaiynne commented 4 years ago

Adding Ether as a collateral option for Synths is a feature many in the community have requested. There are numerous reasons for this, but the predominant one tends to be that Ether is viewed as a safer form of collateral than SNX, and that by combining SNX and ETH as collateral within Synthetix the protocol will be more robust. Ether collateral also aligns with the social norm of implementing Ether into protocols where possible.

The original mechanism for ETH collateral would have allowed stakers to augment their SNX positions with Ether. However, this introduced several issues, including the potential dilution in the value of the SNX token destabilising the network. This risk is offset by the ability to scale the Synth supply faster and generate more trading volume on sX. So the question was whether the trade off of SNX value dilution in the short term was worth the long term benefits. This document proposes a mechanism that avoids this conflict.

The key to this solution was combining the proposed Synth lending functionality with the Ether collateral mechanism. The result is a system that augments the Synth supply, enables easier and more efficient access to sX and does not dilute SNX value capture.

The proposed mechanism works as follows:

Anyone can mint Synths by locking Ether The total amount of ETH to be locked (in aggregate) will be constrained by the SNX market cap or the outstanding Synth supply The collateralization ratio for ETH will be between 110% and 150% There will be a minting fee to lock ETH There will be an interest rate charged daily (or at some other to be determined interval) The interest rate will be calculated based on a tbd formula (potentially the ratio of ETH debt to SNX debt) Only sETH can be minted by locking ETH The debt position will be denominated in sETH The minted sETH can be converted into any Synth The debt will be fixed and will not fluctuate with the total debt pool (this means debt changes will not impact the debt position of ETH minters only SNX minters) The minted sETH will be calculated as part of the total debt pool To unlock ETH the same number of units of sETH must be burned + any interest accrued Locked ETH will not earn staking rewards SNX stakers debt percentage will be calculated by taking the current total debt and subtracting the fixed sETH debt from ETH minting

In addition to the benefits listed above there is an additional benefit which is that the sETH issued through ETH minting is effectively a short on ETH, so this will offset the current long bias of the existing debt pool. This does mean that minting sETH is not a viable leverage strategy for ETH holders, it will only allow them to either hedge their ETH position or gain exposure to other assets. Once Synthetic positions are available this will change, as sETH can be used for leveraged sETH positions. This is similar to users of Bitmex who deposit BTC as collateral to open leveraged positions against their deposited BTC.

Open questions: What should the C ratio be What should the minting fee be (if any) What should the debt ceiling be set to as a % of total debt How should the APR be calculated on ETH collateral

Comments, questions and suggestions welcome. Once we have closed out some of the open questions we will spec this up as a SIP and put it into the queue to be implemented if it proves acceptable to the community and viable to implement. Special thanks to the Guardians and Nocturnal for providing feedback on the draft document.

CryptoToit commented 4 years ago

Due to a possible change in the current Inflation model, now or in the future, this section needs to be updated to "The total amount of ETH to be locked (in aggregate) will be dynamically constrained by the SNX market cap or the outstanding Synth supply"

CryptoToit commented 4 years ago

Current participants / minters obtain rewards in the form of $SUSD from Exchange Fees and $SNX from the monetary inflation initiative. Q - Will $ETH collateral be included in the reward mechanism?

grantferowich commented 4 years ago
  1. Adopting ETH as part of a social norm to collateralize Synths dilutes the value proposition of buying SNX. If users want to mint Synths, I have to wonder why they are reluctant to buy SNX and prefer to use ETH as collateral.

  2. Is ETH a more stable form of collateral than SNX? In USD terms, ETH is in the middle of price discovery going from <$1 —> +1k —> sub $200. SNX has ranged from $0.04 to $0.75. There’s been more price variance in ETH/USD than SNX/USD over the course of both currencies’ existence.

  3. It may be possible to implement ETH into the Synthetix protocol, but that does not imply it is desirable — at least not yet. It’s difficult to see why one would want to buy SNX in light being able to mint with ETH right now. Once the SNX supply seems to have exhausted its utility with respect to the growth of the system, sure, add a new form of collateral.

  4. It’s extremely far from obvious that this is the case, and there is potentially a risk that Syntetix is moving toward this implementation as a means of reaching social conformity at the risk of sacrificing the financial incentives for buying SNX.

  5. As an SNX holder, implementing ETH as collateral signals the SNX team is giving up on its main financial value proposition and saying, “Well, the market might think ETH is more stable, so we’ll implement ETH as collateral.” As an SNX holder, why would I want to hold an ECR20 token when the team itself is acknowledging it’s "safer" to stake with ETH? Is the prospect of future returns on the SynthetixExchange - a speculative value - enough to compensate my holding SNX over ETH and staking with ETH? By enabling collateralization with ETH, the SNX is basically validating those outside the system who question SNX’s value proposition of generating fees from the exchange.

  6. If the SNX team moves forward with such an acknowledgement, I would feel more comfortable sacrificing short-term sUSD fees from the exchange and minting with ETH over SNX. After all, the team thinks there’s valid reason to question SNX’s value prop. If the existing value prop of SNX was exhausted, I would be more sympathetic to such an appeal, but again, it’s far from obvious to me that this is the case.

yuriymyronovych commented 4 years ago

I understand why team wants to have a backup/additional option for SNX staking and ETH is a great choice. However as SNX staker, I agree with Clariti23 that proposed implementation goes against the interest of SNX investors. I feel like there should be a more elegant solution.

boymartian commented 4 years ago

Thanks, @kaiynne! I love the idea of multiple forms of collateral. I think it will make the ecosystem more accessible since it eliminates a step to access the exchange. In fact, I'd love to see the ability to mint with all sorts of cryptos (DGX, for instance, DAI, etc., even BTC if possible). I also believe it will build trust in the platform, which is absolutely crucial. This change alone could do more to speed up the platform's adoption than anything else.

However, I'm eager to hear answers to @Clariti23's critiques. Besides attracting more users and helping to stabilize the long bias in the debt pool, how does this benefit SNX holders? Is the unstated assumption here that ETH minting will drive a lot more volume on the exchange, which would mean more sUSD fee income for SNX holders? Under that scenario, SNX literally turns into more of a sort of dividend collector than a utility (since few people would use SNX to mint).

The fact that the proposed collateralization ratio is so much lower for ETH is a HUGE disincentive to mint with SNX... You're basically locking away MORE investable capital if you mint with SNX. Under that scenario, the only logical choice would be to sell your SNX and mint with ETH.

Is my math correct here? (Assuming the collaterilization ratio for minting with ETH = 150% and the collaterilization ratio for minting with SNX = 750%)

$1000 in ETH = ability to mint ~$700 sETH $1000 SNX = ability to mint ~$135 sETH

That means, you're giving up $565 in buying power by minting with SNX. If that's the case, you would need to make $565 in fees off every $1,000 invested in order to be on parity with ETH minters.

I do believe there are ways to fix this, though. Here are a few options:

  1. Some or all ETH minting and interest fees get paid in ETH to SNX holders minters.
  2. Some or all ETH minting and interest fees are used to purchase and burn SNX.
  3. ETH minting utilizes SNX on the backend (thereby taking it off the open market) without the user realizing it (though this would probably mean ETH minters would have to have the same collaterilization ratio as SNX minters).
degenspartan commented 4 years ago

Hi SNX community,

First off, I think that the perspective of this proposal is being viewed through the wrong lens.

I believe that it is outright fantasy to think that it is rational for anyone is be specifically buying and staking SNX with the express intent to use that "free" leverage to trade synths when the c-ratio is at 750%.

The value proposition of holding SNX is not so that you can get "free" 0.13x leverage to trade with in the system - that is a by-product of the system.

The value proposition of holding SNX and minting is so that you can earn a part of the network fees in exchange for the work (minting) and risk taken (debt delta).

Allowing ETH as collateral will NOT cause a massive migration of SNX stakers to close down their mints and instead switch over to ETH.

I believe that this proposal would not be cannibalizing on SNX minters and will not reduce the attractiveness to be an SNX minter. We will instead be opening ourselves to a blue ocean of ETH holders who may now consider to give the system a try and be sX traders aka. sX fee generators.

With that as my premise, let me re-iterate 2 points that Kain mentioned which does not seem to have driven home well.

The debt will be fixed and will not fluctuate with the total debt pool (this means debt changes will not impact the debt position of ETH minters only SNX minters)

Locked ETH will not earn staking rewards

I believe that ETH as collateral will do good for the project as a whole since ETH "minters" are excluded from sX fees and rewards, while still being liable to pay sX fees themselves. As Kain mentioned, ETH "minters" debt will not affect the rest of SNX minters.

Put together, that means that:

I definitely only see fundamental upsides to this, barring any technical issues.

My main concern is the amount and effectiveness of the types of levers available to the community to "govern" to incentivize certain behavior from ETH "minters".

As of now, I only see the following: 1) ETH c-ratio 2) minting fee 3) daily interest rate 4) burning fee 5) debt ceiling

Are these sufficient levers that we can use in the future to tweak to drive behaviors? Also, is there any possibility of adding a liquidation function or increased penalties for undercollateralized positions?

To answer Kain's initial questions: I think c-ratio should be 150% initially and progressively dropped lower as kinks are worked out. Or perhaps even 140% to appear more attractive than MKR. I can see this long term dropping down to being just 110%. I think minting fee should be minimally the sX fee, if not 1%. I think debt ceiling can be arbitrarily set to the tune of 10-20% to cap things from getting out of hand, and slowly increase and eventually be decided based on SNX staking metrics (though I would imagine that we would elect to have NO cap if things prove to be working as intended initially). I think APR on ETH collateral could be done by voting (+/- X value of bps) against a reference rate of MKR/Compound/bZx.

CryptoToit commented 4 years ago

Hey G. Good take.

What is the 'monetary' incentive for people to stake ETH as collateral?

boymartian commented 4 years ago

@degenspartan Thanks for taking the time to write that and for putting it that way! Allays my concerns. And makes me eager to see ETH minting launch. I don't have much to add on Kain's questions beyond agreeing with you that there should be a minting fee that's minimal to start (raising and lowering it could be an additional lever to influence the behavior of ETH minters without changing the c-ratio... the higher the minting fee, the less likely people are to mint/unmint frequently... i.e. it could encourage stickiness/staying in the system).

degenspartan commented 4 years ago

@CryptoToit As far as I understand it, there is NO monetary incentive for people to stake ETH.

You would stake ETH if you wanted to trade on sX.

Assuming a 140% ETH c-ratio, You'd lock up 14 ETH, Mint out 10 sETH. You trade on sX.

If you make a profit of +2 sETH from sX activity and want to cash out, you repay back the 10 sETH debt + any sETH interest accrued and claim back your 14 ETH collateral. You then funnel through your remaining profits (2 sETH - interests paid) through Uniswap to get back ETH, and now you're completely out of the system with your profits. (just under 2 ETH)

If you make a loss of -2 sETH from sX activity and want to realize your loss and stop, you head to Uniswap first and bring in 2+ fresh new ETH to buy back 2+ sETH. With your remaining 8 sETH and newly purchased 2+ sETH, you pay back your 10 sETH debt + interest to claim back your 14 ETH. Now you've got your 14 ETH back, but you had to pony up an extra 2+ ETH to cover your 2 ETH loss. Overall input is 14 + 2 ETH while output is only 14 ETH. The missing 2 ETH is the 2 ETH loss from losing sX trading activity.

Essentially the incentive to stake ETH is to not worry about ETH-sETH market liquidity and allow people to enter and exit and only subject their profits (or losses) to the bandwidth of the current market liquidity.

I hope this illustrates why people would want to lock up ETH in our system to generate sETH, and how it does not affect SNX stakers (since they receive no fees or rewards), while also contributing to more fees.

grantferowich commented 4 years ago

From reading @DegenSpartan’s post, the case for ETH collateral as a means for traders to enter the Synthetix Exchange venue on their own accord without going through Uniswap becomes obvious. If Uniswap was previously a two-lane bridge for traders to access the trading platform, ETH collateral allows any prospective trader to set up their own portal for accessing the trading venue.

To your point @boymartian, ETH as collateral clarifies the point of staking SNX is precisely to have a “fee collector” token. I am happy to walk back an earlier point that ETH collateral makes me want to stake ETH over SNX, because staking ETH does not provide a claim on the fee pool.

I am in accord here with @DegenSpartan that the utility of getting 0.13x leverage at zero interest is not and should not be a strong motivation for staking SNX.

In a bullish scenario, the prospect of ETH collateral provides for a higher PV under a DCF valuation, since the projected growth rate in trading volume could reasonable be lifted after implementing Kain’s mechanism. In this regard I am in accord with @kaiynne’s argument that ETH collateral makes the protocol more robust.

FrameworkVance commented 4 years ago

Hey all,

Realized we haven't posted Framework's position here. We think ETH collateral as described through Degensparten's mechanism is an obvious value-add for the network.

Tactically, we propose:

Vance

kaiynne commented 4 years ago

Thanks for the input everyone, particularly @degenspartan for clarifying the intent of this proposal. I will put some more work into the SIP write up to ensure the intent is clearer. Also thanks to everyone who responded to the open questions, really helpful!

Fundamentally the value proposition for this change for SNX holders is to allow anyone with ETH to trade on sX with almost no friction. A new user navigates to sX and is offered the option to mint sETH with ETH, once they have sETH they can start trading. They remain ETH denominated the entire time, which I think for most ETH holders will be preferable. As an aside there is also the option of allowing people to mint sUSD with DAI/USDC/TUSD/USDT, or WBTC, tBTC into sBTC. We are trying to optimise for the best user experience trading on sX. So being able to accept other assets directly rather than requiring a user to sell their other assets into Synths to start trading is very helpful. Eventually I would expect that a lot of these users will just buy Synths to trade with as this will be cheaper due to minting/borrow costs, but again this is a low friction way to open up our addressable market to basically everyone in the Ethereum ecosystem.

The other advantages are that it expands the Synth supply and adds an extra form of collateral to the mix to help offset the risk of SNX as the sole collateral option, without devaluing the role of SNX in the system. As a few others have pointed out, exchange fees and trading fees only go to SNX stakers. In an ideal world we should be only minimally reliant on SNX stakers trading on sX. We want stakers to provide the service of issuing and maintaining debt, which means selling Synths into the market for others to trade with. This will be an important metric in the future (the utilisation rate or idle Synth rate) ie what percentage of Synths are actually in circulation being used by traders etc rather than sitting in staking wallets.

There are of course risks to this proposal, and the parameters we set initially must help to offset them. The main risk is that eg. debt created by locking ETH is traded into something like iTRX and TRX goes to zero (ignoring the limits on iSynths for a second). In that case the incremental increase in debt from that trade will be borne by SNX stakers. We have a large buffer to absorb such trades due to the 750% ratio, but if we were to allow $10m worth of sETH to be minted via ETH this could be problematic, and would reduce the effectiveness of the high SNX c-ratio. This is why we must cap the supply of sETH minted via ETH until we have some better data around how it is being used in sX. I think that we should avoid a scenario where more than 50% of the debt is backed by ETH. But as it stands now, if we started with a 150% ratio for ETH collateral we could allow $15m USD worth of ETH to be locked before this occurred. That is a lot of new traders coming into the system, and we know they are traders because there is no value to locking ETH to issue sETH other than to trade (with the exception of the sETH pool in Uniswap).

So my view is that we should implement parameters as follows: C-ratio: 150% Minting Fee: 50bps Debt Ceiling: fixed at 5000 sETH/ 7500 ETH, initially (migrating to a percentage later)

The final parameter is the margin cost, ideally I would like this to be market driven. If we are close to the debt ceiling and there is a lot of demand to use ETH to trade on sX then SNX holders should benefit from this, it will also ensure that only high value users are trading and we don't have sETH sitting idle. So I would propose a floating rate that is determined by the utilisation and set each 24 hour period. So if we are at 1% utilisation the APR may be 2% but if we get to 99% utilisation it might be up to 25%. That said for the purposes of getting this implemented I think a fixed ratio of ~10% APR is probably sufficient.

degenspartan commented 4 years ago

I was groggy went I wrote the comments above, but I'm glad they helped clear up any misinterpretations of the proposal and the intent.

The risk of successful sX traders is still there (ie. they are actually profitable trading), but compared to the current generation of traders, as @Clariti23 has nicely analogized, the ETH "minters" now have their own "portal" to claim back their locked ETH capital without being subject to market liquidity and pricing, while subjecting only their P&L to that. This means that the Uniswap pool will also benefit, since it no longer has to accommodate the entire capital + P&L when onboarding and offboarding sX traders, and only their P&L.

Essentially the same Uniswap pool (bandwidth) would be able to support significantly more traders and more volume, which is more fees, which is our goal.

Moving on the the margin cost, I agree that it should be market driven.

Perhaps what @FrameworkVance and I were thinking was that by taking reference from larger external markets (Compound/Maker), it would be a more accurate estimate of the current market rate of margin cost, and we can govern ourselves below (increase attractiveness) or above (decrease attractiveness) that reference rate to push utilization rates up or down. However, if our reference relies on bringing in an external data source (Compound/Maker rates) and working around that, then I suppose that can only be done through oracles and introduces another set of risks? I am not too technically savvy, so I am unsure if those rates can be immediately sourced on-chain. This approach is more about competitiveness and control over onboarding.

@kaiynne proposal of margin cost being driven by utilization is more elegant and simple in that (I think) it is completely internal and hence no oracles will be needed to calculate the margin cost. However with this approach, it feels to me that we have less control in determining utilization if we can only tweak 3 indirect levers of (1) min rate (2) max rate and (3) model type, including model parameters. While the construction of this margin cost model itself might be simpler, it feels like it could end up be a perpetual game of guessing what is the perfect combination of those 3 levers to get the desired utilization rate that we want, as opposed to something like "Ref rate - 200 bps" with the goal to aggressively onboard.

Intuitively, I think 7.5%~10% APR cost is appropriate. If we go the second route, attached is a link to the difference interest rate models that the different protocols use. That might be useful in helping us decide if we want our rates to be determined by linear, polynomial or exponential models.

kaiynne commented 4 years ago

@degenspartan I think a hybrid approach could work here, say we take Maker as the reference rate, we then apply a utilisation multiplier to this rate. So we get something like 2MU/100, where U is an integer between 1 and 100. So at 50% utilisation you would get 29.5%50/100, which is 9.5%. At full utilisation you get 29.5%*100/100=19%.

The Maker stability fee is on-chain so we can read it once a day without relying on an oracle.

The only downside to this that I can see is that traders will need to be mindful that the APR will change daily. It could also be gamed theoretically with people closing large positions right before the rollover. So unless we can measure the average utilisation during the period then we would need to be mindful of that as well.

CryptoToit commented 4 years ago

After a offline clarification I needed I now fully support this Proposal, with the detail to be sorted out by the more technical (economically) minded members.

I hope the other community members will also jump in and make their voice heard!

jimbobkos commented 4 years ago

Great discussion in the above comments, great work crew! I agree with the direction of ETH as collateral based on the above mentioned value that accrues to SNX holders based on Kain’s comments. I also agree with the numbers that the community are coming up with regarding c-ratio etc. my only comment is regarding the APR. Let’s balance the derivation of the number with being dynamic, compensating of risk and - which hasn’t been mentioned - be commercially sound.

For context, the crypto lending/borrowing market is incredibly competitive and a broadly commoditised service. Yes we can differentiate by offering direct sX trading, however that differentiation is lost by the restrictive nature of this leverage. As such, we are left with a commoditised service. The only way to win a commoditised service is on price. When this sip originally came out I flippantly said to set APR at Maker SF - X% to immediately migrate CDP holders. Yes, incredibly crude but my point being that commerciality should be a consideration (not sure of the extent of it however it should be present nonetheless) to ensure our leverage doesn’t sit in the car yard gathering dust and not getting taking out for a spin.

bledell commented 4 years ago

Why not have ETH minters mint sUSD and then denominate their debt in sUSD (instead of sETH)? This would be a much more attractive product to traders. It would allow them to deposit ETH, gain leverage, and effectively trade USD-based pairs, which I think is what most people what. By minting sETH they are effectively trading ETH-based ratios (e.g., sBTC/ETH), which is less common.

Also, it just seems weird to have someone deposit Eth, get another flavor of ETH, and then pay interest on their ETH. It would be like going to a bank and depositing USD, getting back different USD as a loan, and then paying the bank interest on my original USD.

ashachaf commented 4 years ago

@kaiynne, it seems that there is not a real valid point to either options. on the one hand, SNX is a utility token serve the system and connect the entire eco system. its main values are:

  1. utility of the system - easily forked and rebuild using ETH or any other token.
  2. fees - trading fees can be using the tokens used in the trade which doesnt have to be SNX.
  3. inflation - this to me is the only reaal strong and valid argument. as a system, you must include the option to encourage and incentivize your users to expand the system. if this option requires you to bring "money" from home where there is no clear revenue model, the whole system fails.

meaning, if you switch to ETH (or any other token in that matter), you eliminate any value of the SNX token along with your ability to support the system.

consider this:

  1. binance wish to encourage more people to join and trade
  2. they create an affiliate (refer a friend) program problem: who will pay for the refer a friend?
  3. option 1 - using profits to pay for referrals. relaying on a revenue model that takes enough from the users and can move part of that back to referrals. as a member, my incentive is that i will succeed and my referrals make lots of trades.
  4. option 2 - using token inflation when building an ecosystem. as a member, my incentive is that the system will succeed. the bigger its success is, i'll have bigger share of the success. in the same way BTC holders explain why BTC is amazing to every person they meet, their incentive is the success of the system leading to increase BTC price.
degenspartan commented 4 years ago

@ashachaf , I feel you are greatly misunderstanding the core part of proposal at hand.

ETH will not be replacing SNX as collateral, it will be supplementing it. By using ETH as collateral to generate synths for trading, you are NOT entitled to any of the fees or monetary rewards.

degenspartan commented 4 years ago

@bledell if ETH collateral generated sUSD debt instead, they would then be sharing the burden of the entire SNX system, but receiving no rewards, while paying interests.

By generating sETH, their profit and loss is solely derived from their trading ability, and duration they are keeping their position open.

Traders can change their sETH minted to sUSD and use that as a base too, but they will still need to minimally outperform the market performance of ETH to be profitable.

If traders do not want to use ETH as a base, they could just buy sUSD (or sETH and convert to sUSD) off the market and trade with that instead.

bledell commented 4 years ago

@degenspartan There is nothing fundamentally different about denominating someones debt as sUSD or sETH (or sMKR or anything else). I'm not sure what you mean by "they would then be sharing the burden of the entire SNX system, but receiving no rewards". If they borrowed 100 sUSD, they would only have to pay back 100 sUSD (plus interest), no matter what the rest of the synthetix debt does.

I think the only difference is that denominating your debt in sUSD seems much more natural and is likely preferable to traders. If my debt is in sUSD, and I buy sETH, and sETH doubles, I double my money. If my debt is in sETH, and sETH doubles, I gain nothing. If my debt is in sETH, and I buy sBTC, and sBTC doubles, I may have either gained or lost money (depending on what ETH does), because I am trading the BTC/ETH ratio. Some people may like trading the ETH ratios, but I think the vast majority of traders would rather trader the XXX/USD ratios.

bledell commented 4 years ago

@degenspartan I just realized why the debt needs to be denominated in sETH. I rescind all my previous comments. :(

1053r commented 4 years ago

Debt cannot seem to balance out between winners and losers if the collaterized SNX debt is priced in sUSD while collaterized ETH debt is priced in sETH.

In a hypothetical case where an ETH collateral user swaps his sETH for sUSD, and eth pumps 20%, his debt should increase by 20% while global debt increases (1/2 of 20% = 10%), assuming there were only 2 users in a 50/50 starting scenario. However, there are no holders of sETH in the system, while debt is still being priced in sETH for ETH collateral users. Thus, the global debt will not be able to balance out with the total number of syths in existence.

I hope I'm understanding this correctly. Would like to be proven wrong with an example similar to the lite paper.

ashachaf commented 4 years ago

I understand the desire to appeal to the ETH community and try to accommodate their demand to use ETH as collateral. First, the solution seems far from being optimal. It is trying to force ETH into a SNX core system. Second, my main issue is with the role of SNX in this ecosystem.

Perhaps you can clarify why SNX is needed if ETH can take it place.

bledell commented 4 years ago

@1053r I believe the debt of the ETH collateral user will never change. If an ETH collateral user starts with 1 sETH, his debt will always be 1 sETH. Changes in the value of the his debt due to good/bad trading will be absorbed by the SNX minters. In your example, the user actually lost money, so the minters would benefit.

bledell commented 4 years ago

@ashachaf I thought @degenspartan addressed your question pretty well earlier. ETH is not taking the place of SNX here. Consider:

Essentially, all of the main roles played by the SNX holders are still played only by them. Conceptually, this is a lot like someone depositing ETH into a Maker Vault, getting DAI, and then converting the DAI into synths and then trading the synths. Except with this implementation it is much easier for them to do and the SNX holders get the stability fee instead of the MKR holders.

1053r commented 4 years ago

@bledell I do understand the proposed mechanics, but minter's debt does not seem to balance out. The debt of ETH collateral will not change if it's priced in sETH (1sETH for 1sETH), but the USD value of sETH will fluctuate, which is what the global debt is denominated in.

Ultimately, the USD value of all synths in existence must equal the global debt at all times, otherwise the system fails.

1053r commented 4 years ago

Realized what I wrote was abit confusing, going to make things simpler:

Imagine a scenario where all minters, both SNX and ETH minters reprice all their synth into sUSD. If ETH pumps, global debt increases, but global synth value stays stagnant.

The USD value of all synths does not equal the global debt anymore, which is not what we want.

kaiynne commented 4 years ago

Debt is tracked by assigning a percentage of the global debt to each minter, so in this case the excess debt from ETH collateral after factoring in the ETH debt would be be assigned to SNX Minters.

1053r commented 4 years ago

Edit: This has been clarified on Discord. The global debt system will still balance out even with ETH collateral debt denominated in sETH.

The USD value of global debt will = USD value of global synths at all times.

A key point to take note of is that, ETH minters will essentially force SNX minters to take a position against ETH, since global debt is shared.

Fiskantes commented 4 years ago

IMO Synthetix should implement ETH collateral only if ETH collateral in Synthetix will:

  1. Derisk the platform:

    • make it provably more robust - less prone to de-pegging and subsequent spiral of death, that comes with SNX token being not liquid enough to sustain mass selling.
    • does proposed model of divided debt pools achieve this?
  2. Bring significantly more volume:

    • Bring Synthetix to users that wouldn't enter the system otherwise
    • e.g. we need to be sure that using ETH as collateral will have good enough value proposition
    • does proposed mechanism of minting fee achieve this?
    • will ETH minters be in a position that carries less risk than SNX minters? (This should be achieved by divided debt pools)
    • is there any other incentive to mint with ETH? Who will be the ideal / average user doing this?
    • if the cap for ETH stakers will be outstanding SNX market cap (e.g. there won't be too many ETH minters anyway, assuming 80% SNX being staked), does it even make sense to do it?
  3. Keeps SNX value accrual properties:

    • SNX is basically claim on trading fees and new minted tokens
    • Trading volume is key success metric of the project, SNX holders should welcome any initiative to bring more volume/users in
    • Inflation rewards exist to incentivise early staking, but ultimately it's trading fees that matter in long run and main value proposition of SNX is the claim on the fees.
    • In this sense I do not think SNX value proposition will be jeopardized by other types of collateral, but it may provide some hiccups in the short run, which, together with steep decrease of inflation rewards might increase volatility

I am personally not entirely sure about points 1 and 2, but pretty sure about 3.

Cryptojo3 commented 4 years ago

Good overview @Fiskantes , I would say that for issues 1 & 2:

  1. It makes it more robust in that there is more liquidity in the system to allow for more growth of trading. I will say that it derisks the platform in this way, but the tradeoff is the risk transfer to Mintr's which is why it is important to cap ETH collateral or have a ratio that tracks the USD value of SNX and sUSD.

  2. This I think will definitely happen since the bias/only utility for people depositing ETH in this proposal is to trade. Especially since there will be a funding rate. If they do not trade for an upside they will be losing money. "Significantly" can be argued though. Will traders just invest in perpetual longs/shorts? Or will they engage in HFT style trading? We can only assume, but I think there will be a healthy mix of both.

As an open question to this thread, why can't we have ETH depositors trade their debt amongst each other as well? Why only have it be ETH debt v SNX debt? Unless I am missing something, I think ETH depositors should also have exposure to each other. Not only will it reduce the risk for Mintr's but it will also give ETH depositors more liquidity to trade and earn a return.

tahpot commented 4 years ago

There are of course risks to this proposal, and the parameters we set initially must help to offset them. The main risk is that eg. debt created by locking ETH is traded into something like iTRX and TRX goes to zero (ignoring the limits on iSynths for a second). In that case the incremental increase in debt from that trade will be borne by SNX stakers.

As an aside, I feel there is a missing risk management piece in the Synthetix platform. Namely a dynamic risk modelling engine that identifies concentration risk within the platform and provides appropriate synth limits to manage that risk.

I'm new to Synthetix, so apologise in advance if such a proposal is already under consideration.

CryptoToit commented 4 years ago

I would like to see two levels of liquidation in place.

LEVEL 1 - VOLUNTARY Liquidation when your c-ratio is below 750, but above the (say) 150. When your c-ratio is in this zone you can "request" liquidation similar as to how https://daidaddy.xyz/ work.

LEVEL 2 - FORCED Liquidation when your c-ration is below the absolute min allowed % (say 150). Here most people would like to have the normal first come market driven (anyone) can liquidate a level 2 position. What would be nice (and fair) is to have a page where all accounts with c-ratios below x % is listed and can be more easily trakced.

{resource / priority dependant} We can also be creative where we could introduce a system based "pooled" function that is allowed to liquidate accounts. And each person that added funds to the pool get a relative %.

rossgalloway commented 4 years ago

Can someone explain the purpose of the %APR on staked ETH balances assuming the collateralization ratio is above the desired? Since the debt is priced in sETH, the only thing that should affect the risk of default is a slip of the sETH peg. If the sETH/ETH peg is holding and the ETH stakers have enough collateral then an interest rate on top of the trading fees and initial staking fee seems punative.

Why not only charge interest if the collateral ratio drops below a certain threshold (say 150%) as a softer incentive for traders to get their ratios up or arb the peg? This interest rate could rise as their collateralization ratio drops until they hit a ratio where liquidation starts. This way traders who are sufficiently capitalized don't get for penalized just for depositing. It feels like paying a monthly fee to use the exchange.

in that vein, if I am profitable as a trader, do I need to intermittently convert sETH to ETH to keep my collateralization ratio in check?

What if I stake and trade and lose my shirt in a leveraged trade? Stake 15 ETH. Get 10 sETH. Lose 8 sETH. I can't cover my 8 ETH losses with the 5ETH + 2 sETH I have left and don't have outside funds. Ideally, I could just take the loss and convert my 2 sETH to ETH and leave with 7 ETH. but now someone else has to cover the collateral ratio for the 8 sETH still in the system.

Is it better to have each profitable trader have to keep updating their collateralization ratio? Could the interest rate only be charged if the whole system falls below a certain collateral ratio? and only those who are currently under their personal ratio be charged. So if you lose money, you don't pay interest since your collateralization ratio is now higher, but if you made money you do, and are incentivized to burn sETH to lower/remove the interest.

bledell commented 4 years ago

@rossgalloway I'm not sure of the purpose of the %APR for debt priced in sETH. As you mentioned, I doubt many traders will be willing to pay a fee essentially for the right to trade. Perhaps it will be set to zero or to a very low level for debt denominated in sETH, and then at a later date, if the option is made available to denominate debt in sUSD, it will be set higher for that.

For debt denominated in sETH, your collateral ratio will, by definition, never change (ignoring the %APR fee). So there should never be a need to liquidate no matter what the trader does with the borrowed sETH - even if they immediately lose 100% of it.

rossgalloway commented 4 years ago

@bledell if the mechanism exists like @degenspartan mentions above, where Alice has to add funds to withdraw if she loses money, then the collateral ratio won't change, but this seems like bad UX since some people will inevitably risk too much and not be able to top up enough to get their collateral out. In this case, lets imagine Alice staked 15 ETH, lost all 10 sETH she minted and is now stuck with 5 ETH locked and needs to provide another 5 ETH to get it out. That 5 ETH is essentially propping up the collateralization ratio of all the people who profited on the trades where Alice lost. They should have a claim on 10 of her ETH but not the collateral.

At this point, shouldn't Alice be able to withdraw her collateral as she has no more sETH that she personally needs to back? But in withdrawing that 5 ETH, the system wide collateral ratio drops and needs to be replaced by the rest of the users in the system. If the system is above the desired collateralization ratio overall then this isn't a problem, but if it drops below, it is.

It seems to me there should be some mechanism where anyone can exit but also corrects the system wide collateralization ratio when unprofitable traders pull out stake. The simplest mechanism would be just incentivizing users to add collateral or burn sETH, but traders burning some of their profits to maintain their collateralization ratio feels strange, like punishing success. Maybe this is where you start charging interest to those who are below the collateralization ratio and burning the sETH to get the ratio back up.

Overall this seems like it could be an attack vector as many underwater accounts pull collateral at once. But orphaning a bunch of underwater trader's stakes also seems problematic.

bledell commented 4 years ago

@rossgalloway The collateralization ratio is defined as: value locked as collateral / value of the loan. If I lock 10 Eth and borrow 10 sEth, the collateral ratio will always be 10/10 = 1 (assuming sEth always has the same value of as Eth).

In your example, if Alice locks 15 Eth, borrows 10 sEth, and loses it all, she would need to come up with 10 sEth to unlock the collateral. Maybe she could borrow it from Bob for a few seconds, get the 15 Eth, and pay back Bob. Or maybe the contract could have an option to automatically convert her Eth collateral to sEth, pay back her loan, and then give her the remainder. Those kind of seem like implementation details to me. I don't really understand the part of your question relating to the system wide collateralization ratio. The are not really any system wide effects here. This proposal is really just a way to easily allow a trader to take out a loan. If the collateral is in Eth and the loan is denominated in sEth, it is a no-risk loan for the system.

rossgalloway commented 4 years ago

@bledell

In your example, if Alice locks 15 Eth, borrows 10 sEth, and loses it all, she would need to come up with 10 sEth to unlock the collateral. Maybe she could borrow it from Bob for a few seconds, get the 15 Eth, and pay back Bob.

Ah, I see. So then the system would either need a mechanism for a bridge loan that Alice could use to borrow 10 ETH on her 5 ETH collateral and the loaning party could take a cut from the remaining collateral.

Hopefully something like this gets built in. It could be a pool of sETH like the depot that grows with the fees. Otherwise I could see shady operations that spring up to save collateral and charge exorbitant fees.

gitnickname commented 4 years ago

@kaiynne @Brian Ledell Why the debt needs to be denominated in sETH?Would you explain it in detail?