Skip to content

Commit

Permalink
docs(non-qv): update docs to reflect the integration of non-quadratic…
Browse files Browse the repository at this point in the history
… voting

Cleanup docs and add instructions of how to use non quadratic voting when processing and tallying
results
  • Loading branch information
ctrlc03 committed Feb 2, 2024
1 parent 236f2cf commit 35ff781
Show file tree
Hide file tree
Showing 3 changed files with 202 additions and 205 deletions.
10 changes: 9 additions & 1 deletion website/versioned_docs/version-v1.x/circuits.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ MACI has three main zk-SNARK [circuits](https://github.com/privacy-scaling-explo

1. [`ProcessMessages.circom`](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/processMessages.circom), which takes a batch of encrypted messages, decrypts them, and generates a proof that the coordinator's local processing was performed correctly.
2. [`TallyVotes.circom`](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/tallyVotes.circom), which counts votes from users' ballots, batch by batch.
3. [`Subsidy.circom`](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/subsidy.circom), which implements [pairwise subsidy](https://hackmd.io/@chaosma/H1_9xmT2K).
3. [`Subsidy.circom`](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/subsidy.circom), which implements [pairwise subsidy](https://hackmd.io/@chaosma/H1_9xmT2K). Please note this is an optional feature.

The rest of the circuits are utilities templates that are required for the main circuits to work correctly. These include utilities such as float math, conversion of private keys, and Poseidon hashing/encryption.

Expand Down Expand Up @@ -56,6 +56,10 @@ This circuit requires the coordinator's private key, hence a proof for this circ

![ProcessMessages](/img/circuits/processMessages.svg)

:::info
A version working with non quadratic voting (non-qv) is also available. This version is called `processMessagesNonQV` and is to be used when the Poll is not using the quadratic voting feature. Note that by default MACI works with quadratic voting.
:::

#### Parameters

| # | Parameter | Description |
Expand Down Expand Up @@ -181,6 +185,10 @@ This method requires fewer circuit constraints than if we verified a Merkle proo

![TallyVotes](/img/circuits/tallyVotes.svg)

:::info
A version working with non quadratic voting (non-qv) is also available. This version is called `tallyVotesNonQv` and is to be used when the Poll is not using the quadratic voting feature. Note that by default MACI works with quadratic voting.
:::

#### Input signals

| Input signal | Description |
Expand Down
Loading

0 comments on commit 35ff781

Please sign in to comment.