When can transaction fees exceed 0.01 PPC? (Mechanics)

Scenario
This morning, I sent 1600.00 PPC to another wallet under my control. When PPCoin-Qt presented the transaction fee acknowledgement dialog after clicking “send”, I noticed that instead of the 0.01 PPC fixed fee that I was expecting, that the UI was indicating that this transaction would cost 0.02 PPC.

Being well aware of the current conversations around the fixed transaction fee, this struck me as out of the norm; not because I was worried about an error, but because this was something that I had not seen discussed before.

Block chain info for the transaction

I’m presuming that the two addresses that have very small contributions are part of the transaction’s “change”. The fact that they have inputs and outputs of equal amounts, and have only been used once, reinforce this assumption.

As you can see, it clearly indicates that it was a 0.02 PPC transaction fee. What I’m also seeing is that the wallet, rightly, aggregated the funds for this transaction from two different addresses of mine (to cover the amount requested). I also checked to see if my wallet was configured to add any extra fees to the transaction, but like I expected, it was set to “0.00”.

I’d like to be able to understand and predict how and when this would happen in the future. I also want to make sure that we’re doing the best job possible communicating the underlying mechanics to people when they ask, so I’d like to see if we can answer the following:

[ul][li]Is there a transaction fee of 0.01 PPC applied to each address used during a transaction?[/li]
[li]If the transaction fee isn’t applied on a per address basis during a single transaction, which of these variables triggers the different transaction tiers?
[list]
[li]Transaction “weight” in kilobytes (kB)[/li]
[li]Transaction value in PPC[/li]
[/list][/li]
[li]If one of those variables is the trigger, what are the ranges for each of the tiers?[/li][/ul]

I’ll go back through the code this afternoon to try to answer these questions myself, but seeing as the Community could benefit from understanding how it works, I wanted to bring the question here first.

Please note, I'm not bringing this up to debate the validity or economic viability of protocol enforced transaction fees, but rather, [b]to understand the mechanics behind how it is working[/b], so we can correctly communicate it with current and potential holders. Please keep this topic on point with only a discussion of [b]how[/b] it works. There are other discussions on the boards where we can opine and debate about [b]why[/b] it is part of the protocol. Thank you!

isn’t it 0.01 ppc per kb?

Size: 1417 bytes Fee: 0.02

What causes a given transaction to weigh more than another?

I think it’s every thousand. This transaction fee thing is really starting to hurt my morale. I just don’t understand it and I don’t feel like many others here pushing the coin do either. We’ve got people on reddit asking things like

“If the transaction fees are going to be too high for it to be used as a transaction coin why bother trying to get merchants to accept it?”

And I just don’t know the answer. I feel like we’ll never even come close to LTC because there will always be a huge backlash towards the fee.

number of inputs and outputs

I think it’s every thousand. This transaction fee thing is really starting to hurt my morale. I just don’t understand it and I don’t feel like many others here pushing the coin do either. We’ve got people on reddit asking things like

“If the transaction fees are going to be too high for it to be used as a transaction coin why bother trying to get merchants to accept it?”

And I just don’t know the answer. I feel like we’ll never even come close to LTC because there will always be a huge backlash towards the fee.[/quote]

answer is, that ppc is more a backbone currency, like gold, and centralized services could take care of merchant services, but I don’t really know the details , for example, I assumed wrongly that XPM would be for everyday use, but it has also the fixed tx fee, so it is also a “backbone” currency, but I don’t know why … because I thought XPM would be for everyday use because of the fast transaction speed… but I don’t know…

I think it’s every thousand. This transaction fee thing is really starting to hurt my morale. I just don’t understand it and I don’t feel like many others here pushing the coin do either. We’ve got people on reddit asking things like

“If the transaction fees are going to be too high for it to be used as a transaction coin why bother trying to get merchants to accept it?”

And I just don’t know the answer. I feel like we’ll never even come close to LTC because there will always be a huge backlash towards the fee.[/quote]

