Hi all,
BSIP70 "Lending for Margin Trading" is getting closer and there remains a few key points to address. One is important and warrants a thorough discussion is about how to determine 'the price' of the asset being lent relative to the collateral held and market price of the collateral vs the lent asset.
Firstly a lender defines the markets in which he is willing for the borrower to use his lent asset. Therefore the lender assumes risk and takes responsibility for the liquidity, pricing and legitimacy of those markets. The risk for the lender is he may not get back the amount lent in the case of a catastrophic collapse in price of the the lent asset vs the asset the borrower buys. Discussion on margin call mechanics aside (which I think was covered well in Github) the main point for community input now is on 'the price'- what is it, where is referenced to and the best method for insuring a robust pricing for these margin loans.
A price is required for many of the key operations required for BSIP70. You need a price to determine the collateral ratio of the borrowers collateral vs the the size of the loan. You need to monitor the price for a margin call event and you need to execute a limit order in the case of a margin call at some price in order buy back enough of the loan to repay the lender. An accurate price is needed in all these cases, we will call this a 'reference price'. Lets examine how similar lending and margin markets have existed on other platforms:
Bitfinex: Bitfinex has the most similar proposed margin trading and lending system to BSIP70. Bitfinex choose what markets can be used for lending so they limit the issue of exposure to illiquid markets. The Bitfinex price they use for the loans is based on the 'Last price' in that market. That means that the last executed trade represents the pricing of that asset pair. This is a simple and direct method of determining the price.
Bitmex: Bitmex, while not employing the same P2P CFD style of margin trading as BSIP70 still needs a price for their margin mechanisms. Bitmex use an external price feed of the bitcoin price relative to their self selected set of coins they list. They use multiple datapoints to ensure the robustness of their pricing feed based off the prices of several exchanges.
Other solutions: Perhaps a Middle price could be used which is = ((highest bid + lowest ask) / 2). However we would need to carefully think of the implications of this and how to game it. I have some initial thoughts but open to ideas here.
I think the best solution is just to use the last price for that particular market pairing, yes it is open to someone dumping price and forcing margin calls but the lender takes that into consideration when he allows his asset to be traded on that market knowing the risk is that he might not receive what he lent in return. A conservative lender might only be willing to lend to high volume and liquidity markets to limit his risk of a giant margin call killing the last price. Also, even if this were the case, if I knew there was a market with a high chance of this happen this is an excellent opportunity for market makers. If there was alot of margin calls on one market I as a market maker would place bids 10% below market price knowing ill be able to scoop up cheap coins in the event of the margincall and sell them on another exchange for a price 10% higher using a cross exchange arb like via DEXbot.
What are the best methods in order to establish a reference price that is robust that you would like to see? Did I miss any potential implementations?
Logic/Concept - Support.
3 things I might add/define better to this above, before it goes to reality:
1) Markets with no liquidity are a big no-no. Currently only liquid market on the entire blockchain seems to by BTS:BitCNY if we are to compare liquidity with Bitfinex, Bitmex or even Poloniex and take them as fine working example (they do provide these services for quite a while without problems).
2) For UIA price should still be determined by 3rd source and witnesses should be doing minimum 2 feeds for that contract. Marketplace gives Lender opportunity to rig the debt over the period of time since amount of return is in the same contract not related to any pair of it. If for example open.USDT or Spark.HKD, by 2 fiat sources against contracts used for lending.
3) bitshares-core software should determine on its base level of asset are markets liquid enough or not, not the Lender. e.g. bsip70_enable_marketminimum_volume = 500,000.00000 BTS
Anything else would be potential manipulation.
Chee®s
1. Firstly its up to the lender to set the markets you want to lend to, Bitshares is decentralised and everyone should be free to lend to whatever they want its not up to someone to decide what people can and cant do, in this case the lender assumes the risk if they allow a borrower to take their money.
Secondly "Liquidity" is only important when referenced to how much you are loaning. For example if the market cap of a particular coin is $10000 and you are loaning $1, just because the market cap is not high relative to Bitcoin, the fact you are lending a small amount does not present any high risk to that market and because the market cap is low it can actually be difficult to find lenders/traders willing to engage in that market. So I dont see this as a concern TBH.
2. Not sure what you mean here but lets address additional price feeds. If we require additional price feeds there are a few concerns:
A ) Whos going to provide them and for what coins?
B ) This is additional computational burden on the network and we dont have a large number of witnesses as it is
C ) Whos feed is correct? Will we use median values for a number of witnesses? Then we will also need to design new voting principles for price feeders for lending.
D ) Last but most importantly it limits who and what you can lend and trade. If there is no price feed its no longer possible to margin on that market. People should be free to lend some small cap coin for some other small cap coin without being dictated to what they can and cant do because a small set of 10 random people in the world dont want to provide feeds for their coin. This massively limits this BSIP to probably only 0.001% of Bitshares markets. We want to make this BSIP for anyone to be able to get leverage and earn a return on anything.
3. Volume is not a good indicator and easily faked. Also, for UIA markets one can easily trade 1 BTS for 1S**TCOIN @ price of $100000. Then execute 2 trades daily in order to get a volume of $200000 which magically enables them go margin on whatever. Whereas maybe there is a small cap coin with a real market but is below some artificial threshold which is honest, but is not able to get margin access because its not above some arbitrary value. Also it should not be up to core or some individuals to determine what you can trade or not. Also for UIA/UIA makets there is no BTS reference so not possible to get a BTS volume as benchmark even if there was it would not be representative of real BTS because UIA/UIA are easily faked whereas BTS/UIA actually requires someone to pay real value to exchange them.
1. BitShares is a brand and technology that has LEGAL reponsibility in the real world. Regarding blockchain, BBF, regarding bitshares.org Move Institute. If Authorities are to knock someone's doors for BitShares, that would be first 2 to knock on. You ? Just a 3rd party company utilizing free and decentralized BitShares blockchain platform without written agreement that you bare no responsibility towards actions that you're doing on BitShares blockchain. For a Money Remittance business, you're far off the grid with your comments if you want real main-stream.
In some countries you know that Lending is against the law ? Shall we disable API access to those countries just so anyone can become a Lender and start making profits from the blockchain without any concern on the consequences that may happen ? "Decentralized" you can look up in dictionary, same as you did for "bombastic" and come back here to tell me what decentralized has to do with lawless.
2.
A) Concern who will do price feed ? Up to the lender who was interest on return to employee more witnesses and even pay them privately for price feed if needed.
B) Nothing computational is happening, apart from regular price feed added to another token through a 3rd party independent script between blockchain and 3rd party (as now).
C) If you wanna Lend Spark.HKD and re-claim it in real HKD at your offices, wouldn't be fair at local currency/exchange (fiat) to be borrowed ?
D) Yes, ofcourse it is, otherwise everybody would be having bad debts and everything would go to shit, how here that in real world. Limits are nothing bad IMO. (look what BSIP42 did with no limits)
3.
Creating a volume and price feed combined would be exactly too hard to maintain and Lender would not be diving it into it, if he is not up for a real business. Borrower would not dive inside to unstable/unknown conditions.
Such markets/assets should be always and only issued with multi-sig on committee, otherwise we will move in from gray to very black area of crypto industry.
Chee®s
P.S. I said, support fully just in terms that lending should have limits by the blockchain not by the lender. If you think that's not fair, then you're far from decentralized. Lender dictating rules is very centralized process with no legal process or responsibility to it. Better to compute and calculate rather than trust, hence we are still looking for trustless gateways/solutions.
Firstly this is about the price discovery mechanism, most of your concerns are unrelated to this, please stay on topic.
1. I dont think you understand the difference between a gateway and Bitshares. Bitshares is an open source protocol and is not based in or operates from or services any jurisdiction. It is decentralised. Gateways are companies that operate in and service customers from various jurisdictions. The Bitshares protocol doesnt care about the legislation in any particular jurisdiction, its irrelevant. If you want to make a company and call it 'Bitshares' thats cool thats on you and you undertake responsibility servicing customers in that jurisdiction but thats entirely different to the protocol. We are discussing the Bitshares protocol not any companies that bear the name or Gateways associated with Bitshares, thats their prerogative.
2.
A. No its not actually, the existing proposal doesnt mention anything about price feeds, so its not necessary, therefore it is incumbent on you to define why it is necessary. Just saying someone should do it is not a reasonable response.
B. Incorrect, there is more computational load on the blockchain with more feeds and additional operations required to service that.
C. This sentence doesnt make any sense, not sure what redemption of a stablecoin has to do with a lending feed. We are talking about the proposed feed and a median price for it. As I said I find this approach to not be reasonable given the concerns in 2.
D. "otherwise everybody would be having bad debts and everything would go to shit, how here that in real world"
This seems like an arbitrary offhand statement based on hand waving and conjecture. As stated previously it is the responsibility of the lender to assume the risk of the borrower- just the same as it is when we rely on the debt positions for BitCNY/BitUSD. This proposal of price discovery is a voluntary interaction between two consenting parties to agree on a mutually beneficial price between those parties. You dont know what the interest rate or price should be, neither do i, but the market will establish that.
3. Not sure what your response has to do with Volume as an easily exploitable metric. As I said, if something can be exploited, as I just laid out, it should not be part of the protocol, period.
P.S. I said, support fully just in terms that lending should have limits by the blockchain not by the lender. If you think that's not fair, then you're far from decentralized. Lender dictating rules is very centralized process with no legal process or responsibility to it. Better to compute and calculate rather than trust, hence we are still looking for trustless gateways/solutions.
So you advocate for a smaller number of specifically defined people to arbitrarily decide what you can and cant lend. Then you say it is more decentralised than an infinite number of lenders can decide on any parameter at any time. Thats literally the opposite of what youre advocating, an infinite amount of lenders is more decentralised than say, 10. Confirmed. An infinite number of parameter combinations is more decentralised than a specified number set by a few people. Confirmed. Therefore this statement doesnt hold up.