Author Topic: BitAssets 3.0 - For Community Review  (Read 44351 times)

0 Members and 1 Guest are viewing this topic.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
arhag, I have developed a potential solution to yield and other issues, which I hope you will see in the next few days. So I hope you don't mind if I hang off from responding to your suggestions on yield harvest right now, as I still need time to complete this work.

Looking forward to it.  :)

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
In some recent brainstorming threads I made a similar suggestion about relegating yield purely to the bond market, but I'm now recanting that idea after thinking through an issue raised elsewhere about how Russian roubles as a  bitAsset might possibly fetch the 14% odd yield they receive in the external market. The problem I now see is that if the currency receives no yield, the only demand for it will be in the bond market. It will only be used very reluctantly and with high velocity as transactional currency because of the high opportunity cost.

Hmm, maybe we bring in your idea from the BitCurrency thread of ranking the callable shorts by interest rate as well instead of just collateral ratio? But to prevent yield harvesting the BitAssets should only receive the minimum interest rate offered by shorts. The excess could instead be transferred to BTS shareholders (or to the manager of a private BitAsset?).


arhag, I have developed a potential solution to yield and other issues, which I hope you will see in the next few days. So I hope you don't mind if I hang off from responding to your suggestions on yield harvest right now, as I still need time to complete this work.

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
I agree with arhag that:

- There is no need for an initial collateral requirement, only the minimum collateral requirement. It's the minimum that protects the longs, and shorts will need to determine for themselves how much additional collateral to post so that they are comfortable holding their position.

- If technically feasible, there is no reason that shorts should not be able to alter their level of collateral up or down so long as it remains above the minimum collateral requirement, CONDITIONAL on the total pool also being above some minimum collateral requirement (which may be the same percentage).


The answer is that the 24-hour period between the filing and execution of the redemption request actually has a purpose that hasn't been mentioned in this thread as far as I can see.  There is no technical obstacle to processing redemption requests immediately.  However, such a scheme would suffer from a critical economic flaw:  The long is free to view the feed's data sources (external exchanges, etc.), and is able to react to changes in these external data sources much faster than the feed.

Thus, with instantaneous requests, a long holder would know (through their own observations of the external data sources used to produce the feed) that the settlement value of their long position is going to go down in the near future -- and then settle immediately, before the feed has a chance to update.

The delay period prevents this attack.  It forces the long holder to say "I'm going to redeem" without knowing exactly what the redemption price will be.


I would like to see this argument scrutinised some more because it really depends on how price feeds are applied to matching, and I don't feel I understand this well enough. In principle, I don't see why any person should be able to confidently predict where the price feed will go any faster than the pool of price feed submitters themselves. Then the only question is how quickly price feed submissions are reflected in the market, and what feed price is applied to satisfying the person's order, and if the information present in each is the same, we do not have a problem with immediate settlement. Personally I think we should favour instant settlement if we can.


Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
In some recent brainstorming threads I made a similar suggestion about relegating yield purely to the bond market, but I'm now recanting that idea after thinking through an issue raised elsewhere about how Russian roubles as a  bitAsset might possibly fetch the 14% odd yield they receive in the external market. The problem I now see is that if the currency receives no yield, the only demand for it will be in the bond market. It will only be used very reluctantly and with high velocity as transactional currency because of the high opportunity cost.

Hmm, maybe we bring in your idea from the BitCurrency thread of ranking the callable shorts by interest rate as well instead of just collateral ratio? But to prevent yield harvesting the BitAssets should only receive the minimum interest rate offered by shorts. The excess could instead be transferred to BTS shareholders (or to the manager of a private BitAsset?).

I haven't thought this through very carefully, but here are some ideas. A new short would initially have to pay the same interest rate as the lowest interest rate offered by an existing short (or 0% if no shorts already existed). A short position could increase its interest rate at any time. In order to decrease its interest rate, it would have to submit an order to decrease the interest rate to the new amount and wait for 48 hours for it to be activated. During that waiting period, its ranking would be based on the new interest rate, but the short would still need to pay the old interest rate. If we have a non-zero grace period, then the short position interest rate cannot be decreased during the grace period.

