RE: How to Modify Steem Curation Such that Voting is Blind
Not bad.
The biggest barrier, from a user experience point of view, is the fact that users cannot simply vote and close their client for days and expect it all to work. One way around this is if the user trusts steemit.com to neither "front-run" them by using the information in the reveal to their advantage nor hurt them by refusing to broadcast, they can optionally send the signed reveal transaction (with sufficient expiration time far enough into the future) to steemit.com servers at the time of voting so that Steemit can then submit it to the blockchain at the appropriate time. The user choosing this path (which would not be mandatory) could even send the reveal transaction themselves (whether Steemit does or not) if they happen to be online at the right time, thus making Steemit act more as a backup plan.
Also, your commitment scheme seems on one hand unnecessarily complicated, and on the other hand not resistant to abuse enough. I would just use:
C = Hash(U || W || R )
where U
is the account name of the voter, and W
is the voting weight (from -100% to 100%). The U
is needed to prevent other users from simply copying the commitment of other big players they want to vote in a similar way to. The signed commitment transaction would of course be constructed to associate this commitment by the known voter to the particular post that it is voting for. The signed reveal transaction would be constructed to be associated with the commitment transaction.
I'm not so sure penalizing people for a contrarian vote is a good idea though. I agree there should be some penalty (not exactly sure of what) for not finishing the reveal process correctly. But I don't think someone simply voting against the trend should be penalized any more than the cost to their voting power to vote in the first place. So I am very hesitant on a reputation system where it can be taken away by the other curators for not voting with the crowd. The benefit to voting with consensus would be higher payout in curation rewards. The closer you are aligned with the consensus value, the higher your weight for the curation payout fraction (still weighted by your SP of course). So the only cost of a contrarian vote other than using some voting power would be opportunity cost, which is already the case today.
The advantage of hidden votes is that during a round, there is no trend established against which a voter would be contrarian.