-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New BSIP: Debt Asset Feature - MPLP (Margin Position Liquidity Pool) #182
Comments
Another related discussion is #164 . |
Why should we not do the same? |
Hey guys, I wrote the following analysis regarding the issue. GS is only the manifestation of some more profound structural flaws in the Bitshares protocol. It's a pretty long read but, nonetheless worth the time.
|
|
Hey Froooze! Where can I get the details of how partial GS would work?
Why is that? If the system just takes over positions before the fall under CR < 1, what extra funds would be needed?
Read my complete analysis here. I also consider that case.
Yep, that's another feedback. But, it is conducted by the debtors under margin call, the feedbacks I consider are conducted by the workers and the debtors. Under the current protocol the debtors, both have their collateral of their position put on sale (first feedback) and have to buy more collateral (another feedback). They appear in both feedbacks, although not with the same force. |
As promised on bitsharestalk, here are my quick comments/questions. I'm afraid the BSIP is written too ambiguously for me to be completely sure what its author intended. As far as I can tell, the pool seems to be trying to do a lot of things, which makes it very difficult to determine whether those things are likely to have the intended effects. You describe several different ways money gets into the pool, and several different ways money leaves the pool, but none of these mechanisms are clear. Here are some questions I had after trying to understand the BSIP: Does the pool buy low-CR positions, or are low-CR positions confiscated and put into the pool? If the latter, how does your mechanism ensure that there is enough collateral for the the smartcoin? What is the mechanism for the BTS buyback? A market order? What is the staking mechanism? Are you implying that people will lend money to the pool at interest? Have you worked out a flow chart for this? I think seeing a graphical picture of the whole system you're proposing would help tremendously. |
@biophil:
The debt asset is used to buy BTS from margin positions, which have a CR of
Settlement
There is no interest rate only speculation to buy cheap BTS or enable everyone to borrow at lower CR.
I try to add a flow chart. |
|
@froooze About "enable everyone to borrow at lower CR.": how does borrowing at lower CR happen? Is this a part of the proposal? Or is the idea that after a depositor gets cheap BTS they might optionally use that compensation to borrow more of the debt asset from their own account? |
This is correct every asset, which can be borrowed has a liquidity pool.
There exists no pair, because you can't trade the debt asset from the liquidity pool. Only locking up next to your debt position is possible to increase the CR.
The liquidity pool holds only debt assets no BTS. Compensation could be in the specific debt asset or in settled debt asset (BTS).
This is right, but when there is no demand to cover bad debt, like in an uptrend the requirements to borrow extra debt from the pool, can be lowered. Or you get a higher interest rate for #189?
Yes the deposit can be withdrawn after a certain time from the pool. The withdraw is linear and limited by the size of the whole pool.
After you have withdrawn the 100 bitUSD from the pool, the interest rate for the whole pool will rise.
The lender gets compensated by the borrower with the interest rate of the liquidity pool. |
This is part of the old design (settlement fund) and needed a rewrite, because of these flaws:
|
I'm afraid that I'm missing several fundamental ideas so I hope that you don't mind multiple questions. The CR of "what"? Who owns the "what"? Is it owned collectively, or do different people own portions of the "what"? Is it the lender, borrower, or someone else who own the "what"? How is CR defined? Is the CR the collateral ratio of all the different debt positions for that asset? Whose debt position? The lender, the borrower, a third party? Does this debt position exist separate from this liquidity pool? Or does it only exist when this liquidity pool is used? When someone borrows from the liquidity pool: what are they permitted to do with what they have borrowed? How does having a liquidity pool change the CR? Is the liquidity pool being used by a blockchain algorithm to purchase margin calls?
Who decides what the compensation will be paid in? Is it an algorithm in the blockchain logic that decides? |
CR is always tided to a margin position of one debt asset and user. (old)
No (old)
It is the debt/margin position, which is created by the borrower. (old)
Yes (old)
It is independent from liquidity pool. (old)
They can increase the CR of their margin position, without paying back the debt in the margin position, by locking separately the debt asset in
No, the liquidity pool provides the option to borrow the debt asset back to increase the CR without selling collateral or reducing the debt of the margin position. (new)
The lender, who provides the debt asset to the liquidity pool decides, if he wants to be paid in the debt asset or in settled debt asset (BTS).
The whole liquidity pool doesn't touch the current margin position system. It unites the two parties |
I could support this (Sapiens) |
@froooze Thank you for the helpful explanations. To help our discussion further, I'd like to define the following parties:
There are effectively three loans involved with your example: Original MPA loan: The blockchain lent 333 bitUSD to Alice This is before any discussion of the CR. Do we agree on this description?
With your example, the CR increases from 1.2 in Stage 2 to 1.5 in Steg 5. This occurs in your example not because the collateral has increased but because the debt owed by Alice to the blockchain has effectively decreased from 333 bitUSD to 267 bitUSD. For this to be true means that the blockchain must have the option to confiscate that 67 bitUSD to satisfy potential force settlements that require closing Alice's debt by the blockchain. Do we agree on this point? Consequently if the 67 bitUSD is confiscated by the blockchain, how can the liquidity pool pay back Charlie?
Margin callling some of the collateral to pay interest results in less collateral which results in a lower CR. Do we agree on this point? With enough interest payments, Alice's debt to the blockchain will have less and less collateral. An extreme case could be: Collateral: 0 BTS Overall debt owed by Alice to the liquidity pool: 333 bitUSD Do we agree on this description? |
|
But doesn't that requirement make the whole concept moot? When you talk about "lowering the CR" you talk about the CR with the |
No, because user can now trade with a lower internal collateral ration ( |
I did not understand this comment. May I ask you to re-express it, please?
Thank you for confirming
I agree with both of these points. I actually think that it might be necessary to use external source to pay the interest because, as I see MPA loans, the original collateral truly belongs to the blockchain until either (a) the original debt (bitUSD) is closed by the original MPA borrower or (b) the current holder of the bitUSD redeems the bitUSD for the underlying collateral. I can write up my understanding, if you think it will help our discussions, of how the assets and liabilities of the blockchain, Alice, Charlie, and the liquidity pool are changing during these different moments in time. |
This might be central to my difference in understanding. Could you define the internal CR and external CR? If you will indulge me, I will describe how I see the collateral when an account borrows a regular smart coin from the blockchain (and let us ignore the proposed liquidity pool). The collateral that is provided by a smart coin borrower is an asset that belongs to the borrower; but the collateral is escrowed with the blockchain and is encumbered. The borrower may not withdraw the encumbered collateral (below the amount that satisfies the MCR) until the borrower pays it back the loan. However, the blockchain may confiscate it if the holder of the smart coin redeems (force settles) the debt to obtain the underlying collateral. In summary the collateral is an encumbered asset of the borrower. And it is controlled by the blockchain while the debt is outstanding. |
Charlie needs to wait
I introduced for this
The blockchain holds always the bitUSD, until Alice or Charlie decides to remove the
Yes, I did now above.
The
The right system of the |
|
Thank you @froooze
I am seeing two problems in this reply:
|
Something like Debt Financing. |
But that's just the mechanism that we have now! Reality shows that in a downtrend margin calls are not bought up sufficiently quickly, which leads to global settlement. Your proposal does not change that then. Also you haven't answered how a forced settlement request is fulfilled in that situation.
Even if the interest rate increases that does not guarantee that more debt asset is being lent to it, nor that the income is sufficient to cover the losses. Except perhaps if the interest rate is so ridiculously high that nobody will use the pool.
The current situation in CNY disproves that. Many short positions are kept deliberately at the lowest allowed CR.
That doesn't even make sense. In a downtrend, a rational user would/should use debt asset to pay back his loan and make his position more secure. Lending it to the pool exposes him to extra risk, with no chance to profit from that (interest paid will exceed interest received due to fee). Except perhaps if his position is already so far below MCR that his long position would not cover it sufficiently. In that case he'd probably prefer his short position to be rescued by the pool, while he uses the long position to profit from that. I don't think this is desirable.
This is a meaningless generic answer. |
He has always to maintain a
When
The mechanism works in a liquid market very good and in an inliquid market very bad.
I did now above.
I added:
This shows the current mechanic is not flexible enough. With the
This makes sense, because I don't need to sell my collateral, but I can close my debt position by removing
Why should he pay
Yes, but I already wrote a lot about this.
I agree here, tuning MCR/MSSR does not improve the situation, because these parameters are already optimized. I also did not touch the MCR/MSSR parameter. Adding a complete new abstraction layer, which is fully compatible to our basic layer, does change a lot of things. It gives traders more flexibility (liquidity) and gives borrower more motivation (interest) without taking risk/action (trading). Why does bitAsset suck and DAI not? Because user can earn interest through lending. The user needs a simple solution for this! |
@froooze This is logically consistent. But it also decreases the collateral that is available for the blockchain for subsequent redemption calls. For example,
In other words, the offering for sale of the collateral does not eliminate the debt asset that exists and is held by other parties such as Bob. Bob may still come around and request a force settlement but now there is even less collateral available for redemption. While the sale offer of collateral is outstanding, my understanding of this mechanism (the margin calling of liquidity pool borrowers) is reducing the |
The margin call mechanic is the same with
Increasing |
MCR=1.6
|
@shulthz : |
Our current bitUSD market situation is worse than with
The result is bad liquidity and bad debt! |
Maybe we need a simple lending for margin first. |
You mean bsip 70? https://github.com/bitshares/bsips/blob/master/bsip-0070.md |
Not bsip 70,bsip 70 is Leveraged Trading. I mean to make some changes in the "Margin Position Liquidity Pool", let the "Margin Position Liquidity Pool" simple, need more consideration for something yet. |
@ryanRfox please assign a BSIP number. Thanks. |
You mean BSIP78 or BSIP70? |
|
My idea is the same as yours, but have some different places, i will make some detais for your reference later. |
I read the other's design of stable coin yesterday, you can check it, maybe we can redesign a new mechanism for the debt.
|
Abstract
MPLP
enables a lower maintenance collateral ratio (mcr
) withmcr
<MCR
andmcr
> 1 by borrowingextra debt asset
withinterest
.liquidity pool
enables thedebt asset
holder to earninterest
through lending.mcr
) is changed, but not the internal collateral ratio (cr
).extra debt asset
is removedmcr
=MCR
again.Motivation
CR
of debt holder BSIP73: Match Force-Settlement Orders with Margin Calls and Limit Orders #181collateral
is increased ordebt
is reducedMSSR
does also increase premium, selling pressure and penaltyRationale
debt asset
, without increasing system riskDefinitions
CR
= (debt
-extra debt asset
)/collateral
(external collateral ratio)MCR
= maintenanceCR
or margin callCR
ICR
= initialCR
(amount to borrow fromliquidity pool
and blockchain)cr
=debt
/collateral
(internal collateral ratio)mcr
= internal maintenancecr
= targetcr
(user based)min mcr
(MCR
,ICR
,lp1
,lp3
)extra debt asset
= (ICR
-cr
) *collateral
interest
=extra debt asset
*a
* (1/cr
)^b
*interest rate
interest balance
-=interest
insurance pool
+=interest
*interest fee
interest lender
=interest
* (1 -interest fee
)interest balance lender
+=interest lender
Boundaries
Margin Position Holder
cr
> 1mcr
> 1interest balance
>interest
interest fee
> 0Liquidity Pool
cr
≤ 1 (t=0)cr
≤mcr
(t>0)Solution
MPLP
orliquidity pool
reduces margin calls by lowering themcr
without adding extra BTS or decrease thedebt
of the positionCR
by locking theextra debt asset
next todebt
, without paying the currentdebt
backPools
debt asset
, there is a separatedliquidity pool
liquidity pool
has areward pool
, which collects theinterest lender
liquidity pool
has ainsurance pool
, which is financed by theinterest fee
Timing
liquidity pool
has a certaintime threshold
, which defines the max. linear removing rate by the lenderextra debt asset
instantly by settingmcr
=MCR
time thresholds
defines, how long a borrower has to pay theinterest
in frontInterest
Interest rate
is defined by supply/demand of (lp1
+lp2
+lp3
)/(lp1
+lp2
)Interest
is paid in thedebt asset
. Lender can decide, if he wants to get paid indebt asset
orsettled debt asset
(BTS)Interest
is paid from a newinterest balance
, which must be held in the correspondingdebt asset
Interest
is as big, as the last paidinterest
, newinterest
must be paid to cover theinterest
fortime threshold
and currentcr
Liquidity Pool Portion
Sub pools
lp1
is for users withmcr
<MCR
lp2
is for users withCR
<ICR
lp3
is availabledebt asset
Distribution
lp2
must be first fully filled, beforemcr
<MCR
lp1
can only increase, whenlp3
> 0lp1
is distributed, to enable everyone the samemin mcr
debt asset
fromliquidity pool
:If
lp3
>debt asset
than Δ
lp3
=debt asset
If
lp3
= 0than Δ
lp1
=debt asset
/time threshold
(linear removed)Margin Call Gap
ICR
>MCR
ICR
must be different fromMCR
to increase demand inliquidity pool
before margin call gets activeliquidity pool
user increases demand from theliquidity pool
untilCR
≥ICR
liquidity pool
and non-liquidity pool
users, whenCR
<MCR
Margin Calls
cr
collateral
,debt
,debt asset
and demand forextra debt asset
Partial 1
cr
> 1 andcr
<mcr
collateral
to reachcr
≥mcr
Partial 2
interest balance
<interest
mcr
=MCR
and sellcollateral
to reachCR
≥MCR
Full
cr
≤ 1collateral
The full margin call does change the ownership of the
collateral
,extra debt asset
andinterest
to theliquidity pool
.The remaining
debt
/debt asset
is covered by theinsurance pool
.Recovery
cr
=mcr
The
MPLP
allows during a full margin call, to get the margin position with extra funds back. Thecr
needs to be increased with extracollateral
ordebt asset
tomcr
. This is only possible until allcollateral
is sold.System Risk
Parameters
ICR
MCR
a
&b
interest fee
Insurance pool
insurance pool
+= (ICR
-cr
) *collateral
*a
* (1/cr
)^b
*interest fee
*interest rate
The
insurance pool
covers the system risk, when:mcr
<MCR
cr
<MCR
cr
≤ 1Example
Interest rate
for 14 days (=time threshold
): 2%a
= 10,b
= 7interest balance
= 4 bitUSDICR
= 1.55 |MCR
= 1.5Stage 1
CR
= 1.55Stage 2
CR
=cr
= 1.24Stage 3
ICR
againInterest
: 65 bitUSD * 10 * (1/1.24)⁷ * 2% = 2.88 bitUSDinterest balance
= 1.12 bitUSDStage 4
extra asset balance
CR
= 1.55Stage 5
After 14 days the 65 bitUSD balance gets removed from
extra asset balance
, if the user doesn't add extra funds tointerest balance
. Chances to get are margin call are now high becauseCR
gets now reduced tocr
.Conclusion
liquidity pool
, the user needs to sell 1178 BTS to cover theMCR
liquidity pool
only 2.88 bitUSD are needed, to cover the interest forCR
increase toICR
Comparison
MPLP
MPL
CR
&debt
interest lender
for theliquidity pool
should be higher than BSIP-70interest lender
for theliquidity pool
should be lower than BSIP-70Discussion and Summary for Shareholders
The
MPLP
provides a free market solution to evaluate the bestCR
in terms of risk/reward or cost/reward based on the market liquidity. TheMPLP
enables a voluntary extra risk level for margin position holders, which is fully compatible to our current market mechanics. The amount of debt, which can be borrowed from blockchain and the system risk is here not increased.Negative Feedback Loops
Proof of stake
The possibility to stake
debt asset
and profit from theinterest
, will increase supply ofdebt asset
and demand for BTS. A lot of successful coins have staking options, which is still missing in the BitShares ecosystem.CR and Debt increase
Because the user gets a third option to increase
CR
from theliquidity pool
withextra asset balance
, nodebt
needs to be paid back.Interest Rate
The liquidity pool tries to find a fair market price for the inequity of
debt asset
distribution.A higher
interest rate
means more inequity, which results in a higherdebt asset
supply for theliquidity pool
.Market Liquidity
Markets with lower liquidity have a higher value for
min mcr
,a
,b
andinterest fee
.Worker Cost Reduction
Worker payments are hold in bitFIAT. The option to earn
interest
on bitFIAT, does reduce the worker costs and demand for BTS from the reserve pool.See also
Changes
Proof of stake
topic addedsettlement fund
tomargin position liquidity pool
settlement
interest rate
margin call fees
CR and debt increase
topic addedWorker cost reduction
topic addedExample
topic addedComparison
topic addedMargin call gap
topic addedGoals
topic addedDefinition
topic addedBoundaries
topic addedInterest balance
addedCR
=cr
addedMargin call
topic addedinterest
parametersa
&b
addedSystem risk
topic addedAbstract
topic addedMarket liquidity
topic addedICR
/MCR
instead ofMCR
/CCR
(Call CR)Recovery
topic for full margin call addedCopyright
This document is placed in the public domain.
The text was updated successfully, but these errors were encountered: