Skip to content

Commit

Permalink
docs: grammar fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
samajammin committed Feb 19, 2024
1 parent e5f882e commit 7095052
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions website/blog/2024-02-28-maci-v1.2.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ This is our first release since [MACI v1.1.1](/blog/maci-v1-1-1-release) just ov

## Background

MACI - Minimal Anti-Collusion Infrastructure - is an application that provides privacy and collusion resistance for on-chain voting, both in a [quadratic](https://vitalik.eth.limo/general/2019/12/07/quadratic.html) and non-quadratic fashion. It was originally created after Vitalik's [resarch post](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413), and has been maintained and improved since thanks to support from the Ethereum Foundation.
MACI - Minimal Anti-Collusion Infrastructure - is an Ethereum application that provides privacy and collusion resistance for on-chain voting, both in a [quadratic](https://vitalik.eth.limo/general/2019/12/07/quadratic.html) and non-quadratic fashion. It was originally created after Vitalik's [resarch post](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413), and has been maintained and improved since thanks to support from the Ethereum Foundation.

The participants of a MACI voting process are: 1) the voters and 2) a trusted coordinator. The coordinator is in charge of setting up the system, computing the tally of the votes and ensuring everything is done in a fair manner.
The participants of a MACI voting process are: 1) the voters and 2) a trusted coordinator. The coordinator is in charge of setting up the system, deploying polls, and computing the tally of the votes. Through smart contracts and ZK-proofs, MACI ensures that everything is done in a fair manner.

Below are MACI's main properties.

Expand All @@ -33,7 +33,7 @@ Below are MACI's main properties.
| Non-repudiation | No one may modify or delete a vote after it is cast, although a user may cast another vote to nullify it. |
| Correct execution | No one, not even the trusted coordinator, should be able to produce a false tally of votes. |

MACI's effectiveness can be seen in projects such as [clr.fund](https://github.com/clrfund) and [QF](https://github.com/privacy-scaling-explorations/qf) - both quadratic funding implementations, a mechanism which otherwise is highly susceptible to collusion and bribery. Most notably, clr.fund is already working on integrating MACI v1.2, after having used v0.x until now. You can follow their development effort under this [GitHub branch](https://github.com/clrfund/monorepo/tree/feat/maci-v1).
MACI's effectiveness can be seen in projects such as [clr.fund](https://github.com/clrfund) and [QF](https://github.com/privacy-scaling-explorations/qf) - both quadratic funding implementations, a mechanism which otherwise is highly susceptible to collusion and bribery. Most notably, clr.fund is already working on integrating MACI v1.2.0, after having used v0.x until now. You can follow their development effort under this [GitHub branch](https://github.com/clrfund/monorepo/tree/feat/maci-v1).

If you're new to MACI, we first recommend referring to our [Technical Introduction to MACI](/blog/maci-1-0-technical-introduction) for a deep dive of MACI's technical details.

Expand All @@ -49,7 +49,7 @@ Key refactoring activities were:

### Library Updates

