Transaction Filter *FEE* must stay::Boundary conditions, use case, class coin

Sorry for bumping that thread and bringing you close to a heart attack.
I meant no harm.
On the contrary, I meant to save Peercoin from potential harm.
If you read that thread to the end and align the content with what is happening at the Bitcoin network at the moment, you should understand why a discussion about the Peercoin fee model is necessary.

I agree with everything that s been said above.
BUT PLEASE, dont double the size of the blockchain just to prove your point. :frowning:

I’d like to keep the size the smallest of all alt coins.

Even something carved in stone needs to re-examined periodically. Jubalix’ well-said post just shows that the reason for tx fee still holds true.

The fee can be changed by simply changing the source code.
The fee can not be changed quickly.
It’s good that quick changes can not be made in a haste, because it gives time for everyone to reflect.
It’s bad that quick changes can not be made, because it can not protect against spam attack quickly enough.

So… why not make it possible for the minters to change the fee, but give it a hardcoded floor and ceiling?

Ceiling and floor can be calculated using the value PPC has been traded for in terms of USD for a period of time.

[quote=“pillow, post:7, topic:3571”]The fee can be changed by simply changing the source code.
The fee can not be changed quickly.
It’s good that quick changes can not be made in a haste, because it gives time for everyone to reflect.
It’s bad that quick changes can not be made, because it can not protect against spam attack quickly enough.

So… why not make it possible for the minters to change the fee, but give it a hardcoded floor and ceiling?

Ceiling and floor can be calculated using the value PPC has been traded for in terms of USD for a period of time.[/quote]

Because that’s not the point of the fee

the fee needs to enforce system wide to ensure a thin no spam chain and certainty

Eg you could mine block an accept 0 fee for really small transactions and so be a malicious spammer.

The POS Minter does have a choice For fees which BTC POW currently does not have some much and that is the interest rate.

Your fee/charge is determined by how long you are prepared mine, its entrenched in Time cost and outlay cost to invest in PPC, as opposed to pure hardware costs, PeerCoin hardware being near neg cost.

So miners do have the chocie it just implemented at the “backend” of block generation no the inclusion generation.

Going down the “miners” set the fee, destroys the a core issues of the Backbone aspects of Peercoin, and demonstrates exactly what I said before, most people in crypto struggle to get thier head around what PeerCoin is about.

It is not about makeing income from including transactions to keep it viable.

Its about rewarding consistent miners, with fixed hardware costs, a thin block chain, clean implementation.

As a high value transfer party wants to know their transaction is getting through, no in a stack somewhere, and wants to know the set fee becuase the transaction not getting through costs way more than the fee ever will.

Imagine a bundle of travelators like at the airport all next to each other (no glass balastrades) but they run at different speeds, that would make it near impossible to transfer over size luggage eg like a T82 tank size. That’s what having a unified fee allows you to do. Sure if you care about TPS small transaction then you can afford to pick one an jump on thats a floating fee

If you want to do miners variable, make a fork.

[quote=“jubalix, post:8, topic:3571”]Because that’s not the point of the fee
the fee needs to enforce system wide to ensure a thin no spam chain and certainty[/quote]

I agree.

The minters are enforcing the fee rule right now, but adhering to the same protocol as all others. The variable fee I suggested should work the same way but not be hardcoded.

I agree. I think the fee should be destroyed (and not be paid out to minters). I never said I wanted a variable fee where the fee went to minters. I only wanted a variable fee, where the fee is destroyed.

I don’t want a fork. I want protection against the kind of spam Bitcoin and Litecoin carries in their blockchain. A variable fee that is destroyed and set through a voting process, I think could be one way of dealing with it.

Do you have another suggestion for how to handle the spam? I would like to hear it (and I’m not being sarcastic).

:slight_smile:

EDIT: To get my point across: I’m suggesting that the fee in PPC is somehow tied to the value of USD and the only way I trust that to happen, is if minters can vote on what the price is of PPC. However, I don’t trust minters to not screw up in their voting, so I suggest a ceiling and a floor to the fee. The fee would perhaps be somehwere between 0.01 and 0.09 ppc. Minters would vote what the fee should be, but can not take it lower then 0.01 or higher then 0.09. If peercoins goes to $100 000, the fee should probably be changed and then the ceiling and floor could be adjusted, instead of setting a new hardcorded value.

Just to make it very clear: I’m not arguing for lowering fees. I’m arguing for a protocol change to let them rise depending on the utilization. I know that once people were arguing for lowering the fee.

[quote=“pillow, post:9, topic:3571”][…]
I don’t want a fork. I want protection against the kind of spam Bitcoin and Litecoin carries in their blockchain. A variable fee that is destroyed and set through a voting process, I think could be one way of dealing with it.
[…]

