Idea for Better Fee Structure (Please Comment)

Post Reply
biolizard89
Posts: 1979
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Idea for Better Fee Structure (Please Comment)

Post by biolizard89 » Tue Oct 08, 2013 3:21 am

Hey everyone,

So there was a brief discussion in the IRC last night about fixing the fee structure. I came up with a brainstorm and asked people to try to pick at it. Since no one was able to find issues with it, I'm posting it here (in much more coherent form, since I've had a day or so to think about it) in the hopes that someone will find ways to (1) build on it, (2) confirm its awesomeness, or (3) confirm its epic failness.

Point 1: Miners will embed a data structure in each block, stating the miner's desired fee policy. The fees are grouped by (1) whether the fee is locked in the name or goes to the miner (both fees are possible), (2) the namespace of the name, and (3) the length of the name in bytes. Locked fees are returned when the name expires; miner-awarded fees are charged any time the name is registered or renewed.

Example: As a miner, I might say that d/ names of 4 bytes or less (in other words a 1 or 2 character 2nd-level domain) are subject to a 100 NMC locked fee and a 50 NMC fee which goes to the miner, and all other names would be subject to a 1 NMC locked fee and an 0.04 NMC fee which goes to the miner. (The policy could be of any reasonable length; 1 case + a default case is just my example.)

Point 2: The enforced fees for names in a block are defined to be the median of fees specified by the miner policies in the 144 previous blocks. This prevents a miner from lowering the price for himself. (The 144 is a random number pulled out of my ass, the exact number is open to discussion.)

Point 3: Miner fees for name transactions in Block N are awarded to the miner of Block N+12. This prevents a miner from giving fees to himself. (The 12 is also a random number pulled out of my ass, and is also open to discussion.)

The above brainstorm allows the network miners to influence the fee structure as well as customize fees for different namespaces and name lengths. This prevents (for example) squatting all the short domains, while allowing people to register file hashes or experiment with other low-value namespaces without getting charged exhorbitant fees. It prevents fee-based censorship (the only censorship which could occur is at the namespace level, and even this would require a 51% attack to bring the median to an unacceptable price. If a 51% attack occurs, all bets are off anyway.) And if the Namecoin price booms or crashes, the miners just have to change their fee policy and the fees will return to a reasonable amount in USD, without any kind of blockchain fork risk. Miners are incentivised to collectively converge on a median price which encourages real-world network use (and therefore maximize their fee revenue in NMC while not killing the NMC/BTC exchange rate), while no single miner has the ability to break the system.

Does this concept sound interesting? Is there something I haven't thought of, which could either improve the system or make the entire thing unworkable?
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

phelix
Posts: 1631
Joined: Thu Aug 18, 2011 6:59 am

Re: Idea for Better Fee Structure (Please Comment)

Post by phelix » Tue Oct 08, 2013 8:09 am

biolizard89 wrote:Hey everyone,

So there was a brief discussion in the IRC last night about fixing the fee structure. I came up with a brainstorm and asked people to try to pick at it. Since no one was able to find issues with it, I'm posting it here (in much more coherent form, since I've had a day or so to think about it) in the hopes that someone will find ways to (1) build on it, (2) confirm its awesomeness, or (3) confirm its epic failness.

Point 1: Miners will embed a data structure in each block, stating the miner's desired fee policy. The fees are grouped by (1) whether the fee is locked in the name or goes to the miner (both fees are possible), (2) the namespace of the name, and (3) the length of the name in bytes. Locked fees are returned when the name expires; miner-awarded fees are charged any time the name is registered or renewed.

Example: As a miner, I might say that d/ names of 4 bytes or less (in other words a 1 or 2 character 2nd-level domain) are subject to a 100 NMC locked fee and a 50 NMC fee which goes to the miner, and all other names would be subject to a 1 NMC locked fee and an 0.04 NMC fee which goes to the miner. (The policy could be of any reasonable length; 1 case + a default case is just my example.)

Point 2: The enforced fees for names in a block are defined to be the median of fees specified by the miner policies in the 144 previous blocks. This prevents a miner from lowering the price for himself. (The 144 is a random number pulled out of my ass, the exact number is open to discussion.)

Point 3: Miner fees for name transactions in Block N are awarded to the miner of Block N+12. This prevents a miner from giving fees to himself. (The 12 is also a random number pulled out of my ass, and is also open to discussion.)

The above brainstorm allows the network miners to influence the fee structure as well as customize fees for different namespaces and name lengths. This prevents (for example) squatting all the short domains, while allowing people to register file hashes or experiment with other low-value namespaces without getting charged exhorbitant fees. It prevents fee-based censorship (the only censorship which could occur is at the namespace level, and even this would require a 51% attack to bring the median to an unacceptable price. If a 51% attack occurs, all bets are off anyway.) And if the Namecoin price booms or crashes, the miners just have to change their fee policy and the fees will return to a reasonable amount in USD, without any kind of blockchain fork risk. Miners are incentivised to collectively converge on a median price which encourages real-world network use (and therefore maximize their fee revenue in NMC while not killing the NMC/BTC exchange rate), while no single miner has the ability to break the system.

Does this concept sound interesting? Is there something I haven't thought of, which could either improve the system or make the entire thing unworkable?
Yes, very interesting.
See: https://bitcointalk.org/index.php?topic ... msg1630484
https://bitcointalk.org/index.php?topic ... msg1627011


Your concept seems quite complicated and will need configuration by pool operators (miners). They don't like extra work too much so for this system to become established Namecoin would really have to take off.

Additional mining fees could create weird incentives (even with N+12: large miners could give discounts, might foster centralization). So I prefer destroying coins.


IMHO there should be only two changing values: base tx fee and base name fee. The rest should be hardcoded and simple. E.g. name length > 25 --> name op fee / 10

Edit: Probably even one single changing value would be enough... everything else could be derived.
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

virtual_master
Posts: 541
Joined: Mon May 20, 2013 12:03 pm
Contact:

Re: Idea for Better Fee Structure (Please Comment)

Post by virtual_master » Tue Oct 08, 2013 9:26 am

Biolizard89's idea is interesting but sounds very complicated. But I will pick up his idea of having a dynamic fee system proposed by others also. (but the fee decided by the users not by the miners - the users can decide better what they can afford and what that domain values for them)
If the users decide on the fee all desired domains can be used(low minimal fee) and they cannot be over- or under-priced(high maximal fee). Endless discussions about fees can be avoided also. Another argument against the miners voting is that especially in the domain system not only miners are involved but also proxy providers. But even if we would use 'miners decide over the fee system' only to namespaces where only mining is involved in it, practically 1-2 mining pools will decide. Then it is easier to ask the mining pools if we want that they decide. But they will almost surely decide for 'all fees goes to the miners' which would be just a short term profit and wouldn't be the most optimal for longer term for the network.

I think we should take it from the beginning and split the question in more components and take it step by step.

Basic principles of the fee system:
- everybody should have the possibility to register a cheap domain (even the most poor user)
- the most asked domains should go there where is the highest economical interest(the domain should have a price what it values)
- the Namecoin system and implicitly the domains should be best protected(by rising the Namecoin prices more miners are attracted, the difficulty will rise and implicitly the domains are best protected)

How to achieve this:
1. A statical fee system. Easier to implement and the balance of the above factors would be less optimal and eventually needs changes in the future. Here would be needed a domain length dependent fee which could still give some dynamic..
2. A dynamical fee system. It would be only a minimal fee and a maximal fee and the market would decide the domain price(which would be divided between the miners and the network).
For example by a max fee/min fee=10,000.(can be discussed how high should be) By the actual 0.02 NMC registration fee for any domain you register an example.bit domain. Anybody who is more interested on it could contest it any time and if you don't rise your fee above his offer you loose your domain to him in a tolerance period(for ex 1000 blocks). If you have registered your domain with the max fee(10,000x0.02 =200 NMC locked + 0.01 NMC miners fee) your domain cannot be contested any more. Domain speculation would be just limited but not stopped. You can register any amount of cheap domains but if you don't offer them under the max price you can loose some of them. Domain disputes would be solved without expensive juridical process and the fee would come to the benefit of the miners and the network.
3. A hybrid system.
By 1 and 2 character domain names there is no reasonable dictionary word so the value of the domain would be only in it's shortness.
Domains of 1 and 2 characters could have a higher but fixed fee. Here I find Biolizard's suggestion of 50 NMC miner fee and 100 NMC locked fee.
Domains above 3 characters would have dynamical fee because some words have some meaning. The market could decide on their price.

Network fee to be destroyed or locked ?
1. Many people consider fee destruction as design flaw(only newbies) but making such comments is not a good propaganda. Some miners are also commenting this that fee is belonging to them.
2. Locking fees would create better identification with the Namecoin network. It is like investing in the network. All the fee would come to the miners or back to the domain owners.
The investors are interested that the Namecoin network is going well because their invested fee will value more. They will also make a good propaganda for the network. By a dynamic fee they will be also more likely to put a higher price on a domain. Here I would suggest that the miner s fee remain fixed(for 1-2 character domains eventually higher) and only the locked fee should rise. Biding high on a domain for somebody who has already 1000 NMC wouldn't cost more for him and would bind higher NMC amounts, the available NMC amount would be lower on the market which would have a beneficiary effect on the NMC price and hash power.
http://namecoinia.org/
Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba | NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S

biolizard89
Posts: 1979
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Idea for Better Fee Structure (Please Comment)

Post by biolizard89 » Sat Oct 12, 2013 5:20 am

Sorry for the delayed reply... midterms are annoying. Anyways....
Ah cool, didn't know you had proposed something vaguely similar.
phelix wrote:Your concept seems quite complicated and will need configuration by pool operators (miners). They don't like extra work too much so for this system to become established Namecoin would really have to take off.
I don't think this is a large issue. Miners already have control over fees in both Bitcoin and Namecoin; most miners go with the default settings and, in doing so, delegate the fee determination to the developers. Miners who don't like the developers' fees can change it themselves, and if users complain, the developers can also change the default fees. The key is that the fees can be changed without the risk of a blockchain fork. I imagine that the fees will fluctuate a bit as we figure out what works best, and that's good -- adaptability is key, especially since most users care about the USD price of a name, not the NMC price, and creating a single fee rule which won't need adjusting based on exchange rates in the future is near impossible. So there are major benefits even without every miner writing a custom policy.
phelix wrote:Additional mining fees could create weird incentives (even with N+12: large miners could give discounts, might foster centralization). So I prefer destroying coins.
I see two different use cases for fees. Locked fees (held in the name tx output until the name expires, at which point they are spendable again) are good as a rate-limiting mechanism, since they reduce the number of spendable namecoins in the system. Miner fees are good as an incentive to keep the hashrate high, and therefore provide better security against 51% attacks. Both are extremely important. However, it occurs to me that it might be profitable for a miner under my proposal to offer near-zero locked fees and instead provide high miner fees, which many users wouldn't care about the difference. So, this needs work. Maybe say that the ratio of locked fees and miner fees for a name transaction is constant (e.g. 1:1)?

I'm not sure what weird incentives you're referring to. As long as no miner has 51%+ of the hashpower, then block N+12 is more likely to be mined by a different miner from block N than the same miner. So offering a discounted name would cost the miner more money than they would gain. Is there another attack you're worried about that I'm not seeing?
phelix wrote:IMHO there should be only two changing values: base tx fee and base name fee. The rest should be hardcoded and simple. E.g. name length > 25 --> name op fee / 10

Edit: Probably even one single changing value would be enough... everything else could be derived.
The problem with this is that we have to predict exactly what the right rules are. If we mess up, then it takes a hardfork to fix it. I'm not comfortable making a permanent decision that e.g. 2-character domain names should be 100x more expensive, even if it's decided by an informed committee, but I'm perfectly okay with that committee making that call with the ability to change it later anytime that doing so is warranted.

