$100,000 per day ongoing drainage of liquidity rewards (more than $85K hack) <- I propose three solutions

in #trading8 years ago (edited)

As pointed out in several other posts, there is a well capitalized bot that ensures that it wins each hour's 1200 STEEM reward, while providing as little liquidity as possible.

Basically the very generous 28,800 STEEM per day allocated to encourage liquidity providers is being handed over to a single account that isnt providing much liquidity to anybody at all. The reason is that the more funds you have, the more precision you can create with your prices and that means that the bot with the most liquidity can ALWAYS create the inside spread. Meaning, a bid that is fractionally higher than the highest one and then simply sell into it.

Do this as much as needed to get the hourly $5000 reward.

Community benefit -> negative. Not only is there no liquidity being provided, it discourages anybody else from providing liquidity.

Proposed solutions:
I have several technical solutions that will solve this, but first I call for a moratorium on the 1200 STEEM per hour reward until this is fixed. Otherwise it is $100,000 per day being drained from STEEM and when it is dumped it will hurt the market price, possibly in a significant way.

Solution A: change the order matching to round to the nearest .001, this would at least prevent larger accounts from creating a self-trading inside spread. Advantage is that it should be relatively easy to implement, ie. a few lines of code in the order matching. This wont fix the fundamental problem of self-trading, but is a decent stopgap

Solution B: Ideally, self-trading would be prevented. However as long as there is a way to fund new accounts via external funds (there is), then an arbitrary number of accounts can be funded. That means there is no simple (or even complicated) way to prevent this. Probably due to the difficulty of this, this problem has not been fixed as the urge is to fix it once and for all. Let us assume this fix will require some sort of long term cooperation with all external funding sources (blocktrade, bittrex, etc) and doing a path analysis of all funds to identify related accounts. tl:dr wont happen anytime soon

Solution C: since Solution B is nowhere in sight, I have an in-between method that will allow the vast majority of this problem to be solved. It will require changing the liquidity rewards algo to take into account the coinage:

Liquidity points = sqrt(bid volume * ask volume) * coinage

So it is not that much work, but what it will do is require a lot more capital. In fact, if the coinage duration is in blocks, it will give even the manual trader a chance to get decent rewards as they can use really old funds and while this could be construed as a sort of coinage attack, compared to the current situation I see it as an advantage

Sort:  

the proposed equation has new vulnerabilities, someone who places orders for long periods of time and just "waits" for the market will make the most.

Also the recent hardfork did release limit_order_create2 operation which gives everyone the ability to have maximum precision and compete.

OK, how about:
Liquidity points = (sqrt(bid volume * ask volume) * coinage) / duration

where duration is the average time for the bid and ask? That would prevent putting up a set of long term orders away from the market. Though I dont think this is really that big of an issue as it does tie up the funds, which is the goal of using the coinage.

Yes thanks for pushing this issue and presenting solutions.

This really needs to be fixed.

Considering it is MORE than the $85,000 hack
and it happens everyday
yes

I want to deploy a liquidity bot, which has market price risks, especially for something as volatile as STEEM, so having a subsidy to compensate for that would allow me to accept the losses from price fluctuations.

The comments on this thread give another perspective and the owner of the bot doing this is participating in the discussion. https://steemit.com/steem/@blakemiles84/two-users-are-gaming-the-liquidity-reward-system-and-earning-1200-steem-per-hour

I was seriously considering buying some steem power, but I am hodling my bitcoins until this exploit gets fixed. I think traders should be charged a transaction fee to discourage this kind of abuse, or at least make it riskier. The fees could be distributed to those holding steem power and providing content.

transaction fee wont be enough. it doesnt take that many transactions to max out the current point system. Since it is liquid steem that is being awarded, it can lead directly to tens of thousands dumped on the market every day. granted without any such downward pressure, the 1% actual supply due to SP would make the price go artificially high.

I guess the good news is that so far the daily awards are not really slowing the price down, the biasing of the inwallet purchases toward higher prices is enough of a boost due to the continual buyside pressure from all the bloggers. As long as new users are pouring in, all is well

I'm not trying to play a rigged game on a tilted table here. My bitcoins could double in value before the end of the year. If this guy really is sucking that much liquid steem out of the market, this thing could collapse to pennies when he finally decides to cash out.

well 30,000 steem is a fair amount, but keep in mind that the system is designed to lock up the vast majority in SP, so without this added liquidity the market price could go much higher due to supply/demand imbalance. but if this isnt fixed and he hoards it all for one massive dump, he could flood the market with 1% of total inventory. Bad, but not anything that hasnt happend to all cryptos, including BTC

Also the amount of new coins generated this way is significant but not the majority. So I'm not sure if this is a valid reason to wait depending on how many new users join....

We would have rolled out an update for the liquidity rewards system yesterday, but didn't want to mix two updates at once.

Despite claims that the rewards are "oversized", the people doing it are still providing liquidity. There is still an element of competition at play, unfortunately not many people are choosing to compete at the moment.

I like the "oversized" rewards, the issue is that there is no randomness to who wins, so there is no point to compete against abit. And filling a self-trade in the inside spread provides no liquidity at all and shouldnt be counted (I realize this is much easier said that done, hence the proposed coinage solution)

How long will the liquidity awards be active for? If it is not just a short term thing, then it would make sense for me to develop custom market makers. But if it is something that could be gone tomorrow, then it makes it a much riskier thing.

Although I'm not able to answer your question, I would appreciate your offer. However, no matter whether you will develop your market maker, there're already other bots running.

By the way new code has been deployed, please check (rule changed).

I came up with a couple more tweaks to the liquidity points that will help level the playing field: https://steemit.com/trading/@jl777/steem-dollars-discount-why-is-it-always-below-open-market-price

Do you have a link? Thanks.

does the new rules prevent total domination by the godzilla account?

By now, not yet. But I'm not sure how it will go in the future.

Very interesting! I like it! Good Luck To You!

Thanks for the analysis. Just one question, as a NXT whale (I assume) and major contributor, will you massively dump your token to the market (unless your account/wallet got compromised)?

I was never a NXT whale, but I did create a large part of the NXT asset market. Not sure I understand about what token you are talking about, but generally speaking dumping is not a smart thing to do

generally speaking dumping is not a smart thing to do

So.. you assumed that I would be not smart, so would be going to significantly hurt the market price?

when it is dumped it will hurt the market price, possibly in a significant way.

it can lead directly to tens of thousands dumped on the market every day.

he hoards it all for one massive dump

I didnt mean to imply that you would dump, just that if a single person has low cost basis inventory, it is a risk factor. At least it is more risky to have a single person control all the inventory vs. it being distributed to many. this is not personal, it is a about the perception of risk. maybe you wont ever do that, but can you convince everybody of that?

I guess the question is if the market liquidity providers find self-trading acceptable or not. Since there is no technical way to prevent it, one approach is to just say, "sure self-trade is fine since it cant be prevented". Is that your position?

IMO before a well designed subsidy mechanism put in place, It's better to have most of the reward fund distributed to a few trusted parties than to random people, if have to distribute. It's some kind of risk control. You can't please everyone.

I'm neutral about self trading. IMO it's acceptable if it results in fairer liquidity.

I don't know enough to understand this but it's good to see people are concerned about steemit and want to improve it.

yes every one became a rich person

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63592.23
ETH 2551.58
USDT 1.00
SBD 2.75