EDIT: To get my point across: I’m suggesting that the fee in PPC is somehow tied to the value of USD and the only way I trust that to happen, is if minters can vote on what the price is of PPC. However, I don’t trust minters to not screw up in their voting, so I suggest a ceiling and a floor to the fee. The fee would perhaps be somehwere between 0.01 and 0.09 ppc. Minters would vote what the fee should be, but can not take it lower then 0.01 or higher then 0.09. If peercoins goes to $100 000, the fee should probably be changed and then the ceiling and floor could be adjusted, instead of setting a new hardcorded value. [/quote]

The Nu network will from version 2.0 on (currently on testnet, soon productive) be able to vote on the fee.
But the situation at Nu is quite different from Peercoin.
The voting at Nu is incentivized by a lot of decisions that can be made by voting - voting on the fee will only be another are field to vote in (most time far above 50% of available NSR mint; in difference to the few percent of PPC that mint).
The voting is assisted by a feed system. Minters can register to a feed of their taste and stay up-to-date with their voting settings.
NSR holders are highly aware of things that move and act when action is required.

Nu is a corporation. It works in a different way, it serves a different purpose.
Peercoin is different and it’s good the way it is. Just not at the tx fee.

While I agree that it would be nice to tie the tx fee to the USD value of PPC, I consider it way more important to defend Peercoin’s position of being a sustainable crypto coin network with a very small blockchain.
The USD value of the tx fee is of secondary interest to me.
If Peercoin is a backbone currency, it doesn’t matter if a transaction costs several USD (once the PPC price is in the hundreds of USD).
But it does matter if you can spam the network cheaply, making it hard or impossible to keep the number of full nodes high.
I consider the small blockchain size one of Peercoin’s unique features.

Waste 4,000 PPC on tx fees and you double the Peercoin blockchain size. A size that is after more than two and a half years of safe and sound operation still close to 400 MB. Voting would be nice. But I doubt that it can be introduced in a reliable way at Peercoin anytime soon.
Plus it would be to slow to react to spamming attacks.
It would lead to situations where spammers act in times of low fees, the fee would be voted up. The spammers would stop. The fees would be lowered and so forth.
The protocol needs to do that fee adjustment.
The floor of the fees could stay where it has always been: 0.01 PPC/kB. There will be no ceiling, but a steep rise beginning at a given threshold.
Modified clients that use lower fees have their transactions excluded.
Mined/minted blocks that include invalid transactions are rejected.
Obviously this requires a hard fork.
I say Peercoin requires this defense.

So far over 90,000 blocks had less than 3 transactions: https://ppc.blockr.io/trivia/block
That is half of the blocks so far.
I don’t know how big those transactions have been, but it’s likely that they have been at a few kB at average.
Tell me where’s the problem to double the tx fee once the next block is expected to carry more than 30 kB of transactions? Double it again after the next 30 kB, etc.
This floor value might be high enough not to be recognized most of the time (half of the blocks so far wouldn’t have met the criteria to double the tx fee per kB).

But please don’t focus on the numbers. They are just something to play with.
Try to focus on the concept, the idea to provide strong network abuse protection by a fee model that punishes spamming more than the current fee model does while still allowing normal use.

Once 1 PPC is at $100,000 we can discuss about a different floor (below 0.01 PPC/kB) - I bet that discussion will be started way before that PPC price level. I see no need as long as PPC is below $10,000.
Paying a part of the fee to min(t)ers is a different matter that makes things too complicated for now.
Can we try to focus on the idea of a variable tx fee to make spam attacks way more expensive?

[quote=“masterOfDisaster, post:10, topic:3571”]Plus it would be to slow to react to spamming attacks.
It would lead to situations where spammers act in times of low fees, the fee would be voted up. The spammers would stop. The fees would be lowered and so forth.
The protocol needs to do that fee adjustment.[/quote]

