Increasing the size of the value field
Increasing the size of the value field
The issue 3 will need an update of all namecoin clients to be fixed.
Due to this bug, a name_update will fail if previous name_update or name_firstupdate used a value with more than 520 characters. Yes, you read it right...
So, I think we should "benefit" from this forced upgrade to increase the maximum number of characters for the value field, because we already need a general upgrade.
Why ?
Some possible namecoin usages are already limited by this, like GPG. See https://dot-bit.org/Personal_Namespace#Notes.
Other
Is it dangerous for the network ?
Each transaction above 1K will always have fee, for each 1K of data. If fees are set to the right value, they will do their job.
Each transaction above 10K will be rejected (another network rules).
How many characters ?
I propose to set it to 9000 characters max to allow 8k gpg keys with some other data.
What do you think ?
Should we adjust default fees ?
Defaults fees are now at 0.005NMC. Are they still right with merged mining and name costing 0.01NMC ?
Due to this bug, a name_update will fail if previous name_update or name_firstupdate used a value with more than 520 characters. Yes, you read it right...
So, I think we should "benefit" from this forced upgrade to increase the maximum number of characters for the value field, because we already need a general upgrade.
Why ?
Some possible namecoin usages are already limited by this, like GPG. See https://dot-bit.org/Personal_Namespace#Notes.
Other
Is it dangerous for the network ?
Each transaction above 1K will always have fee, for each 1K of data. If fees are set to the right value, they will do their job.
Each transaction above 10K will be rejected (another network rules).
How many characters ?
I propose to set it to 9000 characters max to allow 8k gpg keys with some other data.
What do you think ?
Should we adjust default fees ?
Defaults fees are now at 0.005NMC. Are they still right with merged mining and name costing 0.01NMC ?
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
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
Re: Increasing the size of the value field
also transactions below 1k should have a fee by default.khal wrote:The issue 3 will need an update of all namecoin clients to be fixed.
Due to this bug, a name_update will fail if previous name_update or name_firstupdate used a value with more than 520 characters. Yes, you read it right...
So, I think we should "benefit" from this forced upgrade to increase the maximum number of characters for the value field, because we already need a general upgrade.
Why ?
Some possible namecoin usages are already limited by this, like GPG. See https://dot-bit.org/Personal_Namespace#Notes.
Other
Is it dangerous for the network ?
Each transaction above 1K will always have fee, for each 1K of data. If fees are set to the right value, they will do their job.
Each transaction above 10K will be rejected.
How many characters ?
I propose to set it to 9000 characters max to allow 8k gpg keys with some other data.
What do you think ?
Should we adjust default fees ?
Defaults fees are now at 0.005NMC. Are they still right with merged mining and name costing 0.01NMC ?
spamwise this change would not make a difference because a spammer could either create large or even more small transactions? So 9000 sounds fine.
Bitparking & MtGox: 0.0393 USD/NMC
Both fees should be higher by at least a factor of 10 imho
Re: Increasing the size of the value field
So, no free transactions anymore ? That's a "radical" change in the bitcoin philosophy : free if possible. What is your reason behind ? Simplify anti-spam a bit ? Namecoin was not designed to be mainly used as a currency, so we don't need to favorise free tx ? Or do you mean "should have a fee by default" but can be fee free (like that, tx from most people have higher priority) ?phelix wrote:also transactions below 1k should have a fee by default.
At the beginning of namecoin, a main question was "how many names at the end ?". The answer was 22 millions divided by a name_new price (so 2,2 billions).phelix wrote:spamwise this change would not make a difference because a spammer could either create large or even more small transactions? So 9000 sounds fine.
Bitparking & MtGox: 0.0393 USD/NMC
Both fees should be higher by at least a factor of 10 imho
22 millions of names should be enough for a long time, so a name_new could cost 1NMC and it would still be a more than reasonable price (0.0393 USD). If namecoins value increases a lot, there still a giant step before it become expensive. When we'll arrive at this point (in several years), we will need to adjust price again and make a full network update, and same later, etc.
Is this really useful/needed ?
Maybe leaving this as it is wouldn't change a lot of thing.
Note : after a name has expired, i guess you should be able to spend the previously used 0.01NMC of the name_new.
Standard fees are designed to be floating, adjusted by miners to decide if tx are included or not (or prior to another tx). But, namecoin currently costs 600M of hard drive and some cpu to miners. Will they really adjust fees for that ? (we have seen they don't). Also, fees exist to replace coin generation later and limit spam with some dedicated rules.
With 0.20NMC = 0,00786USD :
- A 5k tx would cost 1NMC, a 9k tx ~2NMC.
With 0.10NMC = 0,00393USD :
- A 5k tx would cost 0.50NMC, a 9k tx ~1NMC.
With 0.01NMC = 0,00393USD :
- A 5k tx would cost 0.05NMC, a 9k tx ~0.10NMC.
But, with a minimum fee of 0.10NMC, it means it would not be interesting to exchange small amounts of NMC, if free tx are forbidden. And, miners get small amounts of namecoins, people buy names with small amounts, etc.
I'll read later our previous discussion about that to have cleaner view about this :p
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
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
Re: Increasing the size of the value field
by default the client should pay a small fee for all transactions, even small ones. that would give miners room to skip/delay free transactions.khal wrote:So, no free transactions anymore ? That's a "radical" change in the bitcoin philosophy : free if possible. What is your reason behind ? Simplify anti-spam a bit ? Namecoin was not designed to be mainly used as a currency, so we don't need to favorise free tx ? Or do you mean "should have a fee by default" but can be fee free (like that, tx from most people have higher priority) ?phelix wrote:also transactions below 1k should have a fee by default.
enforcing it? hmmm...
the bitcoin blockchain size gives me some concerns already
I am not decided either, we need the opinion of more people on this issue.At the beginning of namecoin, a main question was "how many names at the end ?". The answer was 22 millions divided by a name_new price (so 2,2 billions).phelix wrote:spamwise this change would not make a difference because a spammer could either create large or even more small transactions? So 9000 sounds fine.
Bitparking & MtGox: 0.0393 USD/NMC
Both fees should be higher by at least a factor of 10 imho
22 millions of names should be enough for a long time, so a name_new could cost 1NMC and it would still be a more than reasonable price (0.0393 USD). If namecoins value increases a lot, there still a giant step before it become expensive. When we'll arrive at this point (in several years), we will need to adjust price again and make a full network update, and same later, etc.
Is this really useful/needed ?
Maybe leaving this as it is wouldn't change a lot of thing.
That is a very good idea. So the network fee will only be locked until the domain expires.Note : after a name has expired, i guess you should be able to spend the previously used 0.01NMC of the name_new.
I have to do that, tooStandard fees are designed to be floating, adjusted by miners to decide if tx are included or not (or prior to another tx). But, namecoin currently costs 600M of hard drive and some cpu to miners. Will they really adjust fees for that ? (we have seen they don't). Also, fees exist to replace coin generation later and limit spam with some dedicated rules.
With 0.20NMC = 0,00786USD :
- A 5k tx would cost 1NMC, a 9k tx ~2NMC.
With 0.10NMC = 0,00393USD :
- A 5k tx would cost 0.50NMC, a 9k tx ~1NMC.
With 0.01NMC = 0,00393USD :
- A 5k tx would cost 0.05NMC, a 9k tx ~0.10NMC.
But, with a minimum fee of 0.10NMC, it means it would not be interesting to exchange small amounts of NMC, if free tx are forbidden. And, miners get small amounts of namecoins, people buy names with small amounts, etc.
I'll read later our previous discussion about that to have cleaner view about this :p
Re: Increasing the size of the value field
Here is the formula to know if a tx can be without fee or not (see https://en.bitcoin.it/wiki/Transaction_fees) :phelix wrote:by default the client should pay a small fee for all transactions, even small ones. that would give miners room to skip/delay free transactions.
Code: Select all
priority = sum(input_value_in_base_units * input_age)/size_in_bytes
If priority > COIN * 144 / 250 [57600000] => can be free
So, to be without tx fees, a name_update of 460 bytes (a small one) with 0.01NMC (1000000) must wait :
=> 57600000 / 1000000 * 460 = 26496 blocks
A big one (1000 bytes, with 547 characters in the field value) :
=> 57600000 / 1000000 * 1000 = 57600 blocks
Limit value (625 bytes, with 172 characters in the field value) :
=> 57600000 / 1000000 * 625 = 36000 blocks
But, a tx can contain other inputs with the 0.01NMC (it seems to be the case most of the time).
If you change the coin selection algo to send more NMC (a tx contains one or more inputs, and 1 output of 0.01NMC for the name_update + the remaining sent to yourself), for example, say 100,01NMC :
=> 57600000 / 10001000000 * 460 = 3 blocks
=> 57600000 / 10001000000 * 1000 = 6 blocks
The current priority algo promotes tx with big amounts (same as bitcoin's algo).
Should we calculate the priority based on the smallest input only (instead of adding all inputs*age) ?
Code: Select all
priority = smallest(input_value_in_base_units) * input_age / size_in_bytes
If you need to pay 50.05NMC and have 50NMC and 10NMC, the 10NMC will be used to calculate the priority.
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
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
Re: Increasing the size of the value field
i never underatood why this would have to be so complicated with bitcoin.i would suggest a base fee per tx and an additional fee based on the size. plain and simple but matches network burden.
Re: Increasing the size of the value field
All this is to allow free transactions (or not), without permitting the network to be flooded.phelix wrote:i never underatood why this would have to be so complicated with bitcoin.i would suggest a base fee per tx and an additional fee based on the size. plain and simple but matches network burden.
But, otherwise, it is a base tx + additionnal fees based on tx size.
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
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
Re: Increasing the size of the value field
I made a small modification to the domainCost tool to allow one to force a namecoin price and see matching bitcoin and usd prices.
That way, we could more easily see the impact of proposed changes :
- http://dot-bit.org/tools/domainCost.php?cost=10
Things we must remember :
- merged mining has changed the nmc value a lot, that's why price need to be adjusted
- names usages has now more impact on namecoin price
- the new price must be still adapted in several years.
* Names fees : 0.5NMC
- paid once at registration
- funds are locked until name expire (must be tested, but I don't remember of I thing that forbid it)
- only names are concerned
-> limit number of names per user
-> limit total number of names
=> Proposed to 0.5NMC
=> Max 6.5M names (today : 67k names)
I would choose 0.5NMC to have maximum of names 100 times bigger than now (1NMC is 50x current usage, maybe enough ?).
* Transaction fees : 0.1NMC
- paid each tx, sent to miners
- both tx and names are concerned
-> limit spam on the network
-> will replace coinbase in the future
-> are re-injected in the network by miners
=> Proposed to 0.1NMC (per KB, free tx still possible)
9M names are required (25NMC x 36k blocks / tx fees) to fully support same income of 50NMC per blocks for miners.
With 6.5M names, future income will be 25NMC + 6.5M names x tx fees / 36k blocks = 43NMC. And that's without counting fees on other tx.
Things have been sleeping for too long, we must take a decision soon.
That way, we could more easily see the impact of proposed changes :
- http://dot-bit.org/tools/domainCost.php?cost=10
Things we must remember :
- merged mining has changed the nmc value a lot, that's why price need to be adjusted
- names usages has now more impact on namecoin price
- the new price must be still adapted in several years.
Code: Select all
Price Unit Change
0.50 NMC -
0.0024 BTC 0.0048 BTC/NMC
0.0180 USD 7.5300 USD/BTC
Code: Select all
Price Unit Change
0.10 NMC -
0.0005 BTC 0.0048 BTC/NMC
0.0036 USD 7.5300 USD/BTC
- paid once at registration
- funds are locked until name expire (must be tested, but I don't remember of I thing that forbid it)
- only names are concerned
-> limit number of names per user
-> limit total number of names
=> Proposed to 0.5NMC
=> Max 6.5M names (today : 67k names)
I would choose 0.5NMC to have maximum of names 100 times bigger than now (1NMC is 50x current usage, maybe enough ?).
* Transaction fees : 0.1NMC
- paid each tx, sent to miners
- both tx and names are concerned
-> limit spam on the network
-> will replace coinbase in the future
-> are re-injected in the network by miners
=> Proposed to 0.1NMC (per KB, free tx still possible)
9M names are required (25NMC x 36k blocks / tx fees) to fully support same income of 50NMC per blocks for miners.
With 6.5M names, future income will be 25NMC + 6.5M names x tx fees / 36k blocks = 43NMC. And that's without counting fees on other tx.
Things have been sleeping for too long, we must take a decision soon.
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
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
Re: Increasing the size of the value field
- If we decide to add a name fee (like name_new) on name_update, it means the network will need to check for the previous tx and add, say 0.5NMC, to the last name fee value (the original 0.01NMC is currently spent from your old name record to your new name record each time you do a name_update).phelix wrote:what about the name_update fee?
If you do a lot of update, you name will "store" a lot of coins released when it expires, or transfered to another people if you transfer the name because an update and a transfer are the same thing (and he can touch the jackpot when it expires :p)
- If we decide to force standard tx fee on name_update, we can do that by don't allowing free tx fees.
It could easily be added in CNamecoinHooks::ConnectInputs : tx.GetMinFee(nBlockSize, fAllowFree=false) for the network and in the name_update rpc command.
So, minimum fee for name_update would be 0.10NMC (with my previous proposal) for a small record (<1k) and 0.90NMC for a big one.
To compare :
- name_new : 0.50NMC
- name_firstupdate : 0NMC to 0.90NMC + the lost 0.01NMC (will be 0NMC around block 86k ~ 140 days).
- name_update : 0.10NMC to 0.90NMC
In this case, why not forcing tx fees for name_firstupdate (and name_new?) too ?
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
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