The margin call queue would still be in ascending collateral ratio order because getting rid of short positions with that low of a collateral ratio is more important than interest. However, the regular call queue would instead be ordered in ascending interest rate order. This encourages the shorts to offer a reasonable interest rate to get further away from the head of the queue. If people want to get rid of BitAssets (perhaps the interest rate isn't high enough), we could expect more redemption requests. These redemption requests would eat away at the shorts offering the lowest interest rates (thus raising the minimum interest rate offered, raising the yield, and making BitAssets more desirable). On the other hand, if the interest rate is too high (and there is too much demand for the BitAsset), no one will be resorting to redemption requests to get out into BTS, and therefore the short positions can get away with offering lower interest rates (which they can do after the 48 hour delay).

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Adding this grace period risks the security of the network -- protected shorts aren't providing liquidity to longs at the price feed (which is the entire point of having BitAssets in the first place, right?) and can get undercollateralized without being called.

My proposed tweaks with the grace period are nearly identical to the current BitAsset system with expiration except where the the expired shorts are ordered by collateral ratio rather than whatever order they use today. People complain about expired shorts and how this system gets rid of that restriction, but the reality is that making shorts callable from the beginning is nearly equivalent to reducing the expiration period from its current 30 days to 0 days (and setting expired cover orders at 99% of the price feed, ordering those expired cover by collateral ratio, and other smaller tweaks).

Also, I think you misunderstood my proposal. All short positions (whether in the grace period or not) are still subject to margin calls as before. It doesn't matter if the short is only one day old. If the collateral ratio falls below the margin call ratio limit, it will be margin called and the cover order will be offered above the feed price.

This is impossible if you always call the lowest collateral shorts (we'll always improve the strength of the average short's books by settling the short with the weakest books).  With arhag's "grace period" scheme it is possible, however, if shorts protected by the grace period have worse-than-average books.

Undercollateralization is still possible with the new system. If the short position with the lowest collateral ratio is undercollateralized, the matching order will not get the full value back (at current price feed) for their BitAssets. However, if someone takes one for the team and removes that short with a redemption, other people will be able to get their full value back. Therefore, no one will be willing to redeem first and take the penalty all on themselves. You still need black swan liquidation when undercollateralization occurs in order to be fair to all BitAsset holders.

Also, again I think you misunderstood the matching rules of my proposal. Before a short can become undercollateralized, it must first be margin called. If it is margin called it is ahead of the queue of any other non-margin-called short position. There is no difference between my tweaked version and bytemaster's original version regarding this particular issue.

This simply doesn't work.  The whole point of collateral is that it's a "backstop" for the system that the shorts need to cover to liberate.  "Removable collateral" doesn't meet the definition of the word "collateral" which is "property used to guarantee a loan."  Collateral has to be only allowed to increase.  It's okay for a short to increase his collateral level because that increases the security of the system.  However, if a short wants to drop his collateral level, he needs to cover and re-short.

The margin call limit is what protects BitAsset holders from undercollateralization. In my view initial collateral requirements are unnecessary (other than obviously being larger than the margin call limit). In a system where the short can choose any initial collateral greater than the margin call limit, there is no difference in terms of risk whether you allow removing margin (while still meeting minimum limits) or not. However, it does make things far more convenient for the short owner. The short owner could always short to themselves at the lower collateral ratio and use it to cover the old short. So why force them to do that rather than just adjusting the margin of an existing short. Also this IMHO flawed idea of never allowing collateral to decrease is the reason we have a broken implementation of partial cover operations and why we need to have hacks like breaking up short orders into small pieces to minimize the amount of free collateral to keep in order to be able to cover. If you could, as an example, partially cover half the debt and take back half the collateral, you wouldn't need hacks like that.

As for whether we should have a minimum limit on initial collateral that is greater than the margin call limit, I personally think it isn't necessary. From a risk perspective, we should mostly be considered with how much the price can fall in a short amount of time before undercollateralization occurs. This means you need to look at the case where the price has slowly dropped causing the collateral ratio of a short position to slowly drop from its initial collateral ratio to a ratio just above the margin call limit. That process can be incredibly slow. As long as the collateral ratio is above the margin call limit, the blockchain isn't going to force the short to cover above the price feed. What we should care about is how much leeway there is after the moment the blockchain has authority to force cover the short. This means we should care about how large the difference is between the margin call ratio limit and 100%, but not as much about the initial collateral ratio.


Also, you can view the assignment of a redemption request to the lowest short as having the short holders "bid" against each other in an "auction" which is "selling" the right to remain in the market when the long wants to settle.  Auction-style systems only work when bidding requires at least the winning bidder to sacrifice something of value (i.e. pay a price proportional to their bid).  Tying up their capital for a few minutes when the redemption is actually processed, is not requiring sacrifice of a very meaningful amount of value (there's an incentive to add a ton of collateral a few minutes before a redemption request is due to be processed, then pull out your collateral a few minutes after).  Tying up capital for an indefinite period of time (until covered or redeemed) is definitely a big enough sacrifice of value to be meaningful, tying up capital for a few minutes is not.

Redemption requests can come at any time. Yes they have a delay which gives the short enough warning to adjust their collateral, but the question is what are they going to do with the free collateral if they need to have it ready (in as little as 24 hours) to get them to the back of the queue whenever a new redemption request comes in? Since you cannot predict the quantity of redemption request that may pop-up, the short owners are basically going to have to effectively treat the free collateral as locked collateral. They wouldn't risk putting it towards some bond that lasts a month. They will have no ability to pull it out in time to protect themselves from a redemption request.

Also, even if you forbid removing collateral from a short, people could still simulate it by rolling over their short. So let's say the price of BTS went up so that the short is excessively collateralized. The short may want to use the excess BTS for other purposes, e.g. compound gains by using it to short more BitAssets. So they self-short with spare BTS at the lower initial collateral ratio for a larger amount of BitAsset debt than they already owe, use a fraction of the BitAssets collected to fully cover the old short, and then sell the remaining BitAssets on the market. Or alternatively, they could just pull the excess BTS out of the existing short position and use that to create a new short order for the additional BitAsset debt they want to be exposed to. Why not allow them to do it the easier way that doesn't involve self-shorting?

This post is specifically addressing a portion of Arhag's proposal with multiple queues.  If I understand that proposal correctly, Arhag is essentially saying that "A settlement offer is the long requesting to trade their long for a certain amount of BTS.  Why don't we just let the system use the market to give the long what they are asking for, if someone in the market is willing to provide it?  That will give the settlement process a chance to be completely voluntary, and only resort to involuntary settlement when no one is willing to serve as a counterparty to the redeeming long holder."

The answer is that the 24-hour period between the filing and execution of the redemption request actually has a purpose that hasn't been mentioned in this thread as far as I can see.  There is no technical obstacle to processing redemption requests immediately.  However, such a scheme would suffer from a critical economic flaw:  The long is free to view the feed's data sources (external exchanges, etc.), and is able to react to changes in these external data sources much faster than the feed.

Thus, with instantaneous requests, a long holder would know (through their own observations of the external data sources used to produce the feed) that the settlement value of their long position is going to go down in the near future -- and then settle immediately, before the feed has a chance to update.

The delay period prevents this attack.  It forces the long holder to say "I'm going to redeem" without knowing exactly what the redemption price will be.

So if I understand what you are saying correctly, you are basically saying that once you make a redemption request you are not allowed to cancel it during the 24 hour waiting period. If you were able to cancel it, you could effectively convert a redemption request with an arbitrarily long waiting period into a instantaneous request by simply deciding whether to cancel or not just prior to the end of the waiting period, based on which is the more profitable action given what you know about the near future feed price.

So with my proposed tweaks that would mean that redeem orders could not be cancelled unlike all other orders in the system.

Which brings us to Arhag's system.  We can't match the long holder against a market order until we know the redemption price, and a fundamental feature of the system, which I included in the system because I believe is economically necessary for it to function, is that we don't know the redemption price until the redemption time.

The unactivated redeem orders would be just like regular relative ask orders and would match (if possible) at the current price with any bid order but not with the callable short positions in the regular call queue (however they would match with margin called shorts in the margin call queue). It is only when they become activated redeem orders after the waiting period that they can force the short position at the head of the regular call queue to match with it. It is only in this case where you need to worry about feed price prediction attacks since, ignoring margin calls, these are the only situations in which the fund owner hasn't given explicit permission to offer their order at the price it is offered at (technically relative orders are also at risk to feed price prediction attacks, but that is a risk they willing took on by choosing a relative order and you have to assume they account for that risk by adding enough spread to protect their orders). However, if redeem orders cannot be cancelled, the only action the owner of that order could have possibly done in response to information they had was at least 24 hours before the match occurred (meaning they couldn't predict the match price at the time they still had the ability to influence the order).
« Last Edit: April 17, 2015, 11:16:39 pm by arhag »

Offline bytemaster

Upon further thought, I think this ruleset is vulnerable to an attack by a whale who can manipulate markets (AKA feed price) upwards for any length of time. Such attacks are particularly problematic in thinner markets.

Any one trading in a thin market with a large whale is taking a risk.  Shorts are the only ones taking this risk and they choose to take it.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Chronos

Upon further thought, I think this ruleset is vulnerable to an attack by a whale who can manipulate markets (AKA feed price) upwards for any length of time. Such attacks are particularly problematic in thinner markets.

Offline theoretical

This post is specifically addressing a portion of Arhag's proposal with multiple queues.  If I understand that proposal correctly, Arhag is essentially saying that "A settlement offer is the long requesting to trade their long for a certain amount of BTS.  Why don't we just let the system use the market to give the long what they are asking for, if someone in the market is willing to provide it?  That will give the settlement process a chance to be completely voluntary, and only resort to involuntary settlement when no one is willing to serve as a counterparty to the redeeming long holder."

The answer is that the 24-hour period between the filing and execution of the redemption request actually has a purpose that hasn't been mentioned in this thread as far as I can see.  There is no technical obstacle to processing redemption requests immediately.  However, such a scheme would suffer from a critical economic flaw:  The long is free to view the feed's data sources (external exchanges, etc.), and is able to react to changes in these external data sources much faster than the feed.

Thus, with instantaneous requests, a long holder would know (through their own observations of the external data sources used to produce the feed) that the settlement value of their long position is going to go down in the near future -- and then settle immediately, before the feed has a chance to update.

The delay period prevents this attack.  It forces the long holder to say "I'm going to redeem" without knowing exactly what the redemption price will be.

Which brings us to Arhag's system.  We can't match the long holder against a market order until we know the redemption price, and a fundamental feature of the system, which I included in the system because I believe is economically necessary for it to function, is that we don't know the redemption price until the redemption time.
BTS- theoretical / PTS- PZxpdC8RqWsdU3pVJeobZY7JFKVPfNpy5z / BTC- 1NfGejohzoVGffAD1CnCRgo9vApjCU2viY / the delegate formerly known as drltc / Nothing said on these forums is intended to be legally binding / All opinions are my own unless otherwise noted / Take action due to my posts at your own risk

Offline theoretical

the grace period gives certainty that the short position won't be called.

Shorters are big boys / big girls, they can handle it.  One of our underlying assumptions from before BitShares was even created, is that longs should be friendly to relatively unsophisticated market participants (guy who just wants an account with dollars he can use to buy coffee).  There is no such assumption about shorts.  Adding this grace period risks the security of the network -- protected shorts aren't providing liquidity to longs at the price feed (which is the entire point of having BitAssets in the first place, right?) and can get undercollateralized without being called.

when a short position is margin called, it does not automatically buy up BitUSD up to a price of 10% above the feed price in my proposed tweaks. Instead the price limit it is willing to cover at grows monotonically from the feed price all the way to 20% above the feed price as the collateral ratio continues to drop lower and closer to 100%.

This is actually a feature that's been in my mind as well -- instead of having a cliff, the premium should slowly go up as the value goes down.

For the first time the bitAsset holders will have the actual power to sell at about the feed price. It is significant (in my book) difference from the current model where the shorts have to cover at the peg and only as a consequence of that the longs can sell at the peg (in 30 days or less).

Yeah.  I've always been skeptical that the current BitAsset system would have a correctly functioning, tight peg in all market conditions, and experience hasn't really alleviated that skepticism.  Having a stronger redemption system increases my confidence, as sound economic theory says that if A is redeemable for B, then the price of B sets a floor for the price of A.  A price floor for BitUSD protects existing long holders.

Arhag, falls below 100% during redemption process?

This is impossible if you always call the lowest collateral shorts (we'll always improve the strength of the average short's books by settling the short with the weakest books).  With arhag's "grace period" scheme it is possible, however, if shorts protected by the grace period have worse-than-average books.

the short owner should be allowed to add and remove margin as they please

This simply doesn't work.  The whole point of collateral is that it's a "backstop" for the system that the shorts need to cover to liberate.  "Removable collateral" doesn't meet the definition of the word "collateral" which is "property used to guarantee a loan."  Collateral has to be only allowed to increase.  It's okay for a short to increase his collateral level because that increases the security of the system.  However, if a short wants to drop his collateral level, he needs to cover and re-short.

Also, you can view the assignment of a redemption request to the lowest short as having the short holders "bid" against each other in an "auction" which is "selling" the right to remain in the market when the long wants to settle.  Auction-style systems only work when bidding requires at least the winning bidder to sacrifice something of value (i.e. pay a price proportional to their bid).  Tying up their capital for a few minutes when the redemption is actually processed, is not requiring sacrifice of a very meaningful amount of value (there's an incentive to add a ton of collateral a few minutes before a redemption request is due to be processed, then pull out your collateral a few minutes after).  Tying up capital for an indefinite period of time (until covered or redeemed) is definitely a big enough sacrifice of value to be meaningful, tying up capital for a few minutes is not.
BTS- theoretical / PTS- PZxpdC8RqWsdU3pVJeobZY7JFKVPfNpy5z / BTC- 1NfGejohzoVGffAD1CnCRgo9vApjCU2viY / the delegate formerly known as drltc / Nothing said on these forums is intended to be legally binding / All opinions are my own unless otherwise noted / Take action due to my posts at your own risk

Offline Empirical1.2

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
 +5% At first glance this looks very good  8)
If you want to take the island burn the boats

Offline Markus

  • Sr. Member
  • ****
  • Posts: 366
    • View Profile
Another question: The 200% collateral (100% each) is based on the feed price and not the actual transaction price, right?

If not it could be exploited the following way:
Short to yourself at e.g. 10% of feed price (possible in thin markets by smashing through the few buy orders in the book)
Don't worry about the short position, it will only be 20% collateralised. Just let it go bust.
Keep the long position which you got for paying just 20% of feed price.

Different scenario:
If the shorter had to post 100% of the feed price and the 'longer' pays only the purchase price (which I assume is the current plan) you could create a dangerously low collateralised position (100% + x with x→0) by shorting to yourself at near zero price. Conclusion would be that if there really is no limit for the shorting price the shorter's required collateral would have to be at least the margin call percentage, i.e. 150% at the moment.




Offline Markus

  • Sr. Member
  • ****
  • Posts: 366
    • View Profile
1) All short positions can "vote" and if more than 51% of the shorts think the market has gone bad then the forced liquidation of the long side can be initiated with a 10% premium to the USD positions.   51% of the shorts would equal 25% of the stakeholders in the asset and if they are all willing to take a 10% hit then chances are the long positions are being unreasonable.   