Yes, you’re probably right! :’(

The only issue I see with making the fee variable is how exchanges will deal with it. Other than that, and thorough discussion of upper and lower limits, sensitivity, and tx/block target, I am comfortable with the variable fee based on hardware demands that SK put forth.

I think the optimal goal should be to come up with a way to handle fees that is hands off and self-efficient. By hands off I mean no core change required during crucial times such as a spam attack, because that would be incredibly inefficient. By self-efficient I mean a system that self-adjusts and reacts based on transaction scenarios.
Given these goals in mind, I believe that a dynamic fee system is the best design decision.

I’ve always envisioned the core design of any crypto to be as self-efficient and sustainable as possible. The extreme circumstance we should aim for is “what if Sunny King/core devs all die, will the thing survive?”

I do like how PPC is already setup to counter the current attack on BTC…

Small Blockchain…

PPC is freaking awesome!

[quote=“spazzdla, post:14, topic:3571”]I do like how PPC is already setup to counter the current attack on BTC…

Small Blockchain…
[…][/quote]

Peercoin is not positioned to counter the type of attack the Bicoin network suffers from.
All you need is roughly 1440 PPC per day to increase the blockchain size by approximately 144 MB and make transactions for other people hard.
The daily attack cost is tiny compared to Peercoin’s market cap.

The current fee model needs to be reworked if the blockchain shall be protected from getting bloated cheaply.
Does the Peercoin network really need to suffer from such an attack before this matter is addressed?

[quote=“masterOfDisaster, post:15, topic:3571”][quote=“spazzdla, post:14, topic:3571”]I do like how PPC is already setup to counter the current attack on BTC…

Small Blockchain…
[…][/quote]

Peercoin is not positioned to counter the type of attack the Bicoin network suffers from.
All you need is roughly 1440 PPC per day to increase the blockchain size by approximately 144 MB and make transactions for other people hard.
The daily attack cost is tiny compared to Peercoin’s market cap.

The current fee model needs to be reworked if the blockchain shall be protected from getting bloated cheaply.
Does the Peercoin network really need to suffer from such an attack before this matter is addressed?[/quote]

You get my full support [member=11595]masterOfDisaster[/member].

We can wait to see what will be done for Bitcoin but we can also start thinking about Peercoin specific solutions.

I have alerted Sunny to MoD’s concerns, just in case he isn’t paying attention to the discussions on here.

By the way, what about this solution Gin talks about?

https://www.peercointalk.org/index.php?topic=1539.msg40096#msg40096

We have a solution, don’t we? Adjust the fee dynamically based on a target number of transactions per block? I mentioned SK here, but it was actually JL that put together the fee poll and the earliest reference to it I can find is here:

hmmm i admit that anything to keep the chain this for backbone is good

After a quick calculation with 1440 PPC (worth $835) you can delay transactions for 24 hours.

So in an uptrend event on the market, an attacker could for example prevent all Peercoin holders to move their coins on any trading platform for a defined period of time. Which will give the attacker more chances to dump his coins on a trading platform just before the transactions are released and holders receive their coins on the platform.

We’ve seen a 12h rush on the market yesterday. Assuming a big malicious holder who owns 50K PPC on BTC-E wants to inflate the price, he will simply have to burn 720 PPC to prevent every holders (i.e. miners/minters) from sending coins to BTC-E during 12 hours. After these 12 hours and at a decent price (let’s say $1) this malicious trader dumps all his 50K PPC on the market because he knows that holders’ transactions are going to be released (and eventually his attack revealed), which will drag PPC’s price back down when coins will hit BTC-E. After that the attacker will just have to buy back at a cheaper price (let’s say $0.5) to double his amount of coins or switch to another crypto.

Other scenarios are also possible, but the main purpose of the attack is to prevent someone to receive funds in time for fun and/or profit.

This has several effects:

  • People will tend to keep their coins on trading platforms, and thus will never mint with their coins (which also is a negative incentive to secure Peercoin’s blockchain)
  • People will loose trust in Peercoin (transaction times not reliable)
  • Peercoin’s reputation will be impacted negatively

[quote=“Nagalim, post:18, topic:3571”]We have a solution, don’t we? Adjust the fee dynamically based on a target number of transactions per block? I mentioned SK here, but it was actually JL that put together the fee poll and the earliest reference to it I can find is here:

If this was true

What would be the problem then?

The problem is as MoD and several others have shown mathematically: even with the dust limitation spamming the network is very cheap.

Let me give calculation a shot:
Filling up blocks takes 0.01 PPC/KB, and 1024 KB in a block, a block every 10 minutes. That’s 10.24 PPC/block for 100% filling. The anti-dust minimum TXO only requires that the spammer have some stake in the network, but still we’re talkng something like <100 PPC, and the anti-dust is not burnt. So, the burnt cost per day for completely DDoSing the network is:
1,474.5 PPC/day
And the blockchain bloat we would experience is:
144 MB/day

That is a lot of minter resources wasted for just 1.5 thousand PPC. This is an issue, and raising the mandatory minimum would punish all users when it is a small minority that would spam. There ought to be a better solution.

I have written up a more thorough analysis and given it to Mably. Solutions do exist.

Thank you to Mably for putting this up:
https://wiki.peercointalk.org/index.php?title=Preventing_Network_Spam