Also, I do think that namespaces matter. Look at the number of domains in the world. Look at the number of people in the world. They're not particularly similar numbers. Because of this varying demand, it makes sense that a d/ name and an id/ name should have different inherent prices (regardless of what that name is), as would happen in a free market. That said, there are some namespaces whose inherent low value is also because they don't have to be human-readable and can therefore be very long... the dd/ and hash/ namespaces are examples of this. So, it is plausible that I could be convinced that only length matters in the algorithm, not the namespace, since low-value namespaces also typically have very long names. Should d/ and id/ names have inherently different fees, in principle?
virtual_master wrote:Biolizard89's idea is interesting but sounds very complicated. But I will pick up his idea of having a dynamic fee system proposed by others also. (but the fee decided by the users not by the miners - the users can decide better what they can afford and what that domain values for them)
If the users decide on the fee all desired domains can be used(low minimal fee) and they cannot be over- or under-priced(high maximal fee). Endless discussions about fees can be avoided also. Another argument against the miners voting is that especially in the domain system not only miners are involved but also proxy providers. But even if we would use 'miners decide over the fee system' only to namespaces where only mining is involved in it, practically 1-2 mining pools will decide. Then it is easier to ask the mining pools if we want that they decide. But they will almost surely decide for 'all fees goes to the miners' which would be just a short term profit and wouldn't be the most optimal for longer term for the network.
I think you may be right that miners will make all fees go to them rather than being locked in the name. See my response above for a way to fix this.
virtual_master wrote:2. A dynamical fee system. It would be only a minimal fee and a maximal fee and the market would decide the domain price(which would be divided between the miners and the network).
For example by a max fee/min fee=10,000.(can be discussed how high should be) By the actual 0.02 NMC registration fee for any domain you register an example.bit domain. Anybody who is more interested on it could contest it any time and if you don't rise your fee above his offer you loose your domain to him in a tolerance period(for ex 1000 blocks). If you have registered your domain with the max fee(10,000x0.02 =200 NMC locked + 0.01 NMC miners fee) your domain cannot be contested any more. Domain speculation would be just limited but not stopped. You can register any amount of cheap domains but if you don't offer them under the max price you can loose some of them. Domain disputes would be solved without expensive juridical process and the fee would come to the benefit of the miners and the network.
Hmm... at first glance I didn't like this proposal much, but now that I think about it, it could be kind of cool. Two comments. (1) the minimum fee should still be dynamically chosen by the miners via a median consensus (as described in my original post), because leaving it constant would require hardforking to deal with exchange rate issues, while letting a miner of a block have full control would allow him to register cheap nanes for himself. (Is my thinking wrong here?) (2) This would quite possibly complicate future implementation of Greg Maxwell's proposal to store names as hashed keys and encrypted values. However, it wouldn't be hard to run a dictionary attack on the hash of a commonly known name to see if you want to contest it (SHA256 dictionary attacks are ridiculously fast on modern PC's). And if you don't know the name already and you can't find it with a dictionary search, chances are that it's a relatively low-value name (or at least a high-value name that the initial owner came up with originally), so this concern may not be a big problem in practice.

Regarding locking vs destroying fees, I think locking is more reasonable. With destroying, the supply of NMC will slowly decrease, which will raise the exchange rate accordingly (assuming constant demand). Why should a domain that no longer exists affect the price of a domain I want to buy now?
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

virtual_master
Posts: 541
Joined: Mon May 20, 2013 12:03 pm
Contact:

Re: Idea for Better Fee Structure (Please Comment)

Post by virtual_master » Sat Oct 12, 2013 9:57 am

