Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coin Voting ZIP #853

Open
wants to merge 111 commits into
base: main
Choose a base branch
from
Open

Coin Voting ZIP #853

wants to merge 111 commits into from

Conversation

hhanh00
Copy link

@hhanh00 hhanh00 commented May 28, 2024

I added the rendered html file because I couldn't find a suitable markdown renderer.
mdbook renders multiple files
github flavored markdown doesn't support callouts

hhanh00 and others added 30 commits May 28, 2024 15:20
Copy link
Collaborator

@str4d str4d left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial review of the draft at a high level, with @arya2, @conradoplg, and @daira. We have not yet reviewed the proposed process or any specification details.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action item: @daira to liaise with @hhanh00 to rebase this PR on current main (to remove the changes to other files, now that we have fixed the automatic renderer), and adjust the Markdown to render correctly within the ZIPs renderer.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hhanh00 per ZIP 0:

This draft must be [..] named with an alias such as draft-zatoshizakamoto-42millionzec until the ZIP Editors have assigned it a ZIP number (Owners MUST NOT self-assign ZIP numbers).

Rename this file to something like draft-hhanh00-coin-voting.md, and remove all references to the self-assigned ZIP number in outside locations.

Comment on lines +1 to +5
---
title: Coin Voting
breaks: false
tags: coin_voting
---
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per ZIP 0, there are several required headers that you need to include, as well as some optional headers that may be useful. A suggested header:

Suggested change
---
title: Coin Voting
breaks: false
tags: coin_voting
---
ZIP: TBD
Title: Coin Voting
Owners: Your Name <your@email>
Status: Draft
Category: Process / Ecosystem
Created: 2024-05-28 (or whenever the draft ZIP was first created outside the repo)
License: Pick one from https://zips.z.cash/zip-0000#zip-licensing
Discussions-To: Link to wherever this is being discussed (zcash/zips issue, forum thread, etc.)

tags: coin_voting
---

# Coin Voting
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per ZIP 0 and the ZIP guide, we don't have a top-level title that duplicates the header. This section appears to instead be the abstract:

Suggested change
# Coin Voting
# Abstract

This ZIP describes a mechanism for the organization of
coin-weighted election.

## Use Case
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A use cases section is useful (see e.g. #426 for an example of this):

Suggested change
## Use Case
# Use Case

However, a ZIP should also have a # Motivation section (see ZIP 0), so to the extent that content in this section is describing a general motivation for the ZIP rather than a specific use case, that content should be moved into a Motivation section before the Use Cases section.

If this section is intended to be the motivation, then rename it:

Suggested change
## Use Case
# Motivation

Comment on lines +123 to +124
A possible solution is suggested in
[Air drops, Proof-of-Balance, and Stake-weighted Polling](https://hackmd.io/ujald5ElTMumppM7juk2WA?both)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be replaced by a reference to draft-str4d-orchard-balance-proof.md once #848 has merged.

:::info
The EB publishes all ballots and their opening keys for verification
by auditors.
:::
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ZIP is missing a References section:

Suggested change
:::
:::
# References
TBD

- The EB MAY set special rules for the election. For example,
there MAY be a fee for casting a vote or a minimum ZEC requirement

## Privacy
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section currently describes how privacy issues could be solved. The ZIP will eventually instead need to address how privacy issues are solved.

Most of this content should be moved to a Security and Privacy Considerations section, that will evolve as the ZIP draft is updated to address privacy issues. The only paragraph that should remain here is the one that includes conformance requirements.

If there are open questions about how to solve concerns that are given in the Security and Privacy Considerations section, add an Open Questions section outlining them (that can become a topic for discussion).

Comment on lines +117 to +121
To mitigate this issue, the user SHOULD be offered to move
their coins after a vote. However, if multiple elections
are carried out concurrently with similar snapshot
heights, it will be impossible for a Voter to participate
in both without linking their votes.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the one paragraph that should stay in the Specification section.

Also, conformance requirements should be specific about what parties they place requirements upon:

Suggested change
To mitigate this issue, the user SHOULD be offered to move
their coins after a vote. However, if multiple elections
are carried out concurrently with similar snapshot
heights, it will be impossible for a Voter to participate
in both without linking their votes.
Wallets SHOULD offer to move their user's coins after a vote. However, if
multiple elections are carried out concurrently with similar snapshot heights,
it will be impossible for a Voter to participate in both without linking their
votes.

:::warning
The Voter SHOULD not reuse the signing key!
:::

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is where the Security and Privacy considerations section should go:

Suggested change
# Security and privacy considerations
TBD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants