Fixed Transaction Fee (0.01 PPC/kb) Debate Thread

The only purpose I see for the TX fee is to limit the size of the blockchain. I would prefer some form of dynamic fee structure instead of the fixed 0.01 fee. The dynamic fee could be enforced by the protocol, for example based on the number of transactions in recent blocks. Alternatively, the dynamic fee could be left to the market; i.e. block miners decide which transactions they process based on fee. I don’t think the dynamic fee should be coupled to PoW difficulty; there is no causal relation between PoW hashing and transaction volume, so coupling these things may create all kinds of strange effects.

I think at least some of the TX fee should be given to the block miner (currently the fee is completely destroyed). Getting some of the fee is necessary to motivate a miner to process transactions. Currently miners can simply create empty blocks all the time even though transactions are pending. In the future, miners could set up coalitions and deliberately only process “friendly” transactions. I think it would be better to handle that in an open manner via the TX fee. The way I see it, everybody can purchase the privilege to have his transaction processed by paying a TX fee to the miner who creates the block.

I don’t think it is necessary to destroy TX fee in order to fight inflation. The PoS inflation rate is only 1% which is extremely low compared to mainstream currencies. In addition, the PoS inflation is precisely compensated by PoS interest, so the value of everybody’s savings would still be preserved.

I don’t think the TX fee has anything to do with energy efficiency.

I don’t think PPC should settle for being a “backbone currency” or a “savings account”. Note that Bitcoin is perfectly suitable for those functions, as well as for spending. Why would people use two coins, PPC for saving and BTC for spending, if they can get by with just BTC for saving and spending?

Is it really solved? The blockchain size is not currently a problem for Bitcoin, but I don’t expect the blockchain will be able to handle a huge increase in transaction volume that may occur if everybody starts to use Bitcoin instead of paypal.

To be fair, I should point out that 0.01 PPC fee does not currently seem to be a problem. In fact our 0.01 PPC fee = $0.05 is currently much less than bitcoin’s 0.001 BTC fee = $0.50.
The problem with the TX fee is not that it is currently extremely high. The problem is that the fee schedule is hardwired in the protocol, which makes it very difficult to change it later when it does become a problem.

I agree completely with lumierre.

There seems to be an idea that we need to choose to be either a transactional currency or a store of value currency. Far from these being mutually exclusive, there is very strong synergy between the two. Consider the US dollar: it has an extremely high transaction capacity and is also the primary store of value in the world today. This despite the fact that it does not maintain its value. If we don’t make PPC a good currency for transactions, it won’t be used as a store of value either because of lack of liquidity. This means we should encourage as many transactions as we have scale to handle. So the important questions are: How many transactions can the network handle now and how will this change over time?

Though network bandwidth and block space can be constraints, they are not the most pressing constraints on scaling at the present time. Disk space is the most pressing constraint at the moment, and it is not very pressing at all as I will demonstrate. With average hard drives in the 500 GB to 1 TB range, I think we could presently have a blockchain size of 10 GB without discouraging a large percentage of users from hosting a full node. Of course the blockchain is much smaller than that now. Looking forward, the size blockchain that people will tolerate will double in size every 18 months without increasing costs to hosts because hard drive space costs are halving about every 18 months. If we had ~317 transactions per block it would add 10 GB to the blockchain over the next 18 months. Blocks presently contain an average of about 10 transactions so we can scale up the quantity of transactions more than 30x at the present time without losing any significant degree of decentralization. We should plan to scale up the volume of transactions perpetually as hardware permits.

I propose we fix the problem of high tranaction fees in two steps. First, a quick and easy fix should be applied to the 0.4 release by lowering the hard-coded fee from 0.01 to 0.0001, a hundred fold decrease. Second, it is possible to construct a variable transaction fee based on Proof of Work difficulty for inclusion in a 0.5 release. Ideally, we want the transaction fee to track the price, but this is not technically feasible. However Proof of Work difficulty can be used as a reasonable proxy if it adjusted for Moore’s law and the declining Proof of Work block reward. It wouldn’t be perfect but it would be MUCH better than a hard coded limit. If there is interest in this I would be willing define this further with specific C++ code in the form of a Github pull request.[/quote]

The harddrive space was actually more like doubling in every 20 months.(1996~1997 500M was the standard harddrive volume, 2013~2014 is 500G) and I doubt the trend will continue much longer. As far as I know, there have been no significant price change for hard drive during the last 3 years. And don’t forget about the mobile device. A laptop can easily handle 10G, but for a smartphone that is a rather heavy overhead. I believe a very thin block chain is actually a great advantage to make a full fledged client running on a cellphone.(bitcoin can’t do that.) And I may add actually only tech nerds are OK with 10G right now. One of the biggest complains of my friends running bitcoin client for the first time is it takes forever to download the block chain. If we keep the size very thin it could become a major selling point.