phelix wrote:Additional mining fees could create weird incentives (even with N+12: large miners could give discounts, might foster centralization). So I prefer destroying coins.
Ok I am not against keeping coin-destruction in some cases where auctions are not involved. By auctions there would be a heavy user implication and users which don't like coin-destruction wouldn't bid at all.
biolizard89 wrote: Also, I do think that namespaces matter. Look at the number of domains in the world. Look at the number of people in the world. They're not particularly similar numbers. Because of this varying demand, it makes sense that a d/ name and an id/ name should have different inherent prices (regardless of what that name is), as would happen in a free market. That said, there are some namespaces whose inherent low value is also because they don't have to be human-readable and can therefore be very long... the dd/ and hash/ namespaces are examples of this. So, it is plausible that I could be convinced that only length matters in the algorithm, not the namespace, since low-value namespaces also typically have very long names. Should d/ and id/ names have inherently different fees, in principle?
I agree. d/ and id/ names should have a different fee structure.
biolizard89 wrote: Hmm... at first glance I didn't like this proposal much, but now that I think about it, it could be kind of cool. Two comments. (1) the minimum fee should still be dynamically chosen by the miners via a median consensus (as described in my original post), because leaving it constant would require hardforking to deal with exchange rate issues, while letting a miner of a block have full control would allow him to register cheap nanes for himself. (Is my thinking wrong here?) (2) This would quite possibly complicate future implementation of Greg Maxwell's proposal to store names as hashed keys and encrypted values. However, it wouldn't be hard to run a dictionary attack on the hash of a commonly known name to see if you want to contest it (SHA256 dictionary attacks are ridiculously fast on modern PC's). And if you don't know the name already and you can't find it with a dictionary search, chances are that it's a relatively low-value name (or at least a high-value name that the initial owner came up with originally), so this concern may not be a big problem in practice.
I agree. It would be reasonable to let miners decide about the lowest fee because of two reasons:
- dynamic fee structure which is unaffected about the exchange changes
- fairness (miners should have decision about their own works value)
Here I would say it is more reasonable that miners decide for how much offer their own work than they decide about the fee in a future block.
It would be more fair that every miner decides what miners fee asks for the block what he found. I wouldn't make problems about a low fee because the fee what they ask will go to themselves. So if they find a block and register 1000 names for free or for 1 NMC each doesn't matter because they decide only about the miners fee what they receive. It is the same if you decide to keep 1000 dollars in your left pocket or put all in your right pocket.
About the network fee (which is destroyed or locked they shouldn't have any decision).
But about the miner fee what they ask for their own block they can have 100% decision. (and with that the miners would control the lowest fee asked from the users as you argumented very reasonable)
Having the miners work and reward others for their work would be like the communism. Why should a miner take in his block a name transaction if he anyway receive the reward only for others work ?

Let me present an updated model which will integrate your ideas and from Phelix also.
The values are only orientative, matters the fee structure:
  • - miner fee would be completely decided by the miner who finds the block and would be the same for each name (domain or id/)
    - auctions would apply only on domains and would be for locking fee(locking fee would motivate better the users to bid higher)
    - destruction fee would apply where no auction is necessary because of the predictable value of the name (for ex. id/)
    - the total fee = miners fee + network fee
- Miner fee between 0-1 NMC. (some limits are necessary because otherwise the user couldn't know how much NMC should keep in the wallet to register the name)
If a miner is very altruistic then he could offer his service for free - why should we stop him ?
The user decides to pay 0.01 NMC miner fee then he needs to wait until comes a block where the miner asks max 0.01 NMC miner fee.
If the user puts 1 NMC miner fee then he will be charged with an unpredictable 0-1 NMC miner fee (dependent what preferences has put the next block finder) but his transaction will be faster confirmed.
- Network fee:
  • - Non domain names - Destruction fee of 0.004 NMC / non domain name.(halving every 4 years) (or 0.01 NMC locked fee)
    - Locked fee for domain names (3-... characters) decided with auction like contesting system (0.01 - 500) NMC - no halving
    - Locked fee for domain names (1-2 characters) decided with auction like contesting system (1 - 500) NMC - no halving
The system would be completely democratic and everybody would be content. Miners decide what price they ask to take the name registrations in the block and users decide what they pay.
http://namecoinia.org/
Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba | NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S

biolizard89
Posts: 1979
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Idea for Better Fee Structure (Please Comment)

Post by biolizard89 » Sun Oct 13, 2013 3:03 am

Good thoughts virtual_master.

A few quick comments:

I meant have the locked fee be controlled by median consensus, miner fee would be controlled by the single miner as you said. Here are some random thoughts on it.

Let's say that the average user wants to control 10 pseudonyms (id/), plus 2 domain names (d/) at the same time. Now let's also say that this average user utilizes 1 domain-data name (dd/) per domain name, and signs 5000 files (hash/) during their lifetime (we're assuming that they want their hashes to last indefinitely). So, for 10 billion persons in the world population, we're looking at 100 billion id/ names, 20 billion d/ names, 20 billion dd/ names, and 50 trillion hash/ names. Let's ignore the hash/ names for the moment. With the 3 above namespaces, we're looking at an average cost of 21 million NMC / 140 billion names = 0.00015 NMC. (Some names will be high-value, but let's ignore that.) If we lock more than 0.00015 NMC in an average name, we've caused the supply of names to run out.

So, the minimum locked fee should be below that. 0.0001 NMC seems like a reasonable minimum locked fee. I'm not sure what a good maximum fee would be... 200 NMC seems good with today's exchange rates, but I'm not sure how that will work out when there's a demand for 140 billion names. Bitcoin hasn't had mass adoption yet, and 200 BTC is a hell of a lot of money, even for a high-value name. Similarly, allowing 0.0001 NMC transactions at current exchange rates seems kind of low. So, there may be an advantage to using median consensus for the locked fees, in that it's easier to change the fees without a hardfork. (The fee value could be embedded in source code and difficult to change without recompiling, if we're worried about miners abusing it without involving the community. But in practice, if a majority of miners want to change the validation rules, they can already do so; that's how blockchains work inherently.)

I think id/ names should probably be subject to challenge also, because otherwise someone could just go crawling forums for usernames and register all of them cheap, and extort money for them later. My original point was that different namespaces have different effective value, not that id/ names should have an entirely different mechanism for determining fees than d/. Allowing challenges to other namespaces probably doesn't hurt... dd/ names can be random, so if someone really wants to challenge my dd/ name registration, he can waste his money and I'll register another one cheaper. Capitalism takes care of the issue. hash/ collisions might be an issue, but honestly I think the hash/ proposal needs reworking because collisions are a problem with the existing system too.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

virtual_master
Posts: 541
Joined: Mon May 20, 2013 12:03 pm
Contact:

Re: Idea for Better Fee Structure (Please Comment)

Post by virtual_master » Mon Oct 14, 2013 8:40 am

biolizard89 wrote:Good thoughts virtual_master.

A few quick comments:

I meant have the locked fee be controlled by median consensus, miner fee would be controlled by the single miner as you said. Here are some random thoughts on it.

Let's say that the average user wants to control 10 pseudonyms (id/), plus 2 domain names (d/) at the same time. Now let's also say that this average user utilizes 1 domain-data name (dd/) per domain name, and signs 5000 files (hash/) during their lifetime (we're assuming that they want their hashes to last indefinitely). So, for 10 billion persons in the world population, we're looking at 100 billion id/ names, 20 billion d/ names, 20 billion dd/ names, and 50 trillion hash/ names. Let's ignore the hash/ names for the moment. With the 3 above namespaces, we're looking at an average cost of 21 million NMC / 140 billion names = 0.00015 NMC. (Some names will be high-value, but let's ignore that.) If we lock more than 0.00015 NMC in an average name, we've caused the supply of names to run out.

So, the minimum locked fee should be below that. 0.0001 NMC seems like a reasonable minimum locked fee. I'm not sure what a good maximum fee would be... 200 NMC seems good with today's exchange rates, but I'm not sure how that will work out when there's a demand for 140 billion names. Bitcoin hasn't had mass adoption yet, and 200 BTC is a hell of a lot of money, even for a high-value name. Similarly, allowing 0.0001 NMC transactions at current exchange rates seems kind of low. So, there may be an advantage to using median consensus for the locked fees, in that it's easier to change the fees without a hardfork. (The fee value could be embedded in source code and difficult to change without recompiling, if we're worried about miners abusing it without involving the community. But in practice, if a majority of miners want to change the validation rules, they can already do so; that's how blockchains work inherently.)

I think id/ names should probably be subject to challenge also, because otherwise someone could just go crawling forums for usernames and register all of them cheap, and extort money for them later. My original point was that different namespaces have different effective value, not that id/ names should have an entirely different mechanism for determining fees than d/. Allowing challenges to other namespaces probably doesn't hurt... dd/ names can be random, so if someone really wants to challenge my dd/ name registration, he can waste his money and I'll register another one cheaper. Capitalism takes care of the issue. hash/ collisions might be an issue, but honestly I think the hash/ proposal needs reworking because collisions are a problem with the existing system too.
I think Namecoin will have success but I am not sure if counting that all the future world population of 10 billion will use Namecoin is a realistic scenario. But if that will ever happen then probably will be needed anyway a new design. I think if we go with a very optimistic long term scenario of 1 billion humans using Namecoin would be more realistic. 200 NMC would be also OK.
I think to use the contest-auction fee system would be beneficial for domains but I am not sure what effect would have on other namespaces. But may be would be ok also.
http://namecoinia.org/
Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba | NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S

phelix
Posts: 1631
Joined: Thu Aug 18, 2011 6:59 am

Re: Idea for Better Fee Structure (Please Comment)

Post by phelix » Mon Oct 14, 2013 1:12 pm

biolizard89 wrote:
phelix wrote:Additional mining fees could create weird incentives (even with N+12: large miners could give discounts, might foster centralization). So I prefer destroying coins.
I see two different use cases for fees. Locked fees (held in the name tx output until the name expires, at which point they are spendable again) are good as a rate-limiting mechanism, since they reduce the number of spendable namecoins in the system. Miner fees are good as an incentive to keep the hashrate high, and therefore provide better security against 51% attacks. Both are extremely important. However, it occurs to me that it might be profitable for a miner under my proposal to offer near-zero locked fees and instead provide high miner fees, which many users wouldn't care about the difference. So, this needs work. Maybe say that the ratio of locked fees and miner fees for a name transaction is constant (e.g. 1:1)?

I'm not sure what weird incentives you're referring to. As long as no miner has 51%+ of the hashpower, then block N+12 is more likely to be mined by a different miner from block N than the same miner. So offering a discounted name would cost the miner more money than they would gain. Is there another attack you're worried about that I'm not seeing?
Say a large miner finds every third block. He can effectively register names cheaper now than everybody else. He could then pass on half of this advantage to customers. I am afraid this might foster centralization. I am not saying it can not work but there might be hidden incentives that are difficult to foresee. The more so the more complicated the fee system.
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

sugarpuff
Posts: 110
Joined: Tue Oct 22, 2013 10:17 pm

Re: Idea for Better Fee Structure (Please Comment)

Post by sugarpuff » Sun Dec 22, 2013 7:56 pm

biolizard89 wrote:The above brainstorm allows the network miners to influence the fee structure as well as customize fees for different namespaces and name lengths. This prevents (for example) squatting all the short domains, while allowing people to register file hashes or experiment with other low-value namespaces without getting charged exhorbitant fees. It prevents fee-based censorship (the only censorship which could occur is at the namespace level, and even this would require a 51% attack to bring the median to an unacceptable price.
Sorry, I don't understand how your fee schedule prevents "squatting all short domains". All I understood was that it prevents Joe Average Middleclass from squatting those names, and instead puts the squatting firmly within the purview of those with a bunch of namecoins. In otherwords, it gives the rich special treatment where formerly they had about the same "squatting-power" as everyone else. Perhaps I'm missing something?

sugarpuff
Posts: 110
Joined: Tue Oct 22, 2013 10:17 pm

Re: Idea for Better Fee Structure (Please Comment)

Post by sugarpuff » Sun Dec 22, 2013 8:09 pm

What are people's thoughts about the difference between a name renewal versus a first-time registration (for a specific owner. in other words, the name could have been registered by someone else before, but still be considered a first-time registration if the owner switches)?

Do these proposals guarantee that owners of domains get to keep their domains for a fixed fee? Or could they suddenly lose it because someone with more money comes along and outbids them?

Post Reply