2) Allow the price feed producers to trigger it any time they feel it makes sense (with 30 day notice).   These producers are the "guardians of the feed" and the peg.

3) Require both the feed producers AND the shorts to agree.

I assume this scenario is meant to be a rare one and only to be used for unwinding a BitAsset totally?

Making long positions callable won't go down well with people just wanting to use them as a "stablecoin".

PS: Somebody mentioned there wouldn't be any benefits for shorting to oneself with these new rules. This rule does provide some incentive.

Offline speedy

  • Hero Member
  • *****
  • Posts: 1160
    • View Profile
  • BitShares: speedy
All sounds great, but this guarantees liquidity for the longs, but not the shorts, which was another criteria in the other thread. Will shorts still have to struggle to find BitUSD for sale when covering?

Offline btswildpig

  • Hero Member
  • *****
  • Posts: 1424
    • View Profile
Alt :
Shorting must have a highest limit , covering must have a lowest limit .
Otherwise , the system can be gamed .

Find a market with low activity , short 0.2 million USD with 0.1 billion BTS , cover it with 20USD , so I get 0.1 billion BTS plus nearly 0.2 million USD (only minus 20USD)

the system will be having a lost .
这个是私人账号,表达的一切言论均不代表任何团队和任何人。This is my personal account , anything I said with this account will be my opinion alone and has nothing to do with any group.

Offline pc

  • Hero Member
  • *****
  • Posts: 1530
    • View Profile
    • Bitcoin - Perspektive oder Risiko?
  • BitShares: cyrano
Someone with a lot of USD *and* BTS could

1. request settlement of their USD tomorrow
2. buy lots of new USD with their BTS, driving the price up
3. settle their old USD at the higher price.

If they manage to drive the price up by more than 1% they have an instant profit. Rinse, repeat.

Wouldn't they need to drive the feed price up, not the market price?

Otherwise, that's just plain market manipulation, like exists on all crypto exchanges.

The feed price on the internal market reflects the market price on external markets. Manipulating the market price influences the feed price.

The difference to a classic pump&dump is that here the entire position will be settled near the new feed price. In a classic pump&dump you can't dump a large amount without driving the price down again.

I feel like the threat of forced settlement is enough to keep the market price at 99% parity.

In theory you're right, if all market participants continually keep an eye on the market and react quickly and rationally. But that's not reality. In reality, people go short and come back 30 days later to see if they've made a profit or not.
Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 http://bitcoin.quisquis.de