Implement motions and transaction fee voting in Peercoin

I want to learn more. In Peercoin, who would decide what motion to vote on and what the voting alternatives are? Voting can be good, but if the agenda is controlled by a few it means less.

An example is two-party system. You can vote on “the white guy with banking relations” or “the other white guy sponsored by the military”.

Dont get me wrong. Right now weve got a benevolent dictator more or less. Im ok with that, I bought coins knowing that. If we are going to change that, lets make sure we make we dont introduce any weakness.

If the proposal was to integrate a system like grants in Peercoin, I would agree with this statement. Motions votes, however, only indicate the direction of consensus and do not (at current time) trigger anything in the protocol. Now that Jordan has removed the original provision to update the protocol to allow dynamically generated transaction fees, I believe the risk is minimal to the core application.[/quote]

Thanks for the explanation. Will anyone be able to vote on any motion and has the vote recorded in the block chain? Will this attract graffiti? Will this cause blockchain to bloat?

This voting only represents majority opinion of the minting coins, which is currently about 12% of all coins. Considering that it took half of the minting nodes more than a month to upgrade their client, I suspect the owners of most of the minting nodes don’t read the forum more often than once a month.
On the flip side I hope voting by minting will get more people to mint.

Nothing has changed, I’m still working on it. I did put it on hold before Nu release and now I work on it from time to time. Nu is still taking most of my time. I think it will be ready for testing before the end of the year though.

A nice with voting is that I might find out what btc-e decides to vote on, using other peoples money. Well if Im able to find out which address they are using and tie to the vote. If not, then I guess I wont find out.

Voting is less of an issue then the fact that they can stake. But its worth noticing.

Why am I being all negative and not going like “Yea, I’m behind this. Do it. Now!”?

A big issue Peercoin has is that it has a “benevolent dictator”. Much criticism is focusing on Sunny King’s power over selecting which blockchain is the correct one (something that is needed to protect the network before it is able to secure itself). The same could be argued about the fee… basically whether Sunny King think the fee should change or not, that’s what we get. This is also something I think is somewhat of a deterrent. In time this whole network will have to open up and become less centralized in its government. And I think it will.

If the network is supposed to be open source, decentralized and all that jazz, then how do we make sure this happens? Voting might be a first step towards that.

I very much like that Jordan Lee is trying to contribute to a solution to this. Proof-of-Stake is at its core based upon voting power (putting your stake behind the chain you believe in the most).

However, I think this kind of change should be studied in detail, all the risks we can think of should be brought into the discussion. Perhaps the NuBits voting process could be improved upon? Wouldn’t that be great? If there are improvement to be made, NuBits might also benefit from a critical study of the implications of voting procedures and so forth and so on.

I’m neither for or against voting yet, because I know to little about the implications or how it would work in Peercoin. This is why I’m raising my concerns.

@pillow: Your concerns are warranted, and questioning whether or not this is both a “need,” and a “correct implementation if it is a need” is wise.

The way it is implemented in Nu may not be the best implementation for Peercoin core, but it is a starting point for technical conversations. We know it is compatible, because Nu is, at its heart, a derivative of Peercoin, but that doesn’t mean that the design choices we made are the exact ones that would fit with the Peercoin protocol’s long-term goals.

One benefit of voting, as it is implemented in Nu, is it provides a secondary motivation to mint with your holdings. It’s my concern that Peercoin (right now) lacks the incentives to convince people that it is in their interests to mint. The seemingly widespread belief that minting isn’t “safe” and that cold-locked minting is required (which, in my opinion is just FUD) has done more harm than good by putting a lot of coins “out of play” and consolidating the network consensus in dangerous ways.

Anything that brings more people out is a good thing, right now. If the ability to cast a vote with a solved block raised minting participation by a few percent, everyone and the network as a whole is better for it.

Beautifully put

Absolutely anyone can present a motion for stakeholders to vote on. All one needs to do is publish the content of your motion and a RIPEMD-160 hash of it. It can be a block of text, or any type of file. Then stakeholders have the option of entering the hash of the motion in their client. When they mint a block, the hash representing the motion they are voting for is recorded in the blockchain.

This has caused a lot of people to reject Peercoin. While the infrastructure to centrally issue checkpoints may have been defensible in the early days of the network given that Peercoin was an experimental technology at the time, we are far past the point where it makes sense to have it. If we presume the best of intentions on the part of Sunny, how can we be sure the private key to issue a checkpoint won’t fall into the hands of a malicious person? What if Sunny were coerced into handing it over?

In Nu we removed centralized checkpoints. I’m confident proof of stake can work reliably even in a completely decentralized manner.

In accordance with this perspective we are removing the ability to accept a centrally issued checkpoint from the next version of Peerunity.

Anyone who mints a block can vote on any motion, which will be recorded in the blockchain.

Only the hash of the motion is included, so I don’t think the inclusion of meaningless messages will be a problem. Each motion vote requires 20 bytes of blockchain space. In Nu, we have limited the size of the vote to 1 kilobyte, which I suggest we do for Peercoin as well.

[quote=“Jordan Lee, post:29, topic:3030”]In Nu we removed centralized checkpoints. I’m confident proof of stake can work reliably even in a completely decentralized manner.

In accordance with this perspective we are removing the ability to accept a centrally issued checkpoint from the next version of Peerunity.[/quote]

Very interesting statements here…

A problem I foresee with the voting mechanism being used through the issued PoS blocks is the low rate of minting participation currently.