answer is, that ppc is more a backbone currency, like gold, and centralized services could take care of merchant services, but I don’t really know the details , for example, I assumed wrongly that XPM would be for everyday use, but it has also the fixed tx fee, so it is also a “backbone” currency, but I don’t know why … because I thought XPM would be for everyday use because of the fast transaction speed… but I don’t know…[/quote]

Right but we actually have people trying to score merchants accepting PPC. Do we want that? Do we not want that?

I think we’re hijacking Ben’s original question here about the 0.016298 transaction fee. which his gui rounded up to 0.02 for display purposes. (Sorry Ben, I haven’t had time to look into that for you, but it is 0.01 per kilobyte, perhaps you exceeded that)

But to answer Yurizhai here:

Re-phrased another way could be:

Right but we actually have people trying to find other people who want to trade [something] for PPC and see the value in the coin. Do want that? Do we not want that?

Generally speaking, I think we always want that, and that the general market will decide on the best way to use the currency in the long run.

At the early stages of Peercoin, any Merchant that wants to accept, store, and hold Peercoin is going to be especially happy when its value increases significantly later.

Any merchant that simply wants to increase the availability of their product to the market by also accepting Peercoin as a novelty today can also lead to nice profits too. This is a win-win situation.

Finally, any merchant that is “scared” of Peercoin’s myths and false rumors can use a coin exchange service like this one:

https://www.coinpayments.net/index.php?cmd=supported_coins

Which will allow you to sell in Peercoin, immediately change it to Bitcoin if you like, and then cash them out the traditional way.

You’ll probably see Bitpay supporting other alternative coins in the future too.

@ppcman:

At the early stages of Peercoin, any Merchant that wants to accept, store, and hold Peercoin is going to be especially happy when its value increases significantly later.

Any merchant that simply wants to increase the availability of their product to the market by also accepting Peercoin as a novelty today can also lead to nice profits too. This is a win-win situation.

Have you ever heard of any merchant that stores the money he’s being payed with? A merchant who doesn’t need to re-use that money to re-supply, pay salaries, etc? Eventually that’s amerchant that is selling his brain power, or his physical abilities. Yet that kind of merchant needs to eat and live.
No, clearly, PPC is unuseable for merchants. Whichever accepts it for payment atm does simply not know that he’s losing money by doing so.

HOWEVER, although that’s a kindof different topic, a 1% fee on a $1000 PPC is still far better than an inflationary fee based on the computing and hardware power needed to mine BTC. If a Buttefly Labs $5k ASIC rig mines 0.5 BTC/week and lasts 6 months before it’s obsolete, then the miner will add a minimum of a $333 or so to each BTC to get over his cost.
I think?

But again, merchants can’t want to use PPC to receive payments and hope to make interest. No merchant stores money.
Makes NO SENSE.

Good discussions, but let’s take those to another topic.

I’ve got no problem with paying a variable fee if it’s on a 0.01 PPC / kB for the transaction, I’m just trying to understand when that’s going to be triggered and if it’s predicatable at different breakpoints (1 PPC / 10 PPC / 100 PPC / 1000 PPC / 10000 PPC, etc.)

Also, if the UI is rounding the actual fee, and we can validate that the fee paid was really 0.016298 PPC and not 0.02 PPC, I’ll start a different topic to discuss adding that to the UI improvement checklist. As someone who does care about the coins that I have, a 0.003702 PPC difference will add up over time, even if it’s in my favor (because the UI only said that 0.02 PPC was used, but really, it was less).

I’d like to know this as well.

Also, if it’s a variable fee based on the size of the kB then wouldn’t it be beneficial for PPC to mint POS based on the kB size of the aged coins in an individuals wallet? It seems like that would a more efficient way to ensure the incurred fees are detroyed.

In a lot of ways, if the fee is variable (past the 0.01 PPC minimum), it’s a good thing. If I have a 1600 PPC transaction that costs 0.0161 PPC, that’s better than if I’d split those two transactions up to “get under” the 1kB size, because it would then cost me 2x 0.01 PPC.

I’ll do my own research to see if I can find documentation that discusses the relationship between transaction size (in number of coins) vs. the kB weight of that transaction. It would be nice if it was roughly something like “1000 PPC : 1 kB”, if the consistent header size is taken into account.

True. However what would happen if the value of PPC skyrocketed to $10,000? That would make the fee $100… which is no big deal as long as you own at least 1PPC but it would be illogical to purchase less than 1PPC for new users since they would never be able to mint enough to destroy the fee. I’m interested in how the mechanics of the transaction fee are adjusted as the value in dollars rises to address such an issue.

It seems like all this mess with the fees could be simplified by having a fixed fee of 1% with a fixed POS minting rate of 1%. Doing it that way would destroy the fee while still incentivizing people to hold coins longer. In order to address block bloating and high frequency trading, the fee could be adjusted to 3-5% for transactions in which the coin age did not reach maturity.

For this discussion I’m using a non-variable 0.01 PPC minimum fixed fee per transaction, regardless of how small the transaction may be.

[quote=“das_Branleur, post:9, topic:1052”]But again, merchants can’t want to use PPC to receive payments and hope to make interest. No merchant stores money.
Makes NO SENSE.[/quote]

I think you are assuming a brick and mortar merchant will do 100% sales in cryptocurrency for it to “not make sense”.

Well…

Here’s a scenario that makes complete sense. I heard of this concept from an interview with Bitpay a few months ago.

He said that some merchants want all of their sales money in USD.

Some of them take 95% in USD, and keep 5% in BTC

If a new merchant is doing 95% sales volume in USD, and wants to keep whatever 5% he is taking in sales as PPC and storing the coins to have them as an investment, of course it makes sense.

A mom and pop shop that doesn’t know where to buy BTC or PPC might happily keep a few hundred dollars in website sales right now in cryptocurrency coins as an investment whether it be personal or for his own business.

Businesses store value in a variety of ways. Keeping some of it in PPC is not only viable, it is smart.

Think outside the box, this is how we got to this point. Luckily Satoshi Nakomoto did, and Sunny King too. :slight_smile:

[quote=“ppcman, post:15, topic:1052”]Some of them take 95% in USD, and keep 5% in BTC

Think outside the box, this is how we got to this point. Luckily Satoshi Nakomoto did, and Sunny King too. :)[/quote]

You’re assuming a merchant will keep some cash in. Even any amount of cash.

I’m sorry to be so bitter, but really: do you imagine that a single business in the world would “invest”, for a whole year, part if not all of a sale’s cash?
No. A business, in its right mind, will open the books, count the money, check the figures, pay the employees, re-supply, pay the rent, pay taxes, estimate benefits (if any), pay the business owner. Eventually, the owner will think of maybe, mayyyyybe, invest that (his) money.
Business owners don’t go straight from the very beginning thinking that X% of their sales will go straightstraightstraght into an investment vehicle.

And that’s assuming the business can put a “Pay in PPC” button, and have a live check of its finances that will make that button appear after 95% of sales made in dollars, then make it disappear again after 5% of other sales were made.

Could the transaction fees simply have an inverse relationship to the coin age? So coins with less age have a higher fee and coins with max maturity have zero? For example:

1 month -> 10% fee
2 months -> 5% fee
3 months -> 2% fee
6 months -> 1% fee
1 year -> 0% fee

Transaction fees could then be randomly distributed via POS minting to the miner that processes the transaction… as whifmoi discussed here: http://www.peercointalk.org/index.php?topic=673.msg6146#msg6146

It seems like that would help stabilize volatility while incentivizing people to hold long term and POS mint.

Re: transaction kB weight dependent on the input count of the transaction

This doesn’t appear to be directly related, or, if it is, I can’t seem to discern the pattern using on that single variable. Here’s a sample of transactions from the last day, with the amount of PPC transferred, the transaction weight in kB and the fee paid.

[table]
[tr]
[td]Type[/td]
[td]Amount (PPC)[/td]
[td]Size (kB)[/td]
[td]Inputs / Outputs[/td]
[td]Fee[/td]
[td][/td]
[/tr]
[tr]
[td]Trans[/td]
[td]7058.520694[/td]
[td]0.229[/td]
[td]1 / 2[/td]
[td]0.01[/td]
[td]Details[/td]
[/tr]
[tr]
[td]Trans [/td]
[td]119.634981[/td]
[td]0.379[/td]
[td]2 / 2[/td]
[td]0.01[/td]
[td]Details[/td]
[/tr]
[tr]
[td]Trans [/td]
[td]9412.67[/td]
[td]0.378[/td]
[td]2 / 2[/td]
[td]0.01[/td]
[td]Details[/td]
[/tr]
[tr]
[td]Trans [/td]
[td]6.989786[/td]
[td]1.117[/td]
[td]7 / 2[/td]
[td]0.02[/td]
[td]Details[/td]
[/tr]
[tr]
[td]Trans [/td]
[td]58.933125[/td]
[td]1.416[/td]
[td]9 / 2[/td]
[td]0.02[/td]
[td]Details[/td]
[/tr]
[tr]
[td]Trans [/td]
[td]55.828094[/td]
[td]2.598[/td]
[td]17 / 2[/td]
[td]0.03[/td]
[td]Details[/td]
[/tr]
[tr]
[td]Trans [/td]
[td]99.060391[/td]
[td]0.820[/td]
[td]5 / 2[/td]
[td]0.01[/td]
[td]Details[/td]
[/tr]
[tr]
[td]Trans [/td]
[td]10000.134433[/td]
[td]11.545[/td]
[td]100 / 2[/td]
[td]0.12[/td]
[td]Details[/td]
[/tr]
[/table]

I found the last transaction listed to be of particular interest to this discussion. Of the 100 inputs into this transaction, 86 were from the same address, 13 of them were from another address and one was from a third. If I’m interpreting the data correctly, the single transaction for 10000.134433 was funded with inputs from 100 other transactions. The weight of that transaction, 11.545 kB, and the fee paid, 0.12 PPC, points to the number of inputs as the important piece of information that the protocol considers for the calculation of the transaction fee.

My initial impression of this, if my analysis is correct, is that it’s inherently unequal, and thus, “unfair”. Because the person who initiated the transaction does not have any ability to select which coins are used to fund it (that I can see), someone who has a large number of small transactions moving through their wallet is going to be adversely penalized when they go to conduct a moderate sized transaction in the future, vs. someone who only deals in moderate to large unit transactions.

As an example, here’s a transaction for 12.11485 PPC, that cost 0.03 PPC in fees, vs. this other transaction, from the same block, for 140.4217 PPC that incurred a 0.01 PPC fee.

So this is how it works today, but is it working as intended, based on the goals of the protocol?

——

Here’s an interesting case that I discovered while looking at the block chain…

[table]
[tr]
[td]Type[/td]
[td]Amount (PPC)[/td]
[td]Size (kB)[/td]
[td]Fee[/td]
[td][/td]
[/tr]
[tr]
[td]PoS [/td]
[td]0.00[/td]
[td]0.079[/td]
[td]0.00[/td]
[td]Details[/td]
[/tr]
[/table]

I can’t tell though if that transaction is related to this one. They are in the same block, and appear sequential in the record, but the zero value one listed in the table above doesn’t (appear) to be tied to a particular address.

If there’s enough interest, we can discuss it in a separate topic, but I’m unsure why the protocol would allow minting (legitimate) zero value transactions and including them in the block chain. This goes runs contrary to the “anti-transaction-spam” ethos of Peercoin’s inclusion of the fixed transaction fee. I seriously doubt it’s a possible attack vector, but I wanted to bring it up for others to evaluate. It’s likely that I’m reading something into the transaction that is easily explained by the way that the protocol works.

Ahh, because that is what you think. I see. Everyone operates their business according to your thinking do they?

I think I’m done with this conversation. They say if you continue to argue with an idiot, it makes people wonder who the idiot is… Post what you like, no response from me.

So no peer review of my previous comment? :slight_smile: