Simplifying fee structure

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

Simplifying fee structure

Post by domob »

I would like to propose a simplification of the fee structure. Note that I'm talking about ordinary transaction fees here, not costs of names. (Only as much as transaction fees are part of the name cost.) In particular, a big difference between Namecoin and Bitcoin is that Namecoin has a "special rule" of requiring extra fee for each output less than 0.01 NMC. This, for instance, caused some surprise to the Armory port that is going on right now.

Do we really need that rule? As far as I understand it, it was introduced to combat "dust spamming" in very early times. Bitcoin doesn't have this problem because they forbid (by making transactions "non-standard") the creation of too small outputs (the famous 5400 satoshis) right away. I propose to remove the special fee rule in Namecoin, and instead switch to a rule similar to Bitcoin: Transactions with very small outputs (could be 10,000 swartz, just the same rule as Bitcoin uses or something else - remember, the dust spam is actually 1 swartz in size) won't be accepted (relayed / mined) in any case (no matter what fee is attached). They would, of course, still be accepted when in blocks.

Are there strong reasons why we shouldn't do this? I think it makes it easier for all kind of people working with Namecoin if rules are mostly similar to Bitcoin as long as this has no disadvantages for Namecoin.
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: Simplifying fee structure

Post by virtual_master »

domob wrote:I would like to propose a simplification of the fee structure. Note that I'm talking about ordinary transaction fees here, not costs of names. (Only as much as transaction fees are part of the name cost.) In particular, a big difference between Namecoin and Bitcoin is that Namecoin has a "special rule" of requiring extra fee for each output less than 0.01 NMC. This, for instance, caused some surprise to the Armory port that is going on right now.

Do we really need that rule? As far as I understand it, it was introduced to combat "dust spamming" in very early times. Bitcoin doesn't have this problem because they forbid (by making transactions "non-standard") the creation of too small outputs (the famous 5400 satoshis) right away. I propose to remove the special fee rule in Namecoin, and instead switch to a rule similar to Bitcoin: Transactions with very small outputs (could be 10,000 swartz, just the same rule as Bitcoin uses or something else - remember, the dust spam is actually 1 swartz in size) won't be accepted (relayed / mined) in any case (no matter what fee is attached). They would, of course, still be accepted when in blocks.

Are there strong reasons why we shouldn't do this? I think it makes it easier for all kind of people working with Namecoin if rules are mostly similar to Bitcoin as long as this has no disadvantages for Namecoin.
It sounds reasonable to have Namecoin compatible with Bitcoin on the network protocol level and keep the differences only where is necessary to support name related features.
This is especially trough if it hampers implementing Namecoin support for important software like Armory.
On the other side we should put in weight very carefully if removing spam protection.
What is the actual protection if somebody want to move 50 000 X 2 swartz in one block(50 000 spam transactions) ? And what would be the spam protection in the same case if the Bitcoin rule would be valid instead the actual one ?
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

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

Re: Simplifying fee structure

Post by domob »

virtual_master wrote:On the other side we should put in weight very carefully if removing spam protection.
What is the actual protection if somebody want to move 50 000 X 2 swartz in one block(50 000 spam transactions) ? And what would be the spam protection in the same case if the Bitcoin rule would be valid instead the actual one ?
In the current situation, each output costs the "base fee" (I think 0.005 NMC for miners and 0.001 NMC (?) for relaying nodes) in transaction fees that must be paid. In other words, it costs an attacker a large multiple of the amount of dust created. For the Bitcoin rule, such a transaction simply would never be mined or relayed by default. I don't see a problem with spam attacks in either case, but maybe I'm missing some cases.

Note that this transaction could be spammed onto the blockchain "for free" (except the moved coins) in both cases if mined by the attacker.
BTC: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS
Use your Namecoin identity as OpenID: https://nameid.org/

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

Re: Simplifying fee structure

Post by domob »

BTC: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS
Use your Namecoin identity as OpenID: https://nameid.org/

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

Re: Simplifying fee structure

Post by indolering »

I don't like the idea of having to trust miners, the dynamics will change once mining rewards asymptote. But if Bitcoin is handling it through the "non-standard" check, I'm okay with sticking to their security model.
DNS is much more than a key->value datastore.

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

Re: Simplifying fee structure

Post by domob »

indolering wrote:I don't like the idea of having to trust miners, the dynamics will change once mining rewards asymptote. But if Bitcoin is handling it through the "non-standard" check, I'm okay with sticking to their security model.
What exactly do you mean with "trust miners" here? The only thing that miners could manipulate is that they could mine transactions with "dust spam outputs" but without tx fees. I think it makes sense to allow that, as it keeps the strict consensus rules simple and clean. Enforcing transaction fees with them would mean that we would have to do a fork every time we want to change the tx fee rules.

Also note that this is not related to cost of names (as mentioned above already). Miners can not cheat with them.
BTC: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS
Use your Namecoin identity as OpenID: https://nameid.org/

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

Re: Simplifying fee structure

Post by indolering »

domob wrote: What exactly do you mean with "trust miners" here? The only thing that miners could manipulate is that they could mine transactions with "dust spam outputs" but without tx fees. I think it makes sense to allow that, as it keeps the strict consensus rules simple and clean. Enforcing transaction fees with them would mean that we would have to do a fork every time we want to change the tx fee rules.
Yeah, I'm fine with trusting miners on this because it's a fairly minor "attack" that we could plug pretty quickly if we had to. :)
DNS is much more than a key->value datastore.

Post Reply