New PoS proposal: PoS with minting club

Hey,

I read all these discussions about the constant block reward and the protocol changes. This made me think about a new PoS algorithm proposal. I would like to call it “PoS with minting club”.

New protocol features:

  • 90x more secure than the current system (an attacker will not be able to collect coindays)
  • the same degree of decentralisation as the current system.
  • the minting incentives will be changed such that big and small stackholder are encouraged to mint and keep their “minting power online”
  • I think this algorithm is compatible with sigmike’s cold minting proposal

The protocol:

The new protocol finds blocks pretty much the same as in the current model. There is this PoS-difficulity, which has to be met by a stack holder in order to release a new block and the longest chain is the main chain. But there are two big differences. At first, stackholder can not collect coindays in order to get a better minting power and secondly, a blockfinder, lets call him bob, does not get its reward instantly. The idea behind the new algorithm is to try to keep bob minting. This could be archive by the following steps:

-After bob has found his new block, he joints the “minting club”. The minting club is made of all the stackholders, who found one of the last x blocks, and some lucky stackholders. I would propose that everyone, who found a block in the last 90 days, should be in the minting club, thus we would choose x=90246.
-bob will receive its annual 1% reward, if and only if the members of the minting club find enough new blocks. I.e. after x blocks, the algorithm (or finder of the block x) looks up, how much minting power was allocated by the minting club during these x blocks, then calculates a specific threshold -a number y- that depends on this minting power and will honor bob with its annual 1% reward, if the members of the minting club found more blocks than this threshold y.

This protocol motivates bob to keep on minting, since he wants the minting club to find more blocks.

Now, let me explain these “lucky stackholder”. If only finders of new blocks would be part of the minting club, the system would be unfair since small stackholder are unlikely to find a block. But in this new protocoll even small stackholder could be treated as if they are a blockfinder:

-Each time a member of the minting club finds a new block, he can choose randomly some stacksholders, the lucky stackholders, which he allows to join the minting club. These lucky stackholder can now get their annual 1% reward by the same process as new blockfinders. Let me specify this:
We need to define some kind of metric d( , ) between a block hash and a peercoin address. Now assume the block “block1” has be found. Then any node, which has a peercoin address “peeradress” such that d(hashof(block1), peeradress)< “constant c”, can send a signed message to the network, which states that it wants to get lucky stackholder. Now assume a member of the minting club finds a new block “block2”. Then this finder is allowed to choose some of these signed messages and put them into his new block “block2”. Now all the stackholder, who find their signed message in the new block, are lucky stackholders. I would propose that the protocol allows the finder of block “block2” to reward himself for each lucky stackholder, which is added by him, by a very small amount. For security reasons, we would only allow small stackholder with many coindays to get lucky stackholders.

Notice, since a stackholder can earn only its annual 1% reward, there is pretty much no incentive to mint on different chains at the same time and there is no incentive to split its own stack in order to get a lucky stackholder.

Problems with this protocol.

  • How do we have to choose all these parameters in the protocol? I guess only experiments will tell us.
  • The minting club could suffer by some the “tragedy of the common effect”. But I think that the minting club provides an additional incentive that is strong enough. If we provide an easy way to everyone to mint with their own Raspberry Pi in a cold lock minting modus, I am convinced that they will be minting.
  • Does not resolves the “nothing at stack problem”.

In the current peercoin protocol only 365246 accounts can get their annual 1% reward. This number can be much higher by the new proposal.

I like this protocol, since there is strong incentive to mint, it is relatively fair and it keeps this high degree of decentralisation of Peercoin, we love so much!

I looking forward to read your criticism, thoughts and proposals for even better protocols :).

Hi,
this is quite new idea, so maybe I am not understanding something. Correct me, if I am wrong.

[quote=“josojo, post:1, topic:2446”]-After bob has found his new block, he joints the “minting club”. The minting club is made of all the stackholders, who found one of the last x blocks, and some lucky stackholders. I would propose that everyone, who found a block in the last 90 days, should be in the minting club, thus we would choose x=90246.
-bob will receive its annual 1% reward, if and only if the members of the minting club find enough new blocks. I.e. after x blocks, the algorithm (or finder of the block x) looks up, how much minting power was allocated by the minting club during these x blocks, then calculates a specific threshold -a number y- that depends on this minting power and will honor bob with its annual 1% reward, if the members of the minting club found more blocks than this threshold y.[/quote]

A) I do not understand formulation “find enough new blocks”. Thanks to POS difficulty algorithm, the number of blocks found on longer period of time is always almost the same - 1 block per 10 minutes. If there is not enough minting stakes, POS difficulty is lowered to compensate.

B) Considering A), I can also read your statement “find enough new blocks” as “use enough minting power”. It this is what you mean, then it would be: “Bob will receive his annual 1% reward, if and only if the members of the minting club mint enough, so that the average POS difficulty is above some threshold”. If this is what you meant, I would ask you: what happens if the minting club is not minting enough? Nobody gets the reward. OK, but then it could happen that there is not enough minters in the minting club to claim the reward, so noone will mint, because no minter alone can raise the POS difficulty enough to claim the reward. It is not necessary that this will happen, but should it happen, it would be a disaster to the network security.

I think it is very, very tricky to introduce “collective responsibility” of minters. By this, you could sometimes punish (=not reward) minters that were minting really hard, which would demotivate them from further minting.

Hey irigi,

thank you for this post. I am eager to discuss my proposal.

A) I do not understand formulation "find enough new blocks". Thanks to POS difficulty algorithm, the number of blocks found on longer period of time is always almost the same - 1 block per 10 minutes. If there is not enough minting stakes, POS difficulty is lowered to compensate.

Yes, the number of blocks found on longer period of time is almost the same, but the protocol looks up, how many of these new blocks are found by the minting club. If during next x blocks, the minting club finds a certain percentage of the blocks - which would depend of some parameters like the minting power, then bob gets his reward.

It this is what you mean, then it would be: "Bob will receive his annual 1% reward, if and only if the members of the minting club mint enough, so that the average POS difficulty is above some threshold".
This is also an interesting idea.

Maybe you were confused by the word “minting power”. In my proposal the minting power for stackholder is proportional to his stack - the coins he owns. When I said : “looks up the minting power of the minting club”, I mean that the algorithm looks up how much stack was hold by all the members of the minting club during the last x blocks…

If this is what you meant, I would ask you: what happens if the minting club is not minting enough? Nobody gets the reward.
Yes nobody would get the reward. But, since minter only get a annual 1% reward, as in the current implementation of Peercoin, minters would try again. Finally, they would succeed and they would have only lost interest rates, right?

[quote=“josojo, post:3, topic:2446”]

A) I do not understand formulation “find enough new blocks”. Thanks to POS difficulty algorithm, the number of blocks found on longer period of time is always almost the same - 1 block per 10 minutes. If there is not enough minting stakes, POS difficulty is lowered to compensate.

Yes, the number of blocks found on longer period of time is almost the same, but the protocol looks up, how many of these new blocks are found by the minting club. If during next x blocks, the minting club finds a certain percentage of the blocks - which would depend of some parameters like the minting power, then bob gets his reward.[/quote]
I see. Sorry, I didn’t read properly. I though there is only one minting club, which probably confused me. I will have to think about it more, there is many possible scenarios in this model.

What about following effect? Let us choose x = 24 x 6 (one day - rather small, just for illustration). Imagine (just for example) there is 1,000,000 small stake-holders that together hold 10,000,000 PPC. (10 PPC per each). Remaining 10,000,000 PPC is distributed among 10 big stake-holders, 1000,000 PPC per each. It can happen that during one day, only small stakeholders will mint blocks. In such case, total stake of the minting club is only 144 x 10 = 1440 PPC. It will be very difficult for them to reach the target number of blocks. On the other hand it can happen, that 3 of the big stakeholders will be in the club of that day. In such case, the amount of PPC in the club is 141 x 10 + 1,000,000 x 3 = 3,001,410 PPC. They will reach the target very easily and then stop minting. For some, it will be very easy to reach the desired number of blocks and they will not mint above that number, for others it will be impossible.

