Skip to content

Commit

Permalink
docs: update sidebar indexes
Browse files Browse the repository at this point in the history
  • Loading branch information
samajammin committed Feb 26, 2024
1 parent f04ace4 commit 4624360
Show file tree
Hide file tree
Showing 21 changed files with 27 additions and 25 deletions.
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI Security Audits
description: Overview of MACI audit history with references to audit reports.
sidebar_label: Security audits
sidebar_position: 12
sidebar_position: 14
---

# MACI Security Audits
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/ci-pipeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: CI Pipeline
description: Introduction to how MACI's CI works
sidebar_label: CI
sidebar_position: 13
sidebar_position: 15
---

# Continuous Integration (CI) Pipeline
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/circuits.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI Circuits
description: Introduction to the core zk-SNARK circuits of MACI
sidebar_label: Circuits
sidebar_position: 7
sidebar_position: 9
---

# zk-SNARKS in MACI
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: 5
sidebar_position: 7
---

# Command-line interface
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/contracts.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: 6
sidebar_position: 8
---

# Smart Contracts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Contributing to MACI
description: Instructions on how to contribute to MACI
sidebar_label: Contributing
sidebar_position: 19
sidebar_position: 21
---

# Contributing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Coordinator local processing
description: How does the coordinator process and tallies messages locally
sidebar_label: Coordinator local processing
sidebar_position: 14
sidebar_position: 16
---

# Coordinator local processing
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Installing MACI
description: How to install MACI
sidebar_label: Installation
sidebar_position: 4
sidebar_position: 5
---

# Installation
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/integrating.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Integrating MACI
description: How to integrate MACI into your application
sidebar_label: Integrating
sidebar_position: 11
sidebar_position: 13
---

# Integrating MACI
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/key-change.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI key change
description: How key change messages work
sidebar_label: Key change
sidebar_position: 16
sidebar_position: 18
---

# MACI Key Change
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI Overview
description: High-level overview of the MACI codebase
sidebar_label: Overview
sidebar_position: 3
sidebar_position: 4
---

# MACI Overview
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/primitives.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI Primitives
description: A short introduction of the main primitives used by MACI
sidebar_label: Primitives
sidebar_position: 4
sidebar_position: 6
---

## MACI primitives
Expand Down
12 changes: 7 additions & 5 deletions website/versioned_docs/version-v1.x/purpose.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Below we attempt to summarize some of the points layed out in that post:

## Security requirements of a voting system

Any voting system requires some crucial security properties:
Any voting system requires a few crucial security properties in order to be trusted by users:

- **Correct execution**: the result (tally of votes) must be correct, and the result must be guaranteed by a transparent process (so that everyone is convinced that the result is correct)
- **Censorship resistance**: anyone eligible to vote should be able to vote, and it should not be possible to interfere with anyone's attempt to vote or to prevent anyone’s vote from being counted
Expand All @@ -26,7 +26,7 @@ Looking at various approaches to implement a voting system, we can see how they

### In-person voting systems

In short, it's hard to know for sure how current voting systems operate. Governments and corporations spend lots of resources into ensuring their integrity, but ultimately the processes are not fully auditable so we must trust that these security properties are being enforced.
In short, it's hard to know for sure how current voting systems operate. Governments and corporations spend lots of resources on their systems and processes in an attempt to ensure their integrity, but ultimately neither the systems nor the processes are fully auditable, so we must trust that these security properties are being enforced.

| | In-person |
| --------------------- | --------- |
Expand All @@ -37,9 +37,9 @@ In short, it's hard to know for sure how current voting systems operate. Governm

### Blockchain voting systems

Blockchains provide two key properties: correct execution and censorship resistance. In terms of execution, the blockchain accepts inputs (transaction) from users, correctly processes them according to some pre-defined rules, and returns the correct output. No one is able to change the rules. Any user that wants to send a transaction, and is willing to pay a high enough fee, can send the transaction and expect to see it quickly included on-chain.
Blockchains provide two key properties: correct execution and censorship resistance. In terms of execution, the blockchain accepts inputs (transaction) from users, correctly processes them according to some pre-defined rules, and returns the correct output. No one is able to change the rules. Any user that wants to send a transaction and is willing to pay a high enough fee can send the transaction and expect to see it quickly included on-chain.

By default, however, Blockchain voting faces challenges. Ethereum, like most blockchains, is completely transparent - all transaction data is public, so there is no privacy. This makes bribery very easy as a result: someone can easily show a receipt that proves how they voted. The process may even be able to be automated via smart contracts to make collusion entirely trustless.
By default, however, Blockchain voting applications face challenges. Ethereum, like most blockchains, is completely transparent - all transaction data is public, so there is no privacy for voters or their votes. This makes bribery very easy as a result: someone can easily show a transaction receipt that proves how they voted. In some cases, bribery can be completely automated via smart contracts to make collusion entirely trustless.

| | In-person | Ethereum |
| --------------------- | --------- | -------- |
Expand All @@ -50,11 +50,13 @@ By default, however, Blockchain voting faces challenges. Ethereum, like most blo

### Blockchain voting systems (with ZKPs)

Enter zero-knowledge proofs (ZKPs), and voting systems like MACI. With ZK, you can have private on-chain voting but maintain public on-chain results that are verifiable by anyone.
Enter zero-knowledge proofs (ZKPs), which when combined with blockchains like Ethereum, can enable private on-chain voting but maintain public on-chain results that are verifiable by anyone (including smart contracts). Vote tallying takes place off-chain but ZKPs are submitted and verified on-chain, which guarantees votes are counted correctly without revealing the individual votes.

| | In-person | Ethereum | Ethereum w/ ZK |
| --------------------- | --------- | -------- | -------------- |
| Correct execution | 🤷‍♂️ |||
| Censorship resistance | 🤷‍♂️ |||
| Privacy | 🤷‍♂️ |||
| Collusion resistance | 🤷‍♂️ |||

This, in essence, is why MACI exists. By combining these technologies in novel ways, we believe we can achieve all the core security properties that a voting system must have.
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI v1.0 Specification
description: A detailed specification meant to assist auditors in reviewing MACI version 1.0
sidebar_label: Specification
sidebar_position: 15
sidebar_position: 17
---

# MACI v1.0 Specification
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/testing-in-detail.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI Testing in Detail
description: How MACI tests work in detail
sidebar_label: Testing in detail
sidebar_position: 10
sidebar_position: 12
---

# Testing in detail
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Testing MACI
description: An introduction on how to test MACI
sidebar_label: Testing
sidebar_position: 9
sidebar_position: 11
---

# Testing introduction
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/topup.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI Topup
description: How the Topup feature works
sidebar_label: Topup
sidebar_position: 19
sidebar_position: 22
---

# Topup
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Troubleshooting
description: How to troubleshoot MACI's failures
sidebar_label: Troubleshooting
sidebar_position: 17
sidebar_position: 19
---

# Troubleshooting
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/trusted-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI Trusted Setup
description: Introduction to the MACI multi-party trusted setup
sidebar_label: Trusted Setup
sidebar_position: 8
sidebar_position: 10
---

# Trusted setup
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI versioning and release process
description: How MACI's versioning and release process works
sidebar_label: MACI versioning
sidebar_position: 18
sidebar_position: 20
---

# MACI versioning and release process
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-v1.x/workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: MACI Workflow
description: Overview of the MACI workflow
sidebar_label: Workflow
sidebar_position: 2
sidebar_position: 3
---

<!-- TODO: create flowcharts, similar to to Kyle's (but make light/dark mode compatible) -->
Expand Down

0 comments on commit 4624360

Please sign in to comment.