Future Fee System for Names - step 1 : minimal requirements

Namecoin, NMControl
khal
Site Admin
Posts: 708
Joined: Mon May 09, 2011 5:09 pm
os: linux

Future Fee System for Names - step 1 : minimal requirements

Post by khal »

The fee system for names need to be rewritten.
It concerns name fees for :
- name_new
- name_firstupdate
- name_update
It may also concern miners fees, but only for name transactions (miners fees for standard tx will benefit from the dynamic system that will be implemented in bitcoin).

Aim of this topic is to define what are the minimal requirements.

As we may not agree on one set of minimal requirements, due to the fact that some people will prefer such consequence/goal or another consequence, several set may be proposed.

A later topic will be done to propose more detailed formula/proposals for each set. So, in this topic, try hard to resume ideas, goals and related requirements :p

All this work will need to be resumed in the wiki when subject will be "closed."


Edit : list of proposed requirements :
- reclaim locked coins
- release names before expiration
- fees may be dependent on namespace
- should not require several hardfork if NMC value rises
NamecoinID: id/khal
GPG : 9CC5B92E965D69A9
NMC: N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9
BTC: 1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T

Register Namecoin domains with BTC
My bitcoin Identity - Send messages to bitcoin users
Charity Ad - Make a good deed without paying a cent

domob
Posts: 1129
Joined: Mon Jun 24, 2013 11:27 am
Contact:

Re: Future Fee System for Names - step 1 : minimal requireme

Post by domob »

One idea I like very much is that one is able to reclaim coins locked in a newer-redeemed name_new as well as expired names (plus allowing someone to explicitly "release" a name no longer needed in order to get the coins back). This will encourage people to release names, and will possibly allow us to charge higher fees for names when they can be claimed back. It also silences the criticism that NMC will run out over time (although this is not really justified anyway).
BTC: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS
Use your Namecoin identity as OpenID: https://nameid.org/

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

Re: Future Fee System for Names - step 1 : minimal requireme

Post by virtual_master »

domob wrote:One idea I like very much is that one is able to reclaim coins locked in a newer-redeemed name_new as well as expired names (plus allowing someone to explicitly "release" a name no longer needed in order to get the coins back). This will encourage people to release names, and will possibly allow us to charge higher fees for names when they can be claimed back. It also silences the criticism that NMC will run out over time (although this is not really justified anyway).
To release locked coins immediately by giving back the domain could be interesting but at a later time because it could be technically more difficult to solve. I think a simple fee locking with the time shifted transaction where the coins are automatically released after the registration/ renewal period is expired is easier to implement.
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: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Future Fee System for Names - step 1 : minimal requireme

Post by biolizard89 »

virtual_master wrote:
domob wrote:One idea I like very much is that one is able to reclaim coins locked in a newer-redeemed name_new as well as expired names (plus allowing someone to explicitly "release" a name no longer needed in order to get the coins back). This will encourage people to release names, and will possibly allow us to charge higher fees for names when they can be claimed back. It also silences the criticism that NMC will run out over time (although this is not really justified anyway).
To release locked coins immediately by giving back the domain could be interesting but at a later time because it could be technically more difficult to solve. I think a simple fee locking with the time shifted transaction where the coins are automatically released after the registration/ renewal period is expired is easier to implement.
Can you elaborate on how it is difficult to implement? As I understand it, a name is just a tx output with some data attached; implementing name releasing should be as easy as removing the rule that prevents spending such outputs into non-name outputs. Probably slightly simpler than making it only work for expired names.

Here's a suggested requirement: implementation may require a single hardfork, but the name fee system should not require an additional hardfork to stay useful if the NMC/USD exchange rate changes later by 2-3 orders of magnitude.

Another suggested requirement: fees may be dependent on namespace.
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: Future Fee System for Names - step 1 : minimal requireme

Post by virtual_master »

biolizard89 wrote:
virtual_master wrote:
domob wrote:One idea I like very much is that one is able to reclaim coins locked in a newer-redeemed name_new as well as expired names (plus allowing someone to explicitly "release" a name no longer needed in order to get the coins back). This will encourage people to release names, and will possibly allow us to charge higher fees for names when they can be claimed back. It also silences the criticism that NMC will run out over time (although this is not really justified anyway).
To release locked coins immediately by giving back the domain could be interesting but at a later time because it could be technically more difficult to solve. I think a simple fee locking with the time shifted transaction where the coins are automatically released after the registration/ renewal period is expired is easier to implement.
Can you elaborate on how it is difficult to implement? As I understand it, a name is just a tx output with some data attached; implementing name releasing should be as easy as removing the rule that prevents spending such outputs into non-name outputs. Probably slightly simpler than making it only work for expired names.
I wrote about the difficulty to release locked coins before the lock-time is expired and not about releasing the names.
I suppose using the actual command in the Bitcoin/Namecoin protocol:
https://en.bitcoin.it/wiki/NLockTime
and as far as I know there is no similar existing command.
Setting in the JSON file
"locktime" : (actual-block)+(nr-of-delaying-blocks)
will have the effect that the transacted amount will be spendable only after this block: (actual-block)+(nr-of-delaying-blocks).
With transaction replacement this could be overridden but the consequences would be unforeseen and this feature is as far as I know in Bitcoin also not activated(DOS security risks).
biolizard89 wrote: Here's a suggested requirement: implementation may require a single hardfork, but the name fee system should not require an additional hardfork to stay useful if the NMC/USD exchange rate changes later by 2-3 orders of magnitude.
With hardfork you can change anything - but for me that seems not so easy.
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

indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

Re: Future Fee System for Names - step 1 : minimal requireme

Post by indolering »