You can say (and I think you did) that the threshold they have to reach depends on size of their stake. So for club with 3,001,410 PPC, the threshold might be 15 blocks per day, for the minting club with 1440 PPC, it could be 0.0075 blocks per day. But the small minting club, even in 90 days, will either produce one block (if they are lucky) or no blocks at all. There will be big fluctuations in their number of blocks and it will be hard to judge if they are minting.

These are problems you can encounter for small x. For bigger x (you mentioned x = 90246), you can on the other hand encounter the tragedy of commons inside the minting club. The collective responsibility might make success of the minting clubs improbable.

Altogether, there is really a lot of things that can happen, it is really quite hard to see all ends. I will have to think about it some more.

P.S. What happens if wallets inside the minting club transfer money? How does that translate into expected blocks threshold? Doesn’t it bind minters not to spend their money? That would be quite serious disadvantage…

irigi, you really put a lot of thought into this. Thanks.

[quote=“irigi, post:4, topic:2446”]What about following effect? Let us choose x = 24 x 6 (one day - rather small, just for illustration). Imagine (just for example) there is 1,000,000 small stake-holders that together hold 10,000,000 PPC. (10 PPC per each). Remaining 10,000,000 PPC is distributed among 10 big stake-holders, 1000,000 PPC per each. It can happen that during one day, only small stakeholders will mint blocks. In such case, total stake of the minting club is only 144 x 10 = 1440 PPC. It will be very difficult for them to reach the target number of blocks. On the other hand it can happen, that 3 of the big stakeholders will be in the club of that day. In such case, the amount of PPC in the club is 141 x 10 + 1,000,000 x 3 = 3,001,410 PPC. They will reach the target very easily and then stop minting. For some, it will be very easy to reach the desired number of blocks and they will not mint above that number, for others it will be impossible.

You can say (and I think you did) that the threshold they have to reach depends on size of their stake. So for club with 3,001,410 PPC, the threshold might be 15 blocks per day, for the minting club with 1440 PPC, it could be 0.0075 blocks per day. But the small minting club, even in 90 days, will either produce one block (if they are lucky) or no blocks at all. There will be big fluctuations in their number of blocks and it will be hard to judge if they are minting.[/quote]
I would recommend to choose x as high as possible, since we want stackholders to keep on minting as long as possible and the law of the great number can be applied. But lets say we have to choose x=24*6, since otherwise there would be some tragedy of the commons - effect. Then indeed the minting club could get to small. But we would fix this easily by allowing all blockfinders to include “lucky stackholder” into the minting club, if the minting power of the minting club is to small. These lucky stackholders could be included exactly the same way as other lucky stackholder are included.

Maybe it could turn out that it is practical to include always so many lucky stackholders into the minting club, such that the minting club keeps round about 20% of the total minting power. I think this could be implemented and would fit into the proposed protocol, but I am not sure what exactly the pros and cons are.

These are problems you can encounter for small x. For bigger x (you mentioned x = 90*24*6), you can on the other hand encounter the tragedy of commons inside the minting club. The collective responsibility might make success of the minting clubs improbable.

Altogether, there is really a lot of things that can happen, it is really quite hard to see all ends. I will have to think about it some more.

You are right, collective responsibility might be a big problem. I am not sure about it.

But if the big stackholders of the minting club do not participate in the next x blocks, for sure they will not get their reward. Thus at least the big stackholders are in boat!

P.S. What happens if wallets inside the minting club transfer money? How does that translate into expected blocks threshold? Doesn't it bind minters not to spend their money? That would be quite serious disadvantage..
This is no problem. After x blocks the new blockfinder looks up how many coins have been in the minting club when the x-th, (x-1)-th, (x-2)-th,..., (x-x)-th have been found. And this number will be used to calculate the threshold.