It is very good the used kb fee to protect the network from spam but we need also an additional fee(we can discuss about the amount) to protect more the short domains otherwise all of them will be kept and unused years until somebody decides to buy a couple of them from domain speculators.
Anyway it is not intended to stop domain trading just to create a little bit domain justice.
I'm not against this idea, but not for it either. Other opinions on this ?
The 0.01 fee for name_new should go back to the miners when the "name" expires.. if this would be possible.
It may be a bit complex to do that (allow the coin to be included in a tx without including it in the total amount from txIn. Algo of coin selection need to be modified + this adds another specific case).
Even the possibility to give it back to the last name owner should be analyzed carefully (I've verified, coin selection algo is also concerned...).
The eventual plan was for new names to be free.... apart from "data usage", standard transaction fees are enough?
Standard transaction fees should be changed for this reason :p
NMC/KB is good.. but registering names alone shouldn't be too expensive. Changing the data costs 0.005nmc?
Indeed, it shouldn't be too expensive, and we must plan for it to be not too much expensive even if the NMC value do x10 (that also why there is relay_fees AND client_fees).
If some people plan to register thousands of names for "specific" usages, maybe using something else than names, like "messages" (I've done a PoC in the branch message_send
[rapid hack, usable, but not for prod :p]) may be more suited. Those messages would require 1 tx instead of 2 for names. Maybe using a PoW like BitMessage would be a good idea. And, to go further, we could also do messages that won't be recorded in the blockchain (maybe both would be needed, or the blockchain one is not really needed)
Another thing we didn't speak about yet is free transactions (no fees).
Should we allow them ? (I would like to)
Only for standard tx or also for name_tx ?
Current algo allow them depending on
- space left in block currently created (so, those tx may be delayed to future blocks)
- age * amount of coins / tx size (using the amount in this formula allow any big amount to be split into small ones for free. Using the tx size limit this behavior)
-> currently: small tx (< 1kB) + old and/or big coins (dPriority) + no dust = free tx
I've another idea that may not be appreciated by everybody : use lost coins to fund namecoin bounties & a giveaway.
An opinion ?
Some update on the proposal :
+ x nmc per kb (could be non linear, a bit exponential)
+ y nmc per txout (avoid too much splitting)
- z nmc per tx in (txout size will reduce, but cpu is used to verify signatures)
X > Y > Z: a kB cost more than a new txOut, that cost more than a txIn spent (to make thing simple in the code, Y = X / const and Z = Y / const, that way we declare 1 value : X, like now)
Y - Z >= 0 : can't be negative, even if UTXO is reduced