A Proposal to Punish "Wasteful" Minting

Secure minting is an important piece of increasing POS participation, but it doesn’t directly address the problem of large stakeholders amassing huge coin-age offline and then “sniper-minting” a block only to quickly disappear from the network again.

One way of looking at this self-interested behavior is that it is “wasteful” of coin-age that could have otherwise benefited the community by minting additional random blocks. In other words, when a large stake mints way above the current POS difficulty, the community essentially overpays for that block.

My suggestion is to attach coinstake reward to the difference between current POS target and the achieved difficulty of the successful stake hash. Thus if a minter barely achieves the difficulty target, he/she will be rewarded with the ~1% per annum reward as usual. However, as the stake’s achieved difficulty rises above the current network difficulty, the reward will be incrementally decreased such that a POS block that significantly “overshoots” the target will suffer a diminished return.

The ideal rate of decrease of reward would need further discussion, but we could start with the consideration that the probability of achieving target from a specific stake increases each day from day 31 to a maximum at day 90; thus, there are essentially 60 increments of increased minting “value.” If a stakeholder remains offline for more than 90 days then he/she becomes absolutely a “freeloader” on the Peercoin blockchain. So it seems to me that the rate of decrease should perhaps be the inverse of the rate of increased probability over the first 60 days. In other words, one may picture a sort of minting “bell-curve” with the first half representing increased probability up to day 90 and the second half representing diminishing reward outward to a theoretical day 150.

Some might object that this proposal tinkers with the 1% inflation model (which, as I have tried to point out in the past, is currently simply a myth.) However, for small to average-sized minters, the overwhelming likelihood is that they will continue to receive the expected 1% per year. Furthermore, if this proposal is implemented along with secure minting, large stakeholders will increase minting participation out of self-interest. This, in turn, will stabilize the network difficulty target and an equilibrium should eventually be achieved that centers closely around the 1% annual reward.

Another objection is that some “unlucky” minters who happen to achieve a high difficulty with a relatively low coin-age will be unfairly punished… to this I would simply argue that the occurrence represents a reasonable price to pay for improved overall participation.

Any major drawbacks I’m not seeing with this proposal?

I think “sniper minters” can find a way around this mechanism. What I understood from the whitepaper is that you generate a new hash for each unspent output you control per second.

So if your first hash above the target happens to be much too high, you can still wait longer to generate another hash, hoping that it will be lower (relying on randomness). Paradoxically, it is kind of the opposite of regular minting…

Similar to my idea of punishing laziness

My apologies mhps, I’m not sure how I missed your thread. You’re right; you have already proposed a very similar idea, and I think your approach of using calculated probability vs raw difficulty is undoubtedly more refined and fair to all participants. I’m disappointed that there has not been more ongoing discussion of your proposal.

In response to arkanaprotego: thanks for your reply - You make a valid point and it is actually something I thought about addressing in my initial post (…however my wife puts a limit to how late I can stay up engaged in this “hobby!”) ::slight_smile:

In any case, I’ve already expressed my opinion in another thread that I believe the general issue of pre-hashing is inconsequential. Under the current protocol, whether or not a stakeholder has taken the trouble to precisely time their next block contribution is ultimately irrelevant to the rest of the network and the security of the blockchain. Now, in regards to my proposal (in contrast mhps’s where this issue is already avoided), I agree that there is an opportunity for large stakeholders to abstain from submitting hashes that greatly overshoot the current target; however I would argue that this strategy is ultimately countered by the risk of missing the opportunity to mint entirely. A large coin-age is an advantage when it comes to “merely” surpassing the target, but I do not believe it offers any significant advantages when it comes to hitting the target precisely. Thus, if a large stakeholder chooses to forgo a small reward in the hopes of later obtaining a larger reward, he/she must balance this potential gain against the risk of losing the “competition” altogether.

Furthermore, once the speculative phase of Peercoin cools, a maximum 1% reward is frankly not that that exciting to wealthy participants. Any substantial stakeholder would be able to achieve much higher returns by investing (i.e. spending) large holdings in other ways than timing a mint. In fact, I’ve always conceptualized Peercoin minting as a “savings account”- it plays a fundamental role in the financial system, but it is not where the future Warren Buffets will be amassing their wealth. The security of the blockchain is actually weaker if it relies only on wealth participants. Rather, it’s the average stakeholder’s personal balance of liquidity and investment that will ultimately establish a network of “peers” with the distributed statistical advantage of minting the next block over any individual attacker.

Anyway, thanks for reading. I’d love to see further debate!

I don’t think there is a big chance to miss the opportunity to mint completely: if you overshoot by a great deal, there is a big chance that all of the hashes you generate will be over the target anyway.

Then again, I am assuming that scores are rolled in a range of values that depends on coin-age, but actually I am not sure how Peercoin makes these calculations… BTW, this is IMHO a big issue with Peercoin: there is a whitepaper that explains key concepts, but there is no precise description of the protocol, other than the source code itself. Sure, it is the reference, but it is not very easy to get into.

