Giving a Percentage of Name Fees to Miners
Posted: Thu Jul 02, 2015 11:34 pm
I've recently been concerned about what happens after block rewards run out. We aren't Bitcoin, so our transaction volume will never be high enough to provide a decent security margin. And even if we assume 0 additional overhead to merge-mine Namecoin, we have to defend against attacks on our own. For example, someone could threaten to DDoS any miner who processes name transactions.
The argument against giving name fees to miners is that they can then purchase domains at a discount which would eventually allow them to setup a discount registrar. I'm not really afraid of a centralized registrar offering discount domains, but miners could use the discount as a way to pump up their overall name fee volume. However, there are ways to mitigate this:
* Give a only a percentage of the name fee.
* Distribute the fee over 2 sequential blocks.
* Delay distribution until the name expires.
The first measure prevents miners from purchasing domains for free and limits the profitability of any arbitrage they can perform. This is how it would break down with 50% fee destruction and a 25% overall discount.
* $20: $10 to miner, 25% discount: $5
* $10: $5 to miner, 25% discount: $2.5
* $5: $2.5 to miner, 25% discount: $1.25
* $1: $0.5 to miner, 25% discount: $0.25
Distributing the fee across sequential blocks reduces the profitability of selling a single domain while ensuring that the average profit remains the same. The incentive for the miner to sell discount domains is limited to the amount of profit they received from the very first block, so cutting the fee they receive for that first block in half would reduce the incentive in half as well. Of course, reducing the profit from this very first block also reduces the incentive to process name transactions, so we probably want to limit the amount to 2-3 blocks.
When combined with fee destruction, spreading the fee over 2 blocks would reduce the maximum potential discount per-name from 50% to 25%. Assuming some overhead, the likely largest overall discount they could give would be 12.5%. This is how the numbers line up:
* $20: $10 to miner, 12.5% discount: $2.5
* $10: $5 to miner, 12.5% discount: $1.25
* $5: $2.5 to miner, 12.5% discount: $0.63
* $1: $0.5 to miner, 12.5% discount: $0.13
Delaying distribution of all of the funds over a long period of time would introduce too much uncertainty into the profitability of the mining operation itself. However, we could divide up the fee so that a certain percentage would show up as a bonus after a year.
When used in combination, these techniques would allow us to increase the profitability of mining Namecoin over the long term while limiting the discount miners can offer.
Update
So I was thinking about the distribution of the fee over sequential blocks and realized that miners could game the system by including only a single name transaction but still receive the spill-over from previous blocks. Instead of distributing it over the next two sequential blocks, we could base it on the number of name operations within those sequential blocks.
Update
Added discount levels for sequential distribution of fees.
The argument against giving name fees to miners is that they can then purchase domains at a discount which would eventually allow them to setup a discount registrar. I'm not really afraid of a centralized registrar offering discount domains, but miners could use the discount as a way to pump up their overall name fee volume. However, there are ways to mitigate this:
* Give a only a percentage of the name fee.
* Distribute the fee over 2 sequential blocks.
* Delay distribution until the name expires.
The first measure prevents miners from purchasing domains for free and limits the profitability of any arbitrage they can perform. This is how it would break down with 50% fee destruction and a 25% overall discount.
* $20: $10 to miner, 25% discount: $5
* $10: $5 to miner, 25% discount: $2.5
* $5: $2.5 to miner, 25% discount: $1.25
* $1: $0.5 to miner, 25% discount: $0.25
Distributing the fee across sequential blocks reduces the profitability of selling a single domain while ensuring that the average profit remains the same. The incentive for the miner to sell discount domains is limited to the amount of profit they received from the very first block, so cutting the fee they receive for that first block in half would reduce the incentive in half as well. Of course, reducing the profit from this very first block also reduces the incentive to process name transactions, so we probably want to limit the amount to 2-3 blocks.
When combined with fee destruction, spreading the fee over 2 blocks would reduce the maximum potential discount per-name from 50% to 25%. Assuming some overhead, the likely largest overall discount they could give would be 12.5%. This is how the numbers line up:
* $20: $10 to miner, 12.5% discount: $2.5
* $10: $5 to miner, 12.5% discount: $1.25
* $5: $2.5 to miner, 12.5% discount: $0.63
* $1: $0.5 to miner, 12.5% discount: $0.13
Delaying distribution of all of the funds over a long period of time would introduce too much uncertainty into the profitability of the mining operation itself. However, we could divide up the fee so that a certain percentage would show up as a bonus after a year.
When used in combination, these techniques would allow us to increase the profitability of mining Namecoin over the long term while limiting the discount miners can offer.
Update
So I was thinking about the distribution of the fee over sequential blocks and realized that miners could game the system by including only a single name transaction but still receive the spill-over from previous blocks. Instead of distributing it over the next two sequential blocks, we could base it on the number of name operations within those sequential blocks.
Update
Added discount levels for sequential distribution of fees.