MACI has relied on custom code and dependencies since its initial implementation, notably from repositories by one of the original MACI developers, [Koh Wei Jie](https://github.com/weijiekoh). We felt that MACI could benefit from a dependency refresh, so we've shifted towards using actively maintained open-source libraries, such as [zk-kit](https://github.com/privacy-scaling-explorations/zk-kit) and [circomkit](https://github.com/erhant/circomkit).
MACI has relied on custom code and dependencies since its initial implementation, notably from repositories by one of the original MACI developers, [Koh Wei Jie](https://github.com/weijiekoh). We felt that MACI could benefit from a dependency refresh, so we've shifted towards using actively maintained open-source libraries, such as [circomkit](https://github.com/erhant/circomkit) and [zk-kit](https://github.com/privacy-scaling-explorations/zk-kit).

Circomkit has become our go-to for circuit-related tasks, such as compiling circuits, generating test zkeys, and unit tests.

Expand All @@ -74,52 +74,52 @@ These improvements aim to simplify the onboarding process for new developers, en

### Flexible Voting Strategies

After years built-in quadratic voting (QV) in MACI, we now support non-quadratic voting polls. This opens up the door to potential integrations with a wider variety of projects, such as DAO governance tooling.
After years of built-in quadratic voting (QV) in MACI, we now support non-quadratic voting polls. This opens up the door to potential integrations with a wider variety of projects, such as DAO governance applications.

The new version of the Tally circuit (specific for non-QV), has reduced constraints, providing a faster experience for MACI's coordinators generating proofs of vote tallying.
The new version of the Tally circuit (specific for non-QV), has reduced constraints, enabling a quicker proof generation process for vote tallying.

We invite projects interested in leveraging this secure, on-chain voting mechanism to reach out for potential integrations. We hope to continue to expand support for additional voting methodologies, so please let us know your project's needs!

### New Gatekeepers (EAS and Hats Protocol)

In our effort to fortify MACI against Sybil attacks, we've integrated two innovative gatekeeper mechanisms: EAS and Hats Protocol.
In our effort to fortify MACI against Sybil attacks, we've integrated two innovative gatekeeper mechanisms: [EAS](https://attest.sh/) and [Hats Protocol](https://www.hatsprotocol.xyz/).

As part of configuring a MACI deployment, the coordinator sets a user signup gatekeeper contract. This contract dictates the criteria a user must pass in order to participate in a poll. For example, user might need to prove ownership of a certain NFT, or prove that they have passed some sort of proof-of-personhood verification.

With the addition of these two new gatekeepers, [EAS](https://attest.sh/) and [Hats Protocol](https://www.hatsprotocol.xyz/), MACI instances could be configured to only allow Ethereum accounts with a trusted EAS attestation or those designated with a specific role by the Hats Protocol. These modules open up new avenues for access control strategies.
With the addition of these two new gatekeepers, EAS and Hats Protocol, MACI instances could be configured to e.g. only allow Ethereum accounts with a trusted EAS attestation or those designated with a specific role by the Hats Protocol. These modules open up new avenues for access control strategies.

We expect to continue to expand our gatekeeper capabilities and welcome the community to come up with new and innovative ways to grant access to MACI's rounds, helping make MACI more customizable and sybil-resilient.
We expect to continue to expand our [gatekeeper capabilities](https://github.com/privacy-scaling-explorations/maci/tree/dev/contracts/contracts/gatekeepers) and welcome the community to come up with new and innovative ways to grant access to MACI's rounds, helping make MACI more customizable and sybil-resilient.

### Documentation Website

We're excited to announce that all MACI documentation has been unified on our new website, [maci.pse.dev](https://maci.pse.dev/)!
We're excited to announce that all MACI documentation has been unified on our new website, [maci.pse.dev](/)!

This platform will serve as the definitive resource for all information related to MACI, including blog releases, documentation updates, and roadmap progress. Please report any inconsistencies you may find. As always, we welcome suggestions on how to make it better.

## Security Audit and Bug Fixes
## Security Audit

Thanks to a thorough review by PSE's internal audit team and clr.fund's core developer, [yuetloo](https://github.com/yuetloo), we've identified and addressed several bugs during our recent refactoring efforts.

Most notable, a critical bug in MACI v1.x discovered by [Kyle](https://github.com/kcharbo3), which could have allowed coordinators to censor votes, has been [fixed](https://github.com/privacy-scaling-explorations/maci/pull/1170).
Most notably, a critical bug in MACI v1.x discovered by [Kyle](https://github.com/kcharbo3), which could have allowed coordinators to censor votes, has been [fixed](https://github.com/privacy-scaling-explorations/maci/pull/1170).

For more details on our recent audit, please refer to the following report:
TODO ADD LINK TO AUDIT REPORT

After this audit and the resulting fixes, we feel more confident with MACI and its security.

### Upcoming Trusted Setup ceremony
## Trusted Setup Ceremony

Following the successful completion of our [MACI trusted setup ceremony](https://ceremony.pse.dev/projects/Maci%20v1%20Trusted%20Setup%20Ceremony) for [MACI v1.1.1](/blog/maci-v1-1-1-release), we are preparing for a new ceremony to cover the security enhancements added in our v1.2.0 circuits.

To accomplish this, we'll leverage the tooling of [P0tion](https://github.com/privacy-scaling-explorations/p0tion), which helps to streamline and automate Groth16 phase2 ceremonies.

We'll update this page after the ceremony completes to include the production-ready zkey artifacts. In the meantime, the artifacts for v.1.1.1 can be found on our [website](https://maci.pse.dev/docs/trusted-setup), and the [`tallyVotes`](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/tallyVotes.circom) artifacts can still be used in production.
We'll update this page after the ceremony completes to include the production-ready zkey artifacts. In the meantime, the artifacts for v.1.1.1 can be found on our [website](/docs/trusted-setup), and the [`tallyVotes`](https://github.com/privacy-scaling-explorations/maci/blob/dev/circuits/circom/tallyVotes.circom) artifacts can still be used in production.

## Get Involved

MACI is deeply committed to our community, through our open initiatives like [publishing public roadmaps](https://github.com/privacy-scaling-explorations/maci/discussions/859), transparent [repository management](https://github.com/privacy-scaling-explorations/maci/discussions/847), and an accessible Di[public Discord channel](https://discord.com/invite/sF5CT5rzrR) for interaction with our team.
MACI is deeply committed to our community, through our open initiatives like [publishing public roadmaps](https://github.com/privacy-scaling-explorations/maci/discussions/859), transparent [repository management](https://github.com/privacy-scaling-explorations/maci/discussions/847), and a [public Discord channel](https://discord.com/invite/sF5CT5rzrR) for interaction with our team.

With every issue, PR, feature and roadmap iteration, we welcome feedback to ensure that the continued development of MACI reflects your and the community's needs. Keep an eye out on our [documentation](https://maci.pse.dev/)[GitHub discussions](https://github.com/privacy-scaling-explorations/maci/discussions) and our official [Twitter/X account](https://twitter.com/zkMACI) for updates.
With every issue, PR, feature and roadmap iteration, we welcome feedback to ensure that the continued development of MACI reflects your and the community's needs. Keep an eye out on our [documentation](/)[GitHub discussions](https://github.com/privacy-scaling-explorations/maci/discussions) and our official [Twitter/X account](https://twitter.com/zkMACI) for updates.

For those looking to contribute directly, report bugs, or offer feedback, our [GitHub repository](https://github.com/privacy-scaling-explorations/maci) is open for issues and discussions. We're eager to assist with your projects or contributions.

Expand All @@ -130,7 +130,7 @@ For any other questions or feedback, please reach out to us via [PSE's Discord](
## References

- [MACI GitHub repository](https://github.com/privacy-scaling-explorations/maci)
- [MACI documentation](https://maci.pse.dev/)
- [MACI documentation](/docs/introduction)
- [A technical introduction to MACI 1.0 - Kyle Charbonnet](/blog/maci-1-0-technical-introduction)
- [Minimal anti-collusion infrastructure - Vitalik](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413)
- [Discord server](https://discord.com/invite/sF5CT5rzrR)
Expand Down

0 comments on commit 7095052

Please sign in to comment.