ZEC Hldrs Group

I think you can handle most of these issues with a simple protocol.
To vote, you would need to make a “semi-valid” transaction that:

  • has an anchor set to a cut off height,
  • put a fee that is equal to the minimum amount required
  • have valid zkp and signatures but with a sighash algorithm that guarantees rejection from the network.

For example, let’s say 1000 zec is needed for 1 vote, 10 000 zec would give you potentially 10 votes.
1 month before the vote takes place, you have to make sure you don’t move your coins

When the vote takes place, the organizer publishes a shielded address and set the anchor at height - 1 month.

To vote, you publish a tx with a fee of 1000 zec. It can’t be mined because of the modified sighash, but anyone can check in zk that the inputs are at least worth 1000 zec, they were not spent and they have at least 1 month of age. Once the vote is over, the organizers can publish the fvk for full transparency.

You can’t ban people from specific organizations or devfund recipients, but I don’t think they should since they are holders just like anyone else. However, the process is anonymous and prevents double voting.

5 Likes