How would consensus voting look on Zenon

I wish I knew of an equitable way (1 human = 1 vote) to achieve virtual polling but I can’t think of one that doesn’t involve kyc measures => basically Proof of Humanity. Instead, the next best thing is weighted voting. Remember that time we won a blockchain popularity contest? Mitigating Sybil attacks is hard.

Anyways, I’ve considered this problem for Zenon and I’ll address the points in the OP.

  1. I like the idea of using this forum for some* voting purposes. Ideally, we would have a similar voting mechanism natively in Syrius (see #2). My suggestion would be to host polls for community-related topics on this forum and authenticate votes with Zenon signatures. I think I have a proof-of-address PoC here. I wrote a Dart script to derive the source address from a signature generated by Syrius. We can use this or port it to znn.js (I don’t think the signing methods have been written yet) and use it as logic to empower a forum voting system. As Dumeril mentioned, I also don’t think it will require a smart contract to achieve this, but we might need a custom Discourse plugin and a Syrius feature implementation for browser URI calls that interact with the wallet (I think vilkris is working on this). I’d also propose a snapshot of UTXOs at the time the poll; this allows for weighted voting and eliminates some sybil attack surface.

    *I’m not sure how I feel about this approach of using a centralized voting system for Zenon code/protocol/consensus changes…

  2. Agreeing with Dumeril here. It’s a lift for znnd and syrius but I believe it’s 100% worth the effort to have seamless voting in our official wallet. I believe this is feasible today, but it would require devs who are comfortable with Dart+Flutter and Go. I may be able to contribute to this change.

  3. Similar to #1 post (including what I wrote ^) but instead of waiting for the URI feature to be implemented, members can manually type their vote in Syrius>Sign and paste the signature+pkey in the Discourse plugin to submit their vote. IMO this is the path to an MVP for authenticated address voting on the forum.

  4. I initially thought this was a bad idea due to token clutter, but that could be fixed with a Syrius UI update… I’ll ponder on it and get back to you on this.

  5. We could potentially use the data field in transactions to embed a vote, similar to how the Zenon Wall works. I’m personally trying to update the Transfer page in Syrius to include an optional message but I still can’t build Syrius. I’ll succeed eventually.

4 Likes