Return domain name fees!? That is like keeping a leech you found for a pet! The whole reason we are able to mend Zooko's triangle is because we have a decentralized value store which costs money to use. A vanilla DHT would be vastly more efficient than downloading the entire chain. But the reason .p2p died (they have been revitalized recently) was because it didn't cost anything to squat on domains forever.

Squatters devalue the system by making names less useful and thus less valuable. There was a person shopping around some 10% of the namespace. But with all of the activity of late s/he has decided to withdraw the offer. In the meantime, people with ideas and projects which add value to the system domains can't get their domain.

Besides, we can do cool stuff with fees! Like pay for nodes to proxy censored websites or to serve up DNS queries for lite-weight clients. But even destroying the money is better than paying squatter to skim off of the value that legitimate domain owners bring to the system.
Last edited by indolering on Sat Jan 25, 2014 11:35 pm, edited 2 times in total.
DNS is much more than a key->value datastore.

indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

Re: Future Fee System for Names - step 1 : minimal requireme

Post by indolering »

Biolizard, can you detail the idea you had for a floating domain fee?
DNS is much more than a key->value datastore.

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

Re: Future Fee System for Names - step 1 : minimal requireme

Post by biolizard89 »

indolering wrote:Biolizard, can you detail the idea you had for a floating domain fee?
Sure. Here's the basic idea:

1. Miners have the option of embedding a special data structure specifying their desired name fee in their blocks.
2. The default namecoind configuration would use a fee chosen by the Namecoin dev team, but miners can override it (similar to tx fees in Bitcoin and Namecoin).
3. The enforced fee is the median of the 2048 previous votes. (This number is chosen mainly for the balance between stability against randomness and flexibility against market instability. The exact number is open to debate.)
4. This does not require a blockchain hardfork, now or ever. The enforcement is on the nameindex level, not the block validation level, similar to the temporary fix for the name-stealing exploit. The data structure embedding is already supported, since miners can embed arbitrary data in blocks. Furthermore, the fees can be dynamically adjusted (based on exchange rates or whatever real-life factors are deemed relevant) as the miners wish.
5. Most miners will choose to use the default settings from the Namecoin dev team assuming that they are reasonable (similar to Bitcoin tx fees).
6. If the Namecoin dev team does something unpopular with tx fees, the community of miners can choose not to honor it, which acts as a check on the power of the Namecoin dev team.
7. Miners have an incentive to (1) not make the name fees so high that people won't want to pay them (because then they won't collect tx fees); and (2) not make the name fees so low that Namecoin is devalued due to squatting (because then the exchange rate will go down, which impacts the collected tx fees).
8. The reason for the median consensus rather than letting each miner decide on their own, is that otherwise people who want to register names will simply wait for the rare miner that takes a low name fee, which would make the system worthless. A median consensus cannot be adversely manipulated by any one miner (assuming that there is no 51% attack).
9. The data structure could support varying fees for different names, in terms of namespace, name length, and/or value length. This is not a requirement of the proposal, but I think it could potentially be useful.
10. The data structure could support name fees on renewals. This makes things harder for squatters, since holding onto a name would have a recurring fee. This is not a requirement of the proposal, but I think it could potentially be useful. (If we started requiring name fees on renewals, I'm not sure if that would require an initial hardfork... my guess is that it could be done without a hardfork, but I don't know enough to be sure... can snailbrain or khal comment on this?)
11. We would not have to return locked coins to name holders after names expire. As coins are destroyed, the USD price of Namecoin would go up slightly (small amount of deflation), and the name price would decrease accordingly (so that the NMC price of a name will decrease as the supply decreases, meaning we will never run out of coins). This makes things harder for squatters, since they can't squat a name, and then get their money back if no one wants to purchase it. This is not a requirement of the proposal, but I think it could potentially be useful.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

khal
Site Admin
Posts: 708
Joined: Mon May 09, 2011 5:09 pm
os: linux

Re: Future Fee System for Names - step 1 : minimal requireme

Post by khal »

indolering wrote:Return domain name fees!? That is like keeping a leech you found for a pet! The whole reason we are able to mend Zooko's triangle is because we have a decentralized value store which costs money to use. A vanilla DHT would be vastly more efficient than downloading the entire chain. But the reason .p2p died (they have been revitalized recently) was because it didn't cost anything to squat on domains forever.
We can combine miner fees & name fees. If we make name fees unlockable, miner fees can still be bigger for names than for normal tx.
Name fees will limit registration of new names, and miner fees will limit eternal name keeping.
It may be the more simple & elegant solution. Would it be possible/sufficient ?
NamecoinID: id/khal
GPG : 9CC5B92E965D69A9
NMC: N1KHAL5C1CRzy58NdJwp1tbLze3XrkFxx9
BTC: 1KHAL8bUjnkMRMg9yd2dNrYnJgZGH8Nj6T

Register Namecoin domains with BTC
My bitcoin Identity - Send messages to bitcoin users
Charity Ad - Make a good deed without paying a cent

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

Re: Future Fee System for Names - step 1 : minimal requireme

Post by biolizard89 »

khal wrote:
indolering wrote:Return domain name fees!? That is like keeping a leech you found for a pet! The whole reason we are able to mend Zooko's triangle is because we have a decentralized value store which costs money to use. A vanilla DHT would be vastly more efficient than downloading the entire chain. But the reason .p2p died (they have been revitalized recently) was because it didn't cost anything to squat on domains forever.
We can combine miner fees & name fees. If we make name fees unlockable, miner fees can still be bigger for names than for normal tx.
Name fees will limit registration of new names, and miner fees will limit eternal name keeping.
It may be the more simple & elegant solution. Would it be possible/sufficient ?
Would there be issues with miners being able to renew names cheaper?
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

Post Reply