In Polo, it seems that if you have at least the maintenance collateral amount you're safe unless the price moves against you, in this model it seems you can be margin called based on orders moving around/being removed from the book. Is it the same on polo, if not could this put of borrowers off or not really in your opinion?
Imo we should replicate the polo system as much as possible, as it is proven to work. (In a year, there has not been a black swan big enough to cause a failure, even with some wild swings in prices).
In the polo system, lets say that you go long BTS, to the maximum allowed 40% margin requirement. (2.5x
long). Polo doesnt actually check against the last price that the coin was traded at to see if your margin is okay, it checks against the buy orders that are on the books. So if the last price of a trade was 900 sats, but there is no buy orders down until 850 sats, it actually looks at the 850 sats to calculate your margin. And if that 850 sat buy order is not big enough to cover your position (your long is more BTS), then it will look down the order book further until it gets to the point where it sees how you can cover all of your position.
The amount of BTC you could get by market selling your position onto the books is how much poloniex actually considers your position to be worth.
From what I understand of bytemasters proposed system, it works the same.
Lets say that the person with the buy wall at 850 sats in our example cancelled his order. Now, polo recalculates how much you could sell your BTS for. Lets say that the 850 wall was a big wall and you were relying on its existence. Without it, poloniex sees that you would have to dump all the way down to 400 sats in a liquidation! It recalculates your margin and determines that you are below the 20% liquidation level and are no longer safe. Therefore it autoliquidates your position, and crashes the price to 400 sats.
So the removal of an order from the books on polo can trigger forced liquidations. Bitshares would need to do the same thing. Its necessary in order to protect lenders.
I might suggest that for robustness sake, that if this scenario occurs that what Bitshares should do is to not allow the order to be cancelled but instead to liquidate the position into it, when the person tried to cancel the order. Essentially, when the buy wall owner submits the order to cancel to the blockchain, the blockchain responds 'oh no, if you pull that order then it will cause forced liquidations. Therefore you cannot pull the order, and the forced liquidations are happening now instead'.
What will happen as a result of this is that people are going to put in big buywalls, and others are goign to take margin positions in front of them, and then the buywall placers are going to pull their walls in order to get cheap (whatever theyre buying). This happens on polo. Its what happened when Bitshares crashed after the 2.0 release, the price would start to drop, a whale would remove a buy order, and it would trigger liquidations.
But there isnt any way to avoid this if we want to protect lenders, and imo we NEED to protect lenders. Lending needs to be safe. The margin traders take all the risk. After all, everyone knows margin trading is risky.