Skip to main content
Version: v1.2

Coordinator local processing

The coordinator is responsible for processing and tallying messages locally, before generating proofs that this was done correctly using the zk-SNARK circuits.

To summarize, the coordinator's goal here is to process all of the messages that were submitted by MACI's voters, then tally the votes based on the valid vote messages. Furthermore, each batch processed should be able to be verified by a zk-SNARK proof.

Which MACI's components are involved

The following diagram, shows which components are involved and at which step of the way

components involved

What does the process look like?


Zooming in..

Message processing

message processing

Vote tallying

vote tallying

What does the process look like when including the zk-SNARK proofs

Process of completing a Poll

processing with proofs

Process of generating proofs

generating proofs

Tally commitments

tally commitments