If peercoin loosens the transaction fee by 100 fold, the volume of transaction may become more than 30 fold. Considering the possible exponential grow of user base, if the transaction volume got out of control, it may result in a series of problems. Eventually peercoin may have to take the same route of bitcoin and become less decentralized.

One of the purpose of a fixed transaction fee, I believe, is to make people less confused. The ability to easily calculate how much money to pay give users more confidence. Theoretically, it is a sound idea to let the market decide the fee, but in practice it may confuse some of the more normal users. And I don’t think we have a good enough proxy for the market price yet.

All in all, it is proper to take a very cautious way to change anything at all. Especially when there is no urgent need right now. Some may think it will deter the potential users who fancy $10000 ppc, but let’s face it, Rome wasn’t build in a day, I don’t even see $100 ppc in any near future. Before that happen, 0.01ppc transaction is not a huge deal. It charges more than 1$ for ATM or bank maintenance monthly fee, yet people get used to them.

For the liquidity problem, I think the price was mainly discovered at the major exchanges. Those are centralized institutions and tradings there doesn’t cost transaction fee every time so liquidity was not really an issue.

If a person have N peercoins, he will get the extra N/100 coins after one year. As long as he trade less than N times a year, he still keeps the same amount of money. If he treats peercoin as some sort of saving account, which actually is a very good analogy, then it was quite normal he only need to open his saving account several times a year. Even peercoin becomes $1000 it still makes sense to save his money in peercoin.

And the benefit of keeping a thin blockchain can’t be neglected. It keeps things simple and clear and stable, the user will be more confident of what’s going on. Frankly, if there is two versions of peercoin, one 300M block chain with 0.01ppc fee, the other 10G block chain with 0.0001ppc fee, I’d rather put my life saving into the thin one, if only for the feel that things there are much easier to follow.

Great discussion here, so let me chime in. Let’s take a quick look at what Sunny said in October:

@transaction fees: Right now if we are talking about micropayments in the US$1 range, both PPC and XPM still handle them with much lower overhead than credit card
network. In the long term micropayments should be provided by centralized providers, or a less decentralized network optimized for high capacity transaction processing.
Sunny King
[24|Oct 10:38 pm]
:
@transaction fees: On the other hand there is no promise that minimum transaction fee wouldn’t be adjusted. If processing capacity of personal computers continues to advance at the
current pace, both max block size and minimum transaction fee could very well be adjusted at some point. However I do take a very cautious approach to adjusting transaction fees, as opposed to bitcoin devs. The impact to the fitness of the currency as a backbone currency is of great concerns to me.
Sunny King

So couple of key points:

  1. Fees are destroyed to prevent miners from favoring transactions (where in bitcoin miners favor the fees)
  2. Fees are low compared to current fiat transactions (Credit Cards, ATMs etc.)
  3. Fees are based on PPC price/usage and CAN be adjusted (I think the original posts stated “Fees are network select”)
  4. Sunny envisions micropayments to be handled by future providers, thus minimizing PPC transactions on the PPC blockchain itself.

As you see I think PPC is very flexible and can easily adopt to future prices and usage.

I like this idea quite a bit. In fact, I think it’s better than my own suggestion for dynamic fees. I’m still thinking through the details on how to best structure the details of your suggestion. Maybe I will have more to say later.

It is best to destroy the transaction fee. If we gave it to the miners, we would likely never see a decrease in fee again. Miners have a motive to make the network run smoothly by processing all transactions because they are invested in it if they are producing PoS blocks.

Anything the protocol can do to reduce the incentive for miners to manipulate blocks in their favor, is a good thing.

The Peercoin protocol already allows someone to pay over the fixed fee to expedite their transaction, if they so chose to. In a system that is intended to process a majority of blocks by way of proof-of-stake, because it is more efficient, there’s no reason to incentivize inefficient (proof-of-work) processing more than it already will be with standard block rewards.

When the fee is standard is not so good and that’s why for 2 reasons.

  1. Someone with few money want to buy few ppc, that means he/she tries to invest few money, but in reality that is more expensive than even the banks. Why is that. Because 0.01 is too expensive for those who have few ppc’s or mppc. The best it would be for less than 1 ppc is zero fee.

  2. and the sencond reason is when PPC will grow in $usd dollars few will be able to buy more than 0.01, so we return to 1st reason… What i mean, is what will happen if tomorrow ppc will go to 500$, that means ppc won’t be so easy to buy, trade, move because it will cost more.

