I have no trouble with the tiers of liquidity as proposed. At this stage of the operation the only way to purchase NuBits is through traditional exchanges so that is where the liquidity must be provided. I would echo the sentiment that long term, the plan should be to move away from the more traditional exchanges. (Personally, I like to imagine NuBit ‘stores’ on OpenBazaar type systems).
As NuBot will deal mostly with the liquidity in Tier 1, my thoughts have naturally gravitated toward that. I would echo @desrever in saying that the changes to Nubot are definitely achievable but will take time. The main thing will be to roadmap the changes that are needed so that each iteration can add something useful towards the main goal. With that in mind, what is the current main goal for NuBot and liquidity operations. Is it to, as stated in the OP, [quote=“JordanLee, post:1, topic:618”]
eventually pool the liquidity available on many exchanges to each NBT pair
or is it indended that NuBit sales will move away from exchanges to find a different, less centralised alternative?
While that is a little bit of a pie in the sky question, I think it is important to know the direction of travel. (and to speak in cliches whenever possible).
With regards the immediate work needed on NuBot, I have no trouble with the ideas presented.
I wanted to get the feel of how these attacks can work in practice, so I … practiced it. I did everything I could to take advantage of the peg, but I finally did not finalised the trade to avoid real damages to the LPC and shareholders.
After that test I am definetly convinced we need a mitigation strategy.
I want to propose (maybe with a motion) that we immediately and temporarily cease operation of nubot against PPC, which - to date - is the most subject to those kind of attacks.
Then, when we have a better solution in place (as proposed above) we can re-introduce it.
With BTC those attacks are definitely less effective (more liquid than PPC) , so we can leave it there.
To support NBT’s liquidity in seconds is costly and is not necessary.
How about to give a strong support on NBT on the market in some unpredictable time points. Have we carefully studied the case in the central banks of countries whose currency fx rate is fixed to USD, such as HongKong.
Like that idea, but I think it is too early for that. Once we are stable for a year or so and established a lot of trust and adequate reserves this might be possible. At this stage it would create too much uncertainty with the risk of the peg being lost which won’t be good for building trust and marketing.
I just went through this whole thread again, as I believe that now its time to set some mid/long term direction for development.
While I still think we need protection mechanisms against exploiting custodians large walls, I do not think that mirroring order books is a viable solution in tier1. It seems more consistent and convenient to stop providing liquidity on scarcely liquid pairs (PPC) while finding other mitigations strategies.
We are currently offering just BTC and PPC because we needed them to start our operation. While this helped us getting started, is now time to move towards our goal of providing a 1$ coin to 1$ coin users rather than speculators/dumpers/arbitrageurs .
BTC is some orders of magnitudes more liquid than PPC, therefore the NBT/BTC pair is much much less subject to the exploit described by OP. We can keep BTC/NBT liquidity operation while we complete our transition out of these pairs. By now we should work on the how to get out of the current system, instead of engineering our way into it.
No PPC Liquidity provider ever stepped up to provide PPC liquidity to date : the PPC funds custodians are providing resulted from the sale of NBT. We are offering a service to the PPC community without the PPC community offering a service back, which is heading towards losses for our dual-side (not LPC) custodians.
Mirroring order books will be very expensive : technical challenges are overwhelming. To change the tier1 liquidity operation mirroring combined order books, we would need spend several weeks (months) in un-doing our past work, re-designing and implementing the trading strategy, and at least as much time in testing it. Also we would need to train custodians, write documentations and maintaing it. I would rather spend the same amount of development time and energy on engineering our way out of it. Especially considering that once we stop providing PPC liquidity the exploit on BTC pairs unlikely and alternatives to mitigate exists (more on this soon).
Below also some relevant quotes to back up my line of thoughts :
First, also @JordanLee seems to back up my worries about PPC to some degree :
Moreover we acknowledge that the engineered multi-tier solution will not have much impact on what we consider our final destination most important pair:
I invite to revise the whole liquidity evolution discussion under a different angle : If we were only supporting BTC/NBT pair, how can we mitigate the liquidity exploit?
NuBot 0.1.5 is already moving in that direction : we recently added a parameter that let the custodian specify a cap on the order size. Next iterative step is to adjust that amounts dynamically, based on available liquidity and market conditions – which is equivalent to
This last step is complex enough to be a topic of research of its own, so I would avoid adding much more to it.
Following iterations could move from the one-large order to a set of buy/sells orders decreasing in size centered around the 1$ price, simulating an average balanced order book.
NuBot will likely be able to move from tier3 (a hot wallet) to tier2 (the exchange), but hardly the other way (API withdrawing is becoming bad practice and not supported by most exchanges).
If we go this evolutionary multi-tier way (without the order book mirroring), it will take a lot of time and effort. I would like to see in the meantime the same amount of energy (or more) being spent in finding ways to stop supporting also BTC pairs and providing NBT at 1 $ in a decentralised and elegant way.
I close this long reflection with an off topic question : how does shapeshift deal with the low-liquidity problem? Can you dump JunkCoins in there in large quantities at a fixed price?
My vision is quite different from what @desrever has outlined. We can provide the best liquidity for every coin on every exchange. We can aggregate all the liquidity for any particular coin and offer it on multiple exchanges. In order to tap into this liquidity, people will need to buy NuBits. Providing liquidity has worked for us so far, but we can take it much further. The fact that our liquidity has not been accurately priced is not a reason to stop offering liquidity. It is an invitation fix our pricing in the way I described in the OP.
Take Dogecoin for example, whose liquidity is fragmented between BTC38, Bter and Cryptsy among others. With the system I have outlined, a custodian with accounts at BTC38, Bter and Cryptsy can offer as much liquidity as all three exchanges combined, on any and every exchange they operate. This liquidity will be irresistable to traders. All they have to do to access it is buy NuBits. So they will.
The implementation is not simple, but I am certain it can be done iteratively. It is not nearly as difficult as the implementation of Nu. I’m sure that with additional discussions we can clarify the details of the software development that needs to be done.
Talk of phasing this out in favor of our non-existent USD market is presumptive at best. Where is the demand for USD/NBT going to come from? No one is saying because no one knows. What we do know is the market has rewarded us for liquidity provision. Therefore, I argue for doing more of what has made us successful, not less.
I’m going edit the OP to make it finalized motion. I’m confident offering cheap liquidity is the key to NuBits adoption at this stage and that my proposal will dramatically reduce the presently high cost of providing liquidity.
There is still an unmet and growing need for this. You can accomplish by holding only NuBits (except for short periods of time), so there is little exchange rate risk.
Here is an example of a use case: The Bter BTC/NBT trading pair has no buy side liquidity but the CCEDK BTC/NBT has plenty. This is not an overall liquidity problem, so it can’t be effectively addressed by raising interest rates. Rather, what is needed is for someone to take their NuBits and buy BTC at CCEDK. Then this BTC should be transferred to Bter where it is used to buy NuBits. Now, buy side support is balanced between Bter and CCEDK. The person doing the balancing has NuBits just like when they started, minus transaction fees. Shareholders should compensate them for their payment of transaction fees, their time and the use of their capital.
What do you think of my suggestion re payment processors:
These processors/gateways price their commission rates just a tad less than Western Union. It costs from 0.5% to 3% and/or a minimum fee. Sometimes you have to use multiple gateways to get your fiat from your account to the destination. Having used some of these I would be very glad to have my fiat “crypto’ized”, becoming instantly transferable at 0.01 NBT / transaction forever, at the first gateway…
I just changed the hash defining the motion to 65CB60D096508A7FA9ECC2017B38BC3AFEB5663D. I calculated the original hash using the final contents of the text box used to edit the post. I changed it to the hash produced when you copy the content displayed on the webpage, because that is all people will be able to verify.
@JordanLee I would like to use my NuBits to contribute to that balancing. Would you be providing NSR compensations for smaller quantities than 20,000 NBTs such as 5,000 or 10,000 NBTs. ?
I would not be able to provide more than 10,000 NBT.
Your interest in helping is very much appreciated, but to lighten my own workload and decentralize Nu’s functioning I prefer you go directly to shareholders and receive NuBits as compensation via custodial grant.
Is this technically feasible, from an API volume perspective? Imagine an exchange with n order placements/cancellations per second that is being mirrored. A custodian mirroring this needs to keep n orders up to date on another exchange. In other words, one trader needs to place and cancel as many orders as an entire exchange handles, in the same amount of time.
Even this does not protect against loss. An “attacker” could fill orders against a custodian and against the mirrored exchange at the same time, before the custodian could react.
Yes, I am confident this volume of orders can be handled. The limit of what can be handled is at least two orders of magnitude beyond what we will be dealing with. We aren’t talking about reproducing the entire order book from each exchange, just the top of the book. How deep into the book we go will depend on how often the double fill exploit is employed. In the scenario that it is deployed frequently then we will have relatively little liquidity in tier 1, maybe as little as several thousand NBT in the case of a coin with liquidity like PPC. When this liquidity is consumed, the transaction gets mirrored on the other exchange (such as BTC-e) and liquidity is moved from tier 2 to tier 1 and made available at the new current market price. This will only take a couple of seconds on average to replace consumed tier 1 liquidity.