I think we should support percentage based trade fee and split it to maker% and taker% which can be set by committee. maker%+taker% >= 0. You can set maker% = -0.05% and taker% = 0.1%. This way maker can share fee with the network.
This is a simpler way to do the same thing.
- NEGATIVE_MAKER_FEE = cash in the pocket of makers
- MAKER_SHARES = more complexity and rules to accomplish the same result
I also think that liquidity would be helped by allowing orders to be placed relative to the price feed.
EDIT: Just to be clear, I'm saying that MAKER_SHARES aren't needed because a negative maker fee solves the same problem much more simply.
I really like this to be implemented and negative maker fee to improve the liquidity. I saw it worked especially near the fill price.
Regarding to the implementation, I know it's simpler if you allow both assets as fee. In this way you just match the orders like there's no fee. Then just subtract the fee from the received assets. Let's take BTS:USD as an example. If the taker is selling 10000 BTS and taker fee is 0.1% and the price is 0.05. Before fee subtract, it's 500 USD. After subtract, he gets 499.5USD and 0.5USD will be collected as fee. You'll have the same simple calculation even when maker's fee is >0, =0 or <0. That's why most exchanges use this simple rule and keep both assets as profit.
If BTA as fee is impacting the architecture, we may need the fee pool to turn it into BTS but that will be not so elegant. I think it's good to allow profit to be BTA. Anyway normally BTS and BTA fees will be likely to be similar in value.
[edit]: in the example, if maker's fee >0, it should be on BTS and USD if maker fee<0.