One small fee is must be, but no 0.01, but something 0.5% of the transaction, or something like that.

The current protocol does nothing in that area. Miners are free to take pending transactions or leave them as they see fit.

The Peercoin protocol already allows someone to pay over the fixed fee to expedite their transaction, if they so chose to.
What is the mechanism behind this "expediting" of the transaction? Why would a miner favor transactions with higher TX fee, if he won't get any of the TX fee. In Bitcoin, higher TX fee expedites the transaction because miners prefer transactions with high fee. In Peercoin, miners don't receive TX fee so they are not motivated to enforce any such mechanism.
In a system that is intended to process a majority of blocks by way of proof-of-stake, because it is more efficient, there's no reason to incentivize inefficient (proof-of-work) processing more than it already will be with standard block rewards.
Currently, there is zero incentive for miners to process transactions. A miner will get his block reward even if he emits an empty block. (As explained by Jordan Lee above, a PoS miner should be motivated to process transactions because, as a stakeholder, he has an interest in a smoothly running network. However that is an indirect motivation, and it may be easily outflanked by specific motives of individual miners.

Edit: @Ben: Your remark seems to indicate that you believe TX fee works different for proof-of-work vs proof-of-stake. That is not true as far as I know. Neither PoW miners nor PoS miners receive TX fees, therefore neither have a direct incentive to process transactions.

My intention of discussing $1,000-$10,000 PPC was not to speculate about its future price. My intention was to demonstrate how the mechanics/philosophy of a 0.01/kB fixed fee may not scale well as the price increases. If the development team is already thinking 30 years ahead in terms of blockchain size and efficiency then they should also think 30 years ahead in terms of scalability of other mechanisms… and IMO the 0.01 fee could potentially be problematic. Put simply, if Peercoin is the “sustainable and secure cryptocurrency” then it should be sustainable regardless of price level but I fear my example (while now a problem now) shows that may not necessarily be the case.

This could very well be a non-issue since Sunny mentioned “there is no promise that minimum transaction fee wouldn’t be adjusted” but if that’s the case then I think we, as a community, should discuss what that means now rather than just hoping it’ll work itself out.

[quote=“maka, post:22, topic:1068”]As far as I know, there have been no significant price change for hard drive during the last 3 years. And don’t forget about the mobile device. A laptop can easily handle 10G, but for a smartphone that is a rather heavy overhead. I believe a very thin block chain is actually a great advantage to make a full fledged client running on a cellphone.(bitcoin can’t do that.) And I may add actually only tech nerds are OK with 10G right now. One of the biggest complains of my friends running bitcoin client for the first time is it takes forever to download the block chain. If we keep the size very thin it could become a major selling point.

If peercoin loosens the transaction fee by 100 fold, the volume of transaction may become more than 30 fold. Considering the possible exponential grow of user base, if the transaction volume got out of control, it may result in a series of problems. Eventually peercoin may have to take the same route of bitcoin and become less decentralized.[/quote]

It’s true that spinning disks have only made modest pricing improvements as of late. I think that’s because these are on their way out with the increased dominance of SSD, the price of which has been plummeting very fast. I don’t see why this wouldn’t continue.

There is some tension between decentralization and high transaction processing capacity. The question is: What is the best balance of the two? The purpose of decentralization is to ensure that some malicious entity can’t control the network by threatening those who operate it. There are diminishing returns for additional degrees of decentralization and I would say the benefits beyond 10,000 nodes are quite minimal. I don’t think we should be too worried about accommodating cell phones.

If you put your life savings in the one with 300M block chain and a 0.01 fee, you would lose your savings. The price of the small chain would collapse and few people would accept it. Most of the people using the larger network wouldn’t run the full client and would choose it for its low fees, wider acceptance and better price appreciation.

I agree that 1-10% is too high… what would be more realistic and appropriate?
1 week → 3% fee
2 weeks → 2% fee
3 weeks → 1% fee
4 weeks → 0.5% fee
Maybe something like this?

I know the transaction fee is very controversial in the community and on exchanges but I’m glad we’re at least actively discussing it because we need to be competitive since other POS coins (such as NXT) will likely also gain popularity.

I have collected some arguments pro reduce and change of transaction fee, which reflect my opinion:

High transaction fees reduce acceptance of Peercoin and therefore reduce market capitalization.

•Peercoin can only become a backbone in cryptocurrency market if market capitalization is comparable to the one of Bitcoin and Litecoin but not much smaller. It will never be interesting to hold a lot of money in a cryptocurrency if the market capitalization is low and so liquidity is, too.

Peercoin does not need to be a currency which is not very much traded for real goods. It has a lot more potential. And lower transaction fees like >0.001 or >0.0001 PPC are ok at the current price of Peercoin in my opinion. But there should always be a mechanism which prioritizes transactions (probably already implemented) e.g. high volume transactions are processed before low volume ones, to protect the network against spamming. I think a variable transaction fee like in Bitcoin is fine. This would have the disadvantage that the blockchain becomes bigger. This problem can then be tackled by dividing the blockchain into two parts. The first part is stored on large devices (computers distributed over the internet) and is updated e.g. every month with a checkpoint to fix them. And the second part is the short term part which checks the checkpoints and has a transaction history of only e.g. one month (or any different period of time) and is stored on all devices. This would allow for both small transactions and “backbone” storage for value and would probably increase Peercoin acceptance.

Proof of Stake Miners (all PPC holders who open their wallet and emit a block after some time) need an incentive to include transactions and need to be well connected to the network (at the moment there is no need to be well connected which often happens when you start the wallet and some minutes after the start, a POS block is produced with few transactions). The transaction fee should go to the Proof of Stake Miners since they stabilize the network. So the incentive to let a computer with a Peercoin wallet run all day would increase.

•The transaction fee does not have anything to do with energy efficiency in the current implementation.

•The transaction fee is slightly deflationary but this effect it not to mention before others which increase inflation like when the Peercoin market capitalization rises and therefore the hashrate rises, too, and then there are too many blocks produced for some days.

I agree that 1-10% is too high… what would be more realistic and appropriate?
1 week → 3% fee
2 weeks → 2% fee
3 weeks → 1% fee
4 weeks → 0.5% fee
Maybe something like this?

I know the transaction fee is very controversial in the community and on exchanges but I’m glad we’re at least actively discussing it because we need to be competitive since other POS coins (such as NXT) will likely also gain popularity.[/quote]

Why would we want to penalize people for turning their money over quickly? This would make PPC uncompetitive for short term use.

I agree that 1-10% is too high… what would be more realistic and appropriate?
1 week → 3% fee
2 weeks → 2% fee
3 weeks → 1% fee
4 weeks → 0.5% fee
Maybe something like this?

I know the transaction fee is very controversial in the community and on exchanges but I’m glad we’re at least actively discussing it because we need to be competitive since other POS coins (such as NXT) will likely also gain popularity.[/quote]

Why would we want to penalize people for turning their money over quickly? This would make PPC uncompetitive for short term use.[/quote]

The time adjusted fees I described would be based on coin age. Unless I’m mistaken about how coin age functions, it seems like short term use would not be effected unless you have a higher percentage of new coins than old coins. Having a higher fee for coins with young age would help prevent high frequency trading, pump and dumps, and block bloat while also encouraging people to hold term term.
Besides, I don’t think the higher fee is considered a ‘penalty’ since the option always exists to wait.

I agree that 1-10% is too high… what would be more realistic and appropriate?
1 week → 3% fee
2 weeks → 2% fee
3 weeks → 1% fee
4 weeks → 0.5% fee
Maybe something like this?

I know the transaction fee is very controversial in the community and on exchanges but I’m glad we’re at least actively discussing it because we need to be competitive since other POS coins (such as NXT) will likely also gain popularity.[/quote]

Why would we want to penalize people for turning their money over quickly? This would make PPC uncompetitive for short term use.[/quote]

To make it expensive to spam the network using the same coins. That said, I don’t think any % type fee is appropriate. The fee should always be based on the size of the transaction and not the amount of coins, since the size of the transaction is what increases the size of the blockchain. Transferring a million peercoins instead of a single peercoin uses the same amount of bytes. With a percentage based fee system, I could spam lots of tiny dust transactions and outputs and pay hardly anything since the fee would be a fraction of dust.

The transaction size isn’t something that’s necessarily under control of the person who is sending the funds to another address though. Someone who deals in lots of small amounts of peercoin, legitimately, is going to be adversely penalized versus someone who deals in big, whole numbers.

I believe there has to be a better way of protecting the network from tiny, spammy, transactions.

I agree with OP that current transaction fee model is not very future-proof. Even if peercoin is positioned as a backbone currency the fees must be at least significantly lower than moving FIAT currencies.

I like the model of lower fees on more mature coins. Although even the highest fee should not exceed 1% and have a flexible cap based on peercoin value. Combining this with lower fees for mature coins >1,3 and 6 months. And maybe a standard 1% fee for all transactions under 1 peercoin, whether mature or not.
This motivates people to save and eliminating spammy transactions, while still keeping the coin spendable and usable for various kinds of transactions.

Edit: Added CAP

Peercoin has come all this way so far with-out being driven by small transactions. I don’t see why Peercoin shouldn’t keep continuing to be successful in the future without them. Peercoin isn’t supposed to be all things to all people. I get it that people have concerns because they don’t understand it and so are spreading Fear, Uncertainty, Doubt because it is a new concept. Sunny has even said that he will re-evaluate the various parameters of the coin design, and even if necessary, change the fee, interest rate, etc. Don’t freak out. Sunny knows what he is doing guys, he has even said we need to give Peercoin time to mature and be stable for a while above $100 per coin before he will consider changing the fee. This does not mean he is 100% against changing it, but he wants to make sure Peercoin is able to scale well. Scalability is and long-term sustainability is what Peercoin is all about. Give Peercoin time to materialize and mature before rushing out to change the coin away from what it was designed to be.

Maybe we need to start calling Peercoin a Cryptocommodity or Cryptoasset rather than a Cryptocurrency.

[quote=“Alertness, post:37, topic:1068”]Peercoin has come all this way so far with-out being driven by small transactions. I don’t see why Peercoin shouldn’t keep continuing to be successful in the future without them. Peercoin isn’t supposed to be all things to all people. I get it that people have concerns because they don’t understand it and so are spreading Fear, Uncertainty, Doubt because it is a new concept. Sunny has even said that he will re-evaluate the various parameters of the coin design, and even if necessary, change the fee, interest rate, etc. Don’t freak out. Sunny knows what he is doing guys, he has even said we need to give Peercoin time to mature and be stable for a while above $100 per coin before he will consider changing the fee. This does not mean he is 100% against changing it, but he wants to make sure Peercoin is able to scale well. Scalability is and long-term sustainability is what Peercoin is all about. Give Peercoin time to materialize and mature before rushing out to change the coin away from what it was designed to be.

Maybe we need to start calling Peercoin a Cryptocommodity or Cryptoasset rather than a Cryptocurrency.[/quote]

I agree with that and Sunny. Wouldn’t have bought my stake if I didn’t ;D We shouldn’t rush into things, but still I think we should discuss or share what we think the best next step would be if it exceeds those parameters.

I am also among the PPC supporters with worries about the 0.01 TX fee.

I like some of the ideas mentioned here:

  • difficulty-adjusted transaction fee: The goal would be a tx fee with a relatively stable price, to discourage too micro-scale transactions (e.g. < 0.10 USD)
  • transaction-volume-adjusted fee: The goal would be to protect the network from being overloaded with transactions. After a short transaction-volume spike the fee would increase. This could even have effects on a better stability, as it would discourage a massive sell-off from PPC wallets (price crashes and spikes are accompanied often by dramatic volume spikes).

But there could be an alternative idea: What about a second blockchain backed by PPC for microtransactions with low or zero fixed fees? That would be a kind of “altcoin” built-in in an extended client, perhaps merged-mined with Peercoin (if possible with PoS). It would be a descentralized alternative for IOU’s. This second blockchain could be renovated periodically to save hard disk space. The main PPC blockchain would then be only for large transactions with a high security level. (It’s just an idea, I don’t know if this is possible or desirable.)

[quote=“d5000, post:39, topic:1068”]I am also among the PPC supporters with worries about the 0.01 TX fee.

I like some of the ideas mentioned here:

  • difficulty-adjusted transaction fee: The goal would be a tx fee with a relatively stable price, to discourage too micro-scale transactions (e.g. < 0.10 USD)
  • transaction-volume-adjusted fee: The goal would be to protect the network from being overloaded with transactions. After a short transaction-volume spike the fee would increase. This could even have effects on a better stability, as it would discourage a massive sell-off from PPC wallets (price crashes and spikes are accompanied often by dramatic volume spikes).

But there could be an alternative idea: What about a second blockchain backed by PPC for microtransactions with low or zero fixed fees? That would be a kind of “altcoin” built-in in an extended client, perhaps merged-mined with Peercoin (if possible with PoS). It would be a descentralized alternative for IOU’s. This second blockchain could be renovated periodically to save hard disk space. The main PPC blockchain would then be only for large transactions with a high security level. (It’s just an idea, I don’t know if this is possible or desirable.)[/quote]

Maybe the second blockchain can be Primecoin/XPM? Is that not what Sunny’s intentions are in some way or the other? Two crypto’s complementing each other? Need to think about the conversion rules. Can be very complicated to get this right. But I like the idea (for the long term).