diff --git a/website/versioned_docs/version-v1.x/audit.md b/website/versioned_docs/version-v1.x/audit.md index 43c0ed7085..24a468083d 100644 --- a/website/versioned_docs/version-v1.x/audit.md +++ b/website/versioned_docs/version-v1.x/audit.md @@ -2,15 +2,15 @@ title: MACI Security Audits description: In the summer of 2022, MACI v1 was audited by HashCloak. The audit covered both the zk-SNARK circuits and the Solidity smart contracts. sidebar_label: Security Assessments -sidebar_position: 10 +sidebar_position: 11 --- # Security Audits ## Links -* Audit by HashCloak 2022/09 [report](/audit_reports/202220930_Hashcloak_audit_report.pdf) -* Audit by HashCloak 2021/09 [report](/audit_reports/20210922_Hashcloak_audit_report.pdf) +- Audit by HashCloak 2022/09 [report](/audit_reports/202220930_Hashcloak_audit_report.pdf) +- Audit by HashCloak 2021/09 [report](/audit_reports/20210922_Hashcloak_audit_report.pdf) ## HashCloak audit 2022 @@ -20,7 +20,7 @@ This audit revealed a number of high severity issues which have been remediated ## Data is not fully verified during a state update -This issue could have allowed a malicious coordinator to change the MACI state arbitrarily, for instance by tampering with the voice credits and the voting public key of any user. +This issue could have allowed a malicious coordinator to change the MACI state arbitrarily, for instance by tampering with the voice credits and the voting public key of any user. In more details, the `processMessages.circom` circuit, did not fully verify that after a state update, the new state was the result of executing an arbitrary number of user messages on the previous state. `topupStateLeaves` and `topupStateLeavesPathElements` were never verified against the current state, and `topupStateIndexes` and `topupAmounts` were not verified against the message root. @@ -44,7 +44,7 @@ function airdrop(uint256 amount) public onlyOwner { ## Integer overflow problem and improper bit length restriction -This issue within the `float.circom` circuit could have resulted in an overflow on the `IntegerDivision` template. This stemmed from the lack of validation of input size, as well as not preventing a division by zero. Furthemore, it was pointed out that using assert in circuits did not contribute to constraints verification, and could have been bypassed by a malicious coordinator. +This issue within the `float.circom` circuit could have resulted in an overflow on the `IntegerDivision` template. This stemmed from the lack of validation of input size, as well as not preventing a division by zero. Furthemore, it was pointed out that using assert in circuits did not contribute to constraints verification, and could have been bypassed by a malicious coordinator. The issue was rectified with commit [efd4617724e956d2566062c6fe882e1d45cba7c4](https://github.com/privacy-scaling-explorations/maci/pull/523/commits/efd4617724e956d2566062c6fe882e1d45cba7c4) @@ -112,7 +112,7 @@ The rest of the issues were successfully fixed and reflected in the v1.1.1. For In March 2023, Veridise responsibly disclosed a number of issues to the MACI team, which were identified using their new [tool](https://twitter.com/VeridiseInc/status/1630806464695791616?s=20) for catching ZK circuit bugs. -Out of five issues disclosed, only three were relevant and have been since fixed by the MACI team. The other two issues were disregarded as they were present in older version of code which is not in use anymore. +Out of five issues disclosed, only three were relevant and have been since fixed by the MACI team. The other two issues were disregarded as they were present in older version of code which is not in use anymore. We would like to thank you the Veridise team for their effort in keeping open source projects safe. @@ -122,7 +122,7 @@ We would like to thank you the Veridise team for their effort in keeping open so **Description** -In the template `QuinSelector`, if you want to confirm the input signal index is a valid integer less than 2**3, you should add Num2bits(3) to check it. +In the template `QuinSelector`, if you want to confirm the input signal index is a valid integer less than 2\*\*3, you should add Num2bits(3) to check it. **Code Location** @@ -139,7 +139,7 @@ component lessThan = SafeLessThan(3); This was fixed by adding a new Template, `SafeLesThan` which uses `Num2Bits` as further check on the signals: -```javascript +```javascript // the implicit assumption of LessThan is both inputs are at most n bits // so we need add range check for both inputs template SafeLessThan(n) { @@ -160,7 +160,6 @@ template SafeLessThan(n) { } ``` - ### Issue 2 **Description** @@ -194,7 +193,7 @@ template SafeGreaterThan(n) { And then used it to constrain the [`index` input signal](https://github.com/chaosma/maci/blob/2d7a3a0efd33dfc3a5f4d3f95bec3adda7abb963/circuits/circom/trees/incrementalQuinTree.circom#L115-L117): -```javascript +```javascript greaterThan[i] = SafeGreaterThan(3); greaterThan[i].in[0] <== i; greaterThan[i].in[1] <== index; @@ -214,7 +213,7 @@ In the template `QuinGeneratePathIndices`, the constrains of the `signal n[level The [updated code](https://github.com/chaosma/maci/blob/2d7a3a0efd33dfc3a5f4d3f95bec3adda7abb963/circuits/circom/trees/incrementalQuinTree.circom#L285-L290) uses the `SafeLessThen` template, as shown below: -```javascript +```javascript for (var i = 0; i < levels; i ++) { // Check that each output element is less than the base leq[i] = SafeLessThan(3); diff --git a/website/versioned_docs/version-v1.x/ci-pipeline.md b/website/versioned_docs/version-v1.x/ci-pipeline.md index f194679126..e328c3e950 100644 --- a/website/versioned_docs/version-v1.x/ci-pipeline.md +++ b/website/versioned_docs/version-v1.x/ci-pipeline.md @@ -2,7 +2,7 @@ title: CI Pipeline description: Introduction to how MACI's CI works sidebar_label: CI -sidebar_position: 11 +sidebar_position: 12 --- # Continuous Integration (CI) Pipeline @@ -11,12 +11,11 @@ CI (Continuous Integration) pipeline is an automated workflow to ensure that sof ![cicd-maci drawio-7](https://user-images.githubusercontent.com/1610146/185962260-091cd952-5444-44f3-89e3-be64e81d4c21.png) - ## Pipeline Triggers ### Commit to Main Branch -Each commit (i.e. a merged PR) to the main branch triggers the pipeline. The pipeline creates packages that can be deployed to any environment. Packages are uploaded to an artifact repository (e.g. npm). +Each commit (i.e. a merged PR) to the main branch triggers the pipeline. The pipeline creates packages that can be deployed to any environment. Packages are uploaded to an artifact repository (e.g. npm). ![cicd-maci drawio-12](https://user-images.githubusercontent.com/1610146/183404579-8bcb76fe-34b6-4748-a5ae-e2e4b010bd86.png) @@ -26,7 +25,6 @@ When a pull request has been created (or updated), it triggers the PR pipeline. ![cicd-maci drawio-9](https://user-images.githubusercontent.com/1610146/183391880-d3a20f29-2708-4d72-988d-4781c0396e48.png) - ### Nightly Nightly build runs every midnight. It is to ensure that all required dependencies are present and to show no bugs have been introduced. @@ -38,5 +36,3 @@ Nightly build runs every midnight. It is to ensure that all required dependencie When a tag has been pushed, it triggers a release pipeline. It will draft a release note with an auto-generated changelog and publish npm package(s). ![cicd-maci drawio-5](https://user-images.githubusercontent.com/1610146/185958513-51dadaf1-7f72-404b-b482-149b91edcaab.png) - - diff --git a/website/versioned_docs/version-v1.x/circuits.md b/website/versioned_docs/version-v1.x/circuits.md index 6ce1b0ddf6..9db61bbb88 100644 --- a/website/versioned_docs/version-v1.x/circuits.md +++ b/website/versioned_docs/version-v1.x/circuits.md @@ -2,7 +2,7 @@ title: MACI Circuits description: Introduction to the core zk-SNARK circuits of MACI sidebar_label: Circuits -sidebar_position: 6 +sidebar_position: 7 --- # Circuits diff --git a/website/versioned_docs/version-v1.x/cli.md b/website/versioned_docs/version-v1.x/cli.md index a46a7c3b32..c3759b1d74 100644 --- a/website/versioned_docs/version-v1.x/cli.md +++ b/website/versioned_docs/version-v1.x/cli.md @@ -2,7 +2,7 @@ title: MACI Command-line interface (CLI) description: Introduction to the MACI CLI interface that allows for effective deployment and testing sidebar_label: Command-line interface -sidebar_position: 4 +sidebar_position: 5 --- # Command-line interface @@ -253,7 +253,7 @@ node/build.js genProofs \ --tally-zkey "$ZKEYS_DIR"/TallyVotes_"$TALLY_VOTES_PARAMS".0.zkey \ --tally-file tally.json \ --output proofs/ \ - --state-file localState.json + --state-file localState.json ``` ### Coordinator: prove on chain diff --git a/website/versioned_docs/version-v1.x/contracts.md b/website/versioned_docs/version-v1.x/contracts.md index 9d098de73c..f3554f17cd 100644 --- a/website/versioned_docs/version-v1.x/contracts.md +++ b/website/versioned_docs/version-v1.x/contracts.md @@ -2,7 +2,7 @@ title: MACI Smart Contracts description: MACI is composed of multiple smart contracts, which together with the zk-SNARK circuits, can be used to carry out on-chain voting sidebar_label: Smart Contracts -sidebar_position: 5 +sidebar_position: 6 --- # Smart Contracts diff --git a/website/versioned_docs/version-v1.x/installation.md b/website/versioned_docs/version-v1.x/installation.md index 2b5453b4de..a9ddd180c5 100644 --- a/website/versioned_docs/version-v1.x/installation.md +++ b/website/versioned_docs/version-v1.x/installation.md @@ -2,10 +2,9 @@ title: Installing MACI description: How to install MACI sidebar_label: Installation -sidebar_position: 2 +sidebar_position: 3 --- - # Installation ## Requirements @@ -13,7 +12,7 @@ sidebar_position: 2 You need the following to use MACI: - Node.js: use [`nvm`](https://github.com/nvm-sh/nvm) to install it. MACI has - been tested with Node 14, 16 and 18. We do however recommend to use Node 18 as Node 14 is deprecated and Node 16 will soon be deprecated too. + been tested with Node 14, 16 and 18. We do however recommend to use Node 18 as Node 14 is deprecated and Node 16 will soon be deprecated too. - The [`rapidsnark`](https://github.com/iden3/rapidsnark) tool if running on an intel chip (this allows for faster proof generation vs snarkjs). > Note that MACI works on Linux and MacOS. It has not been tested on Windows, however it should work on Windows Subsystem for Linux (WSL). Keep in mind that when using MACI e2e on a non intel chip, you will not be able to use rapidsnark and will have to use snarkjs instead. This will result in slower proof generation. @@ -62,6 +61,7 @@ npm run build ``` + Install dependencies for and `zkey-manager`: ```bash @@ -74,7 +74,6 @@ Edit `cli/zkeys.config.yml` to include the relative path to the circom binary. ```yml - --- circomPath: "RELATIVE_PATH_TO_CIRCOM" ``` diff --git a/website/versioned_docs/version-v1.x/integrating.md b/website/versioned_docs/version-v1.x/integrating.md index 54ef2cb5f3..83c8c362b5 100644 --- a/website/versioned_docs/version-v1.x/integrating.md +++ b/website/versioned_docs/version-v1.x/integrating.md @@ -2,10 +2,10 @@ title: Integrating MACI description: How to integrate MACI into your application sidebar_label: Integrating -sidebar_position: 9 +sidebar_position: 10 --- -# Integrating MACI +# Integrating MACI MACI can be used in any protocol that requires collusion resistance, for instance it has been proven to be quite efficient when integrated in quadratic funding applications such as [clr.fund](https://github.com/clrfund/monorepo) and [qfi](https://github.com/quadratic-funding/qfi/tree/feat/code-freeze). diff --git a/website/versioned_docs/version-v1.x/primitives.md b/website/versioned_docs/version-v1.x/primitives.md index 3b9ea30521..534fc0b5a8 100644 --- a/website/versioned_docs/version-v1.x/primitives.md +++ b/website/versioned_docs/version-v1.x/primitives.md @@ -2,7 +2,7 @@ title: MACI Primitives description: A short introduction of the main primitives used by MACI sidebar_label: Primitives -sidebar_position: 3 +sidebar_position: 4 --- ## MACI primitives diff --git a/website/versioned_docs/version-v1.x/release.md b/website/versioned_docs/version-v1.x/release.md index b109f1c696..099e3d12a7 100644 --- a/website/versioned_docs/version-v1.x/release.md +++ b/website/versioned_docs/version-v1.x/release.md @@ -2,7 +2,7 @@ title: Release process description: How MACI's release process works sidebar_label: MACI Release process -sidebar_position: 12 +sidebar_position: 13 --- # Maci Release Process @@ -47,7 +47,6 @@ git commit --message "chore(release): publish 1.2.3" After the pull request has been merged: - 8. Retrieve merged commit 9. Add a tag: @@ -68,12 +67,12 @@ Once the tag is pushed, GitHub Actions will automatically publish the packages t The following packages will be published on npm.js: -* maci-circuits -* maci-cli -* maci-common -* maci-contracts -* maci-core -* maci-crypto -* maci-domainobjs -* maci-integrationtests -* maci-server \ No newline at end of file +- maci-circuits +- maci-cli +- maci-common +- maci-contracts +- maci-core +- maci-crypto +- maci-domainobjs +- maci-integrationtests +- maci-server diff --git a/website/versioned_docs/version-v1.x/testing.md b/website/versioned_docs/version-v1.x/testing.md index b560f2b2e3..6e460960b2 100644 --- a/website/versioned_docs/version-v1.x/testing.md +++ b/website/versioned_docs/version-v1.x/testing.md @@ -2,7 +2,7 @@ title: Testing MACI description: How to test MACI sidebar_label: Testing -sidebar_position: 8 +sidebar_position: 9 --- # Testing @@ -36,7 +36,6 @@ npm run test-accQueue This test command will run `AccQueue.test.ts` - ## Contracts First, compile the contracts. @@ -139,149 +138,146 @@ npm run test The followingcompiled circuits and zkeys are available to download: -* [Prod](#prod-size) (`7-9-3-4`) -* [Micro](#micro-size) (`10-2-1-2`) -* [Small](#small-size) (`4-6-3-4`) -* [Medium](#medium-size) (`7-7-3-3`) -* [6-8-3-3](#6-8-3-3) +- [Prod](#prod-size) (`7-9-3-4`) +- [Micro](#micro-size) (`10-2-1-2`) +- [Small](#small-size) (`4-6-3-4`) +- [Medium](#medium-size) (`7-7-3-3`) +- [6-8-3-3](#6-8-3-3) ### Dependency (if running on intel chip and using rapidsnark) -* glibc 2.11 (Default of Ubuntu 20.04 LTS) +- glibc 2.11 (Default of Ubuntu 20.04 LTS) ## Prod Size -* [zkeys-7-9-3-4.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-9-3-4/zkeys_7-9-3-4_glibc-211.tar.gz) (2.8 GB) -* [ProcessMessages_7-9-3-4_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-9-3-4/ProcessMessages_7-9-3-4_test.0.zkey) (3.8 GB) - * generated using `powersOfTau28_hez_final_22.ptau` -* [TallyVotes_7-3-4_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-9-3-4/TallyVotes_7-3-4_test.0.zkey) (8.5 GB) - * generated using `powersOfTau28_hez_final_23.ptau` +- [zkeys-7-9-3-4.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-9-3-4/zkeys_7-9-3-4_glibc-211.tar.gz) (2.8 GB) +- [ProcessMessages_7-9-3-4_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-9-3-4/ProcessMessages_7-9-3-4_test.0.zkey) (3.8 GB) + - generated using `powersOfTau28_hez_final_22.ptau` +- [TallyVotes_7-3-4_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-9-3-4/TallyVotes_7-3-4_test.0.zkey) (8.5 GB) + - generated using `powersOfTau28_hez_final_23.ptau` ### Message processing -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 7 | Allows 78,125 signups. | -| Message tree depth | 9 | Allows 1,953,125 votes or key-change messages. | -| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | -| Vote option tree depth | 4 | Allows 625 vote options. | +| Parameter | Value | Description | +| ------------------------ | ----- | ---------------------------------------------- | +| State tree depth | 7 | Allows 78,125 signups. | +| Message tree depth | 9 | Allows 1,953,125 votes or key-change messages. | +| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | +| Vote option tree depth | 4 | Allows 625 vote options. | ### Vote tallying -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 7 | Allows 78,125 signups. | -| State leaf batch depth | 3 | Allows 125 user's votes to be processed per batch. | -| Message batch tree depth | 4 | Allows 625 messages to be processed per batch. | +| Parameter | Value | Description | +| ------------------------ | ----- | -------------------------------------------------- | +| State tree depth | 7 | Allows 78,125 signups. | +| State leaf batch depth | 3 | Allows 125 user's votes to be processed per batch. | +| Message batch tree depth | 4 | Allows 625 messages to be processed per batch. | ## Micro size -* [zkeys_10-2-1-2_glibc-211.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/10-2-1-2/zkeys_10-2-1-2_glibc-211.tar.gz) (403 MB) -* [ProcessMessages_10-2-1-2_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/10-2-1-2/ProcessMessages_10-2-1-2_test.0.zkey) (190 MB) -* [TallyVotes_10-1-2_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/10-2-1-2/TallyVotes_10-1-2_test.0.zkey) (71 MB) -* [SubsidyPerBatch_10-1-2_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/10-2-1-2/SubsidyPerBatch_10-1-2_test.0.zkey) (202 MB) +- [zkeys_10-2-1-2_glibc-211.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/10-2-1-2/zkeys_10-2-1-2_glibc-211.tar.gz) (403 MB) +- [ProcessMessages_10-2-1-2_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/10-2-1-2/ProcessMessages_10-2-1-2_test.0.zkey) (190 MB) +- [TallyVotes_10-1-2_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/10-2-1-2/TallyVotes_10-1-2_test.0.zkey) (71 MB) +- [SubsidyPerBatch_10-1-2_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/10-2-1-2/SubsidyPerBatch_10-1-2_test.0.zkey) (202 MB) `*.zkey` files are generated using `powersOfTau28_hez_final_20.ptau` ### Message processing -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 10 | Allows 9,765,625 signups. | -| Message tree depth | 2 | Allows 25 votes or key-change messages. | -| Message batch tree depth | 1 | Allows 5 messages to be processed per batch. | -| Vote option tree depth | 2 | Allows 25 vote options. | +| Parameter | Value | Description | +| ------------------------ | ----- | -------------------------------------------- | +| State tree depth | 10 | Allows 9,765,625 signups. | +| Message tree depth | 2 | Allows 25 votes or key-change messages. | +| Message batch tree depth | 1 | Allows 5 messages to be processed per batch. | +| Vote option tree depth | 2 | Allows 25 vote options. | ### Vote tallying -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 10 | Allows 9,765,625 signups. | -| State leaf batch depth | 1 | Allows 5 user's votes to be processed per batch. | -| Message batch tree depth | 2 | Allows 25 messages to be processed per batch. | +| Parameter | Value | Description | +| ------------------------ | ----- | ------------------------------------------------ | +| State tree depth | 10 | Allows 9,765,625 signups. | +| State leaf batch depth | 1 | Allows 5 user's votes to be processed per batch. | +| Message batch tree depth | 2 | Allows 25 messages to be processed per batch. | ## Small size -* [zkeys_4-6-3-4_glibc-211.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/4-6-3-4/zkeys_4-6-3-4_glibc-211.tar.gz) (2.6 GB) -* [ProcessMessages_4-6-3-4_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/4-6-3-4/ProcessMessages_4-6-3-4_test.0.zkey) (2.9 GB) - * generated using `powersOfTau28_hez_final_22.ptau` -* [TallyVotes_4-3-4_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/4-6-3-4/TallyVotes_4-3-4_test.0.zkey) (8.5 GB) - * generated using `powersOfTau28_hez_final_23.ptau` - - +- [zkeys_4-6-3-4_glibc-211.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/4-6-3-4/zkeys_4-6-3-4_glibc-211.tar.gz) (2.6 GB) +- [ProcessMessages_4-6-3-4_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/4-6-3-4/ProcessMessages_4-6-3-4_test.0.zkey) (2.9 GB) + - generated using `powersOfTau28_hez_final_22.ptau` +- [TallyVotes_4-3-4_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/4-6-3-4/TallyVotes_4-3-4_test.0.zkey) (8.5 GB) + - generated using `powersOfTau28_hez_final_23.ptau` ### Message processing -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 4 | Allows 625 signups. | -| Message tree depth | 6 | Allows 15,625 votes or key-change messages. | -| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | -| Vote option tree depth | 4 | Allows 625 vote options. | +| Parameter | Value | Description | +| ------------------------ | ----- | ---------------------------------------------- | +| State tree depth | 4 | Allows 625 signups. | +| Message tree depth | 6 | Allows 15,625 votes or key-change messages. | +| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | +| Vote option tree depth | 4 | Allows 625 vote options. | ### Vote tallying -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 4 | Allows 9,765,625 signups. | -| State leaf batch depth | 3 | Allows 125 user's votes to be processed per batch. | -| Message batch tree depth | 4 | Allows 625 messages to be processed per batch. | - +| Parameter | Value | Description | +| ------------------------ | ----- | -------------------------------------------------- | +| State tree depth | 4 | Allows 9,765,625 signups. | +| State leaf batch depth | 3 | Allows 125 user's votes to be processed per batch. | +| Message batch tree depth | 4 | Allows 625 messages to be processed per batch. | ## Medium size -* [zkeys_7-7-3-3_glibc-211.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-7-3-3/zkeys_7-7-3-3_glibc-211.tar.gz) (4.9 GB) -* [ProcessMessages_7-7-3-3_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-7-3-3/ProcessMessages_7-7-3-3_test.0.zkey) (2.2 GB) - * generated using `powersOfTau28_hez_final_22.ptau` -* [TallyVotes_7-3-3_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-7-3-3/TallyVotes_7-3-3_test.0.zkey) (884 MB) - * generated using `powersOfTau28_hez_final_22.ptau` +- [zkeys_7-7-3-3_glibc-211.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-7-3-3/zkeys_7-7-3-3_glibc-211.tar.gz) (4.9 GB) +- [ProcessMessages_7-7-3-3_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-7-3-3/ProcessMessages_7-7-3-3_test.0.zkey) (2.2 GB) + - generated using `powersOfTau28_hez_final_22.ptau` +- [TallyVotes_7-3-3_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/7-7-3-3/TallyVotes_7-3-3_test.0.zkey) (884 MB) + - generated using `powersOfTau28_hez_final_22.ptau` ### Message processing -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 7 | Allows 78,125 signups. | -| Message tree depth | 7 | Allows 78,125 votes or key-change messages. | -| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | -| Vote option tree depth | 3 | Allows 125 vote options. | +| Parameter | Value | Description | +| ------------------------ | ----- | ---------------------------------------------- | +| State tree depth | 7 | Allows 78,125 signups. | +| Message tree depth | 7 | Allows 78,125 votes or key-change messages. | +| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | +| Vote option tree depth | 3 | Allows 125 vote options. | ### Vote tallying -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 7 | Allows 78,125 signups. | -| State leaf batch depth | 3 | Allows 125 user's votes to be processed per batch. | -| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | - +| Parameter | Value | Description | +| ------------------------ | ----- | -------------------------------------------------- | +| State tree depth | 7 | Allows 78,125 signups. | +| State leaf batch depth | 3 | Allows 125 user's votes to be processed per batch. | +| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | ## 6-8-3-3 -* [zkeys_6-8-3-3_glibc-211.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/6-8-3-3/zkeys_6-8-3-3_glibc-211.tar.gz) (1.1 GB) -* [ProcessMessages_6-8-3-3_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/6-8-3-3/ProcessMessages_6-8-3-3_test.0.zkey) (3.4 GB) - * generated using `powersOfTau28_hez_final_22.ptau` -* [TallyVotes_6-3-3_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/6-8-3-3/TallyVotes_6-3-3_test.0.zkey) (1.8 MB) - * generated using `powersOfTau28_hez_final_22.ptau` +- [zkeys_6-8-3-3_glibc-211.tar.gz](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/6-8-3-3/zkeys_6-8-3-3_glibc-211.tar.gz) (1.1 GB) +- [ProcessMessages_6-8-3-3_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/6-8-3-3/ProcessMessages_6-8-3-3_test.0.zkey) (3.4 GB) + - generated using `powersOfTau28_hez_final_22.ptau` +- [TallyVotes_6-3-3_test.0.zkey](https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v1.1.1-aa4ba27/6-8-3-3/TallyVotes_6-3-3_test.0.zkey) (1.8 MB) + - generated using `powersOfTau28_hez_final_22.ptau` ### Message processing -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 6 | Allows 15,625 signups. | -| Message tree depth | 8 | Allows 390,625 votes or key-change messages. | -| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | -| Vote option tree depth | 3 | Allows 125 vote options. | +| Parameter | Value | Description | +| ------------------------ | ----- | ---------------------------------------------- | +| State tree depth | 6 | Allows 15,625 signups. | +| Message tree depth | 8 | Allows 390,625 votes or key-change messages. | +| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | +| Vote option tree depth | 3 | Allows 125 vote options. | ### Vote tallying -| Parameter | Value | Description | -|-----------|-------| ----------- | -| State tree depth | 7 | Allows 15,625 signups. | -| State leaf batch depth | 3 | Allows 125 user's votes to be processed per batch. | -| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | +| Parameter | Value | Description | +| ------------------------ | ----- | -------------------------------------------------- | +| State tree depth | 7 | Allows 15,625 signups. | +| State leaf batch depth | 3 | Allows 125 user's votes to be processed per batch. | +| Message batch tree depth | 3 | Allows 125 messages to be processed per batch. | ## contents of `*.tar.gz` It contains compiled result of the circuit: + ``` zkeys/ zkeys/ProcessMessages_7-9-3-4_test.sym @@ -340,15 +336,15 @@ zkeys/TallyVotes_7-3-4_test ## Contribution Hash -* [ProcessMessages_4-6-3-4_test.0.zkey](#ProcessMessages_4-6-3-4_test0zkey) -* [TallyVotes_4-3-4_test.0.zkey](#TallyVotes_4-3-4_test0zkey) -* [ProcessMessages_7-9-3-4_test.0.zkey](#ProcessMessages_7-9-3-4_test0zkey) -* [TallyVotes_7-3-3_test.0.zkey](#TallyVotes_7-3-4_test0zkey) -* [ProcessMessages_10-2-1-2_test.0.zkey](#ProcessMessages_10-2-1-2_test0zkey) -* [TallyVotes_7-3-3_test.0.zkey](#TallyVotes_7-3-3_test0zkey) -* [SubsidyPerBatch_10-1-2_test.0.zkey](#SubsidyPerBatch_10-1-2_test0zkey) -* [ProcessMessages_7-7-3-3_test.0.zkey](#ProcessMessages_7-7-3-3_test0zkey) -* [TallyVotes_7-3-3_test.0.zkey](#TallyVotes_7-3-3_test0zkey) +- [ProcessMessages_4-6-3-4_test.0.zkey](#ProcessMessages_4-6-3-4_test0zkey) +- [TallyVotes_4-3-4_test.0.zkey](#TallyVotes_4-3-4_test0zkey) +- [ProcessMessages_7-9-3-4_test.0.zkey](#ProcessMessages_7-9-3-4_test0zkey) +- [TallyVotes_7-3-3_test.0.zkey](#TallyVotes_7-3-4_test0zkey) +- [ProcessMessages_10-2-1-2_test.0.zkey](#ProcessMessages_10-2-1-2_test0zkey) +- [TallyVotes_7-3-3_test.0.zkey](#TallyVotes_7-3-3_test0zkey) +- [SubsidyPerBatch_10-1-2_test.0.zkey](#SubsidyPerBatch_10-1-2_test0zkey) +- [ProcessMessages_7-7-3-3_test.0.zkey](#ProcessMessages_7-7-3-3_test0zkey) +- [TallyVotes_7-3-3_test.0.zkey](#TallyVotes_7-3-3_test0zkey) ### ProcessMessages_4-6-3-4_test.0.zkey @@ -359,7 +355,6 @@ zkeys/TallyVotes_7-3-4_test 325cfc06 cb1ac909 38b2e5ff 22b34333 ``` - ### TallyVotes_4-3-4_test.0.zkey ``` @@ -378,7 +373,6 @@ f3a8a155 cd338e2c 5f364836 bfd7913d b1094e74 b8aaa9a3 9af75b22 0d9229e6 ``` - ### TallyVotes_7-3-4_test.0.zkey ``` @@ -397,7 +391,6 @@ f44cf32e 1709e2c4 c8dbe8dc 5b6de4be 1c2c2662 20e0df3d 12a057f3 2a071937 ``` - ### TallyVotes_10-1-2_test.0.zkey ``` @@ -425,7 +418,6 @@ cda175f9 b786c4eb 44453080 369ab861 a0f752f8 413a81ba f481d335 187e0091 ``` - ### TallyVotes_7-3-3_test.0.zkey ``` diff --git a/website/versioned_docs/version-v1.x/troubleshooting.md b/website/versioned_docs/version-v1.x/troubleshooting.md index 518fd099b1..8df32136ed 100644 --- a/website/versioned_docs/version-v1.x/troubleshooting.md +++ b/website/versioned_docs/version-v1.x/troubleshooting.md @@ -2,7 +2,7 @@ title: Troubleshooting description: How to troubleshoot MACI's failures sidebar_label: Troubleshooting -sidebar_position: 13 +sidebar_position: 14 --- # Troubleshooting @@ -45,7 +45,8 @@ Error: Error executing ./zkeys/ProcessMessages_10-2-1-2_test /tmp/tmp-9904-zG0k8 ``` You can generate the missing `.dat` files using the following command: + ``` cd cli/ npx zkey-manager compile -c zkeys.config.yml -``` \ No newline at end of file +``` diff --git a/website/versioned_docs/version-v1.x/trusted-setup.md b/website/versioned_docs/version-v1.x/trusted-setup.md index 6e89fb98f5..65ef047daa 100644 --- a/website/versioned_docs/version-v1.x/trusted-setup.md +++ b/website/versioned_docs/version-v1.x/trusted-setup.md @@ -2,7 +2,7 @@ title: MACI Trusted Setup description: Introduction to the MACI multi-party trusted setup sidebar_label: Trusted Setup -sidebar_position: 7 +sidebar_position: 8 --- # Trusted setup