If a very large holder of peercoin wants to propose a motion they could leverage all their peercoins across multiple addresses to create many PoS blocks over the motion time frame in favor of the proposal. This single individual or entity could push peercoin into whatever direction they like as other users will keep their wallets cold locked and not minting. Moreover, users will continue to mint PoS blocks but not vote for the motion as they will not be informed on the voting matters. Could this proposal at the current state of the peercoin ecosystem be manipulated?

This has caused a lot of people to reject Peercoin. While the infrastructure to centrally issue checkpoints may have been defensible in the early days of the network given that Peercoin was an experimental technology at the time, we are far past the point where it makes sense to have it. If we presume the best of intentions on the part of Sunny, how can we be sure the private key to issue a checkpoint won’t fall into the hands of a malicious person? What if Sunny were coerced into handing it over?

In Nu we removed centralized checkpoints. I’m confident proof of stake can work reliably even in a completely decentralized manner.

In accordance with this perspective we are removing the ability to accept a centrally issued checkpoint from the next version of Peerunity.[/quote]

This is very good news! :slight_smile:

I support the proposal to merely implement a system for voting on motions.

[quote=“kschneezy, post:32, topic:3030”]A problem I foresee with the voting mechanism being used through the issued PoS blocks is the low rate of minting participation currently.

If a very large holder of peercoin wants to propose a motion they could leverage all their peercoins across multiple addresses to create many PoS blocks over the motion time frame in favor of the proposal. This single individual or entity could push peercoin into whatever direction they like as other users will keep their wallets cold locked and not minting. Moreover, users will continue to mint PoS blocks but not vote for the motion as they will not be informed on the voting matters. Could this proposal at the current state of the peercoin ecosystem be manipulated?[/quote]

This is why I was concerned about early adopters who got many coins for very little work. I don’t think many of these people are actively engaged in the community.

[quote=“teek, post:31, topic:3030”][quote=“Jordan Lee, post:29, topic:3030”]In Nu we removed centralized checkpoints. I’m confident proof of stake can work reliably even in a completely decentralized manner.

In accordance with this perspective we are removing the ability to accept a centrally issued checkpoint from the next version of Peerunity.[/quote]

Very interesting statements here…[/quote]

Something else I’d like to add is that we plan to permit data feed providers to issue a checkpoint. Anyone can start a data feed, as it basically just consists of publishing your vote. Any shareholder can choose any data feed provider, or none at all. This will allow the network to quickly effect a reorganization if shareholders believe it is needed, but in a decentralized manner.

Data feeds would be a natural next step for Peercoin as well.

[quote=“kschneezy, post:32, topic:3030”]A problem I foresee with the voting mechanism being used through the issued PoS blocks is the low rate of minting participation currently.

If a very large holder of peercoin wants to propose a motion they could leverage all their peercoins across multiple addresses to create many PoS blocks over the motion time frame in favor of the proposal. This single individual or entity could push peercoin into whatever direction they like as other users will keep their wallets cold locked and not minting. Moreover, users will continue to mint PoS blocks but not vote for the motion as they will not be informed on the voting matters. Could this proposal at the current state of the peercoin ecosystem be manipulated?[/quote]

Another perspective on the phenomena you are describing here is that people will have an incentive to mint as many blocks as possible, which will increase network security as a result of the higher minting rate. Nu minting rates are presently several times higher than Peercoin minting rates. This is partly due to the selection of motivated shareholders, but it is also a reflection of the better incentives in the Nu protocol. We can import most of these incentive improvements back into Peercoin. Motion voting is the first step in this process.

The motion voting period is one week, or 1000 blocks in Peercoin. That is enough time that if you see a vote progressing in a direction you don’t like, you can pull your stake out of cold storage and vote. This change invites more participation.

Peercoin holders not being informed of motion votes is an issue. The very next version of Nu (0.5.1) will contain simplified mechanisms for consuming voting data feeds. We should do the same thing with Peercoin motions. Anyone could publish their motion vote in real time, and it would be simple for any minter (eventually as easy as selecting it from a drop down list) to elect to use a data feed. This way, the minter doesn’t actually have to be aware of motions.

1000 blocks? How many voters? I feel that this motion thing concerns only the big stakeholders, I have no chance to mint anything in such a short period of time :slight_smile:

I don’t think it will be a major incentive for minting unless you need to vote for some important motions every week :wink:

But why not? I don’t think it will bloat the blockchain too much and might have some interesting use, we’ll see.

Could Sunny step on this and give his opinion?

1000 blocks? How many voters? I feel that this motion thing concerns only the big stakeholders, I have no chance to mint anything in such a short period of time :slight_smile:

I don’t think it will be a major incentive for minting unless you need to vote for some important motions every week :wink:

But why not? I don’t think it will bloat the blockchain too much and might have some interesting use, we’ll see.

Could Sunny step on this and give his opinion?[/quote]

A lot of people mint 1000 blocks within one week and 501 out of 1000 will win.

Jordan, do you have any type of relationship with Sunny when it comes to discussing the future Peercoin development? I know Sunny at least wasn’t made aware of what NuBits was until it released, so he was in the dark just like all of us. I’m just wondering if you are able to discuss these ideas freely with him via PM or email, or are you expecting him to state his position publicly? I’m assuming this is the first time you’ve brought this up.

If NuBits and Peercoin are going to be working together like this, I think it would be a good idea for Sunny to become more active in discussions like these. I know he’s busy working on big things like v0.5 and sidechains, but we also need him here giving his opinion on things like this and whether or not he would accept changes to Peercoin through motions.

I spoke with him about this a couple weeks ago. He asked me to open a discussion on it.