It takes time for ideas to sink in.

Furthermore, once the speculative phase of Peercoin cools, a maximum 1% reward is frankly not that that exciting to wealthy participants.

I think the reason of the ~1% reward is that it takes very little computer work to secure the network so it should cost very little reward to keep the network humming. Any more than that should be inflation. But the reality is that the risk/touble adjusted minting cost exceed the reward for coin owners of 90% money base, so currently only 10% of money base thinks it is worth the trouble to mint. I think the most natural way to solve the problem is letting market do the price discovery: use coin-age to find blocks, but reward with transaction fee that is inversely proportional to POS difficulty. So if there are less people mintng, the POS diff is low and the rx fee is high and minting reward is high. This is close to today’s PPC POS scheme except tx fee is involved. If big stake holders only mint once a year, they won’t get a fat reward. They get tx fee of the block they find only.

I like the idea, but currently, Peercoin tx fees are destroyed. The whitepaper claims it is to remove the incentive for minters to ignore the blocks of other minters. So far it hasn’t been an issue for Bitcoin, but since Peercoin minting (and therefore forking) is essentially free, it might be one for Peercoin…

I think an easy way to encourage regular minting is simply to cap the minting reward per block. For a given PoS target, the CDD of coinstake kernels should be about the same for all blocks. Either you use few old coins or many recent coins, or something in between, but in the end you destroy about the same coin-age, so everybody should get approximately the same reward if they are not gaming the system. So to prevent gaming of the system, just cap rewards.

This thread shows creative thinking. Good going. :slight_smile:

It not only takes time for ideas to sink in. Ideas that are about changing core functions are treated with “some respect”.
This is on one side good as it prevents from rushing into something that turns out to be no very good idea, but on the other side it may prevent from developing an even more sophisticated protocol.
I like the idea of raising the incentive to mint more continuously as it presents an economical solution to an economical problem.
The funny thing is that we are talking about “incentives” in the area of 1 percent per year while the large stake holders seem to miss the point that they put the whole network to a risk by not minting…
…I’m not speaking of the Peercoin network being at stake :slight_smile:
The network is quite safe even with only roughly 20% of all PPC being part of the PoS process.
It’s just that the network would be even more safe (==lower attack probability) with more big stake holders minting.
But as that seems to be no good enough incentive we should think about other ones!
Once I tried to make a suggestion to incentivize minting a bit more but I’m not going to sidetrack this thread by linking it here :wink:

Only 10% of all PPCs are minting by measurement. One address is finding 6 consecutive blocks every 6 months. It is not even the richest address. Anyone who owns 10% of all Peercoins can own Peercoin network.

This seems quite alarming! Can you provide block numbers or a block explorer link where I can examine this occurrence?

Without jumping to the conclusion that the address owner has ill intent, I fear that this could eventually happen to any very large stake by virtue of the poorly documented “stake splitting” that occurs in some POS blocks. It seems that after only 3 such series of splits, a significantly large enough initial single transaction output could transmutate into a 6-block super minter!

This threat actually leads in well to my thoughts today on a more radical version of my original proposal in this thread. I now think it may actually be advantageous to completely reject POS hashes that significantly overshoot the difficulty. In other words, rather than diminishing reward, very large stakeholders who wait too long to contribute blocks will actually begin to suffer decreasing minting probability. Not only does this suggestion reduce additional complexity in the protocol, its long-term benefit would seem to be a more equitable stabilization of stake sizes from block to block.

Addendum: An important upshot of this new idea is that it also introduces the possibility of extending the 90 day aging limit to further equalize minting fairness between large and small stakes.

This seems quite alarming! Can you provide block numbers or a block explorer link where I can examine this occurrence?[/quote]

There have been quite a few threads discussing how to motivate minting.

All threads try to reduce the risks or make minting more attractive. What hasn’t been addressed properly in my opinion is the risk of bringing coins on-line, especially for non-technical users. Although Peerbox is going in right direction and is very promising it is still not accessible for the non-technical users. Non-technical users would only be 100% confident if someone just guarantees the safety of their coins and make it dead easy (Peerbox may come close) and someone is able to back that up with payouts when compromised. That is how the banks do it.

So I see a business model with Peerbox and an insurance on top to fix it all without changing the Peercoin protocol, say 10% premium of the 1% reward payable to guarantee Peerbox minting wallets up to 10000 PPC/Peerbox. Part of the premium goes into further testing and strengthening Peerbox, part to a fund to cover the odd compromised wallet and part goes to dividends for Peershares holders.
Issue is the proof that Peerbox wallet has been compromised to prevent false claims, need to think about that, but that is good for another thread.

Edit: Looking at it, maybe the 1% reward is just too low in the current economic environment to encourage more than 10% of the PPC stake to mint. It might not be the risk/reward factor but the hassle/reward factor. Peerbox might fix this if they can provide a plug-and-play box (no ip and network config etc.). It might not be possible yet due to lack of standards in this area.

My apologies for going slightly off-topic here.

We can’t say how much a minter is above the difficulty. It’s a lottery. You either win or loose but there’s not such thing as you almost won or you largely won.

There’s a threshold and your hash must be below. The odds your hash will be just below or far below are the same.

Sigmike,

Thanks for the reply. I’ve improved my understanding of the protocol since my initial proposal and attempted to offer a revision based on probability that was not well explained. I respect your time, so please excuse me for asking for more clarification because I really am here only to “learn more.”

I was under the impression that in order to mint a successful block a stakeholder must produce a hash of (kernel + timestamp) that has a hexadecimal value less than target * (coinage<=90*stake). So, it’s true that there is no greater likelihood of an individual hash being closer or further from the target, but there is a higher probability of meeting the threshold with larger and larger stakes. What I am suggesting is that perhaps a new requirement could be implemented that mandates a minimum threshold in addition to the current maximum threshold. For example:

i < (hash) < (target*coinage)[/i]

The minimum threshold of “i[/i]” is just an illustration and is likely not the ideal way to derive the minimum value. Hopefully someone with better math/statistics knowledge could derive a more refined formula for accomplishing the aforementioned goal of punishing wasteful minting and equalizing stake sizes.

Thanks for reading!

Then you’re reducing the odds to find a block, you’re not reducing the reward.

I think we can calculate the probability for a stake to find a block at a specific date. I proposed somewhere we slowly reduce the reward if this probability is above a certain value (maybe 70% or 90%) when it finally finds a block. That would penalize large stake holders for waiting and I think the effect on smaller stake holders would be negligible.

But to calculate that probability we must take the difficulty into account. The ideal would be to use historical difficulty values but it may require too much resources. Or we can use the difficulty when the stake was confirmed, or when the block is generated.

Yes, that’s exactly what I’m suggesting to consider.

I apologize for being so unclear, but I changed my thinking about halfway down the thread:

I now think it may actually be advantageous to [b]completely reject POS hashes that significantly overshoot the difficulty.[/b] In other words, rather than diminishing reward, very large stakeholders who wait too long to contribute blocks will actually begin to suffer [b]decreasing minting probability.[/b]

The goal remains to discourage massive “wasteful” stakes but now does so through reducing odds rather than reducing reward. Smaller stakeholders would benefit from improved chances of minting a block while retaining their full reward if it still takes a long time to meet the threshold.

With the right formula in place, there could eventually be a stabilization of stake sizes that maximizes “efficiency” in proportion to the current level of minting participation. Thus, at some point down the road with maximum participation it may arise that most blocks are minted with around 15,000 coin-day stakes. In this scenario, every 500 PPC stake out of the ~21.5 M total money supply would have a roughly equal chance of minting at least one block per year. This would seem to help insure that blocks are more fairly distributed throughout the entire network and that people could better predict whether minting is advantageous or not with a particular block of coins. It would also likely encourage more transactions because PPC savers would divide their holdings into smaller blocks and thus be more inclined to spend from one of them without severely reducing their total coin-age.

Sigmike - I remember the thread you reference about reducing the reward based on calculated probability and it actually is what got me thinking about this topic in the first place. I think there are some very good ideas in that thread as well, but I agree that increasing the resources required to verify blocks is a problem. My suggestion on this thread was really a continuation of that discussion with a less calculation-intensive approach. Thanks again for the replies!

[quote=“sigmike, post:16, topic:2600”]I think we can calculate the probability for a stake to find a block at a specific date. I proposed somewhere we slowly reduce the reward if this probability is above a certain value (maybe 70% or 90%) when it finally finds a block. That would penalize large stake holders for waiting and I think the effect on smaller stake holders would be negligible.

But to calculate that probability we must take the difficulty into account. The ideal would be to use historical difficulty values but it may require too much resources. Or we can use the difficulty when the stake was confirmed, or when the block is generated.[/quote]

Your post was here.

As I posted in the follow up I thought calculating a pretty good approximation of the difficulty isn’t necessarily expensive.

Then you’re reducing the odds to find a block, you’re not reducing the reward.

I think we can calculate the probability for a stake to find a block at a specific date. I proposed somewhere we slowly reduce the reward if this probability is above a certain value (maybe 70% or 90%) when it finally finds a block. That would penalize large stake holders for waiting and I think the effect on smaller stake holders would be negligible.

But to calculate that probability we must take the difficulty into account. The ideal would be to use historical difficulty values but it may require too much resources. Or we can use the difficulty when the stake was confirmed, or when the block is generated.[/quote]

Sounds like a good idea to me, a bit similar to PoST from Vericoin.