Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Restructure documentation #1437

Merged
merged 1 commit into from
Aug 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
title: History of blockchain privacy
---

import Image from "@theme/IdealImage";

# A brief history of blockchain privacy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Participate
title: How to Participate?
---

- Talk about how we want the Aztec network to be as decentralised as possible, hence we want to actively encourage participation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Contributors to Aztec uphold many of the values of the Ethereum community -- bui

Noir is a domain specific programming language for writing zero knowledge circuits. On Aztec a smart contract is a collection of circuits that developers write using Noir.

You can find more information and resources for learning about Noir on [this page](../noir).
You can find more information and resources for learning about Noir on [this page](../dev_docs/getting_started/noir).

## Cryptography

Expand All @@ -63,5 +63,5 @@ To support Aztec's rollup, our cryptography team is building [Honk](https://gith
Keep up with the latest discussion and join the conversation in the [Aztec forum](https://discourse.aztec.network).


import Disclaimer from "./common/\_disclaimer.mdx";
import Disclaimer from "../misc/common/\_disclaimer.mdx";
<Disclaimer/>
Original file line number Diff line number Diff line change
Expand Up @@ -89,5 +89,5 @@ A bundle of packages which emulate the actions of all eventual Aztec network par
Keep up with the latest discussion and join the conversation in the [Aztec forum](https://discourse.aztec.network).


import Disclaimer from "../common/\_disclaimer.mdx";
import Disclaimer from "../../misc/common/\_disclaimer.mdx";
<Disclaimer/>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ See [here](./) for draft milestones.

See [here](https://drive.google.com/file/d/1riqr23R-VOAwOAzpgRj40tsAfq0ZA5yO/view?usp=share_link) for an unfinished (but maybe helpful) contract deployment sequence diagram, and other tabs for other useful diagrams.

See [here](../protocol/contract-creation) for more on Contract Creation.
See [here](../../concepts/advanced/contract_creation) for more on Contract Creation.

## Reminder of the milestone:

Expand Down Expand Up @@ -525,5 +525,5 @@ For `offchainData`:

Keep up with the latest discussion and join the conversation in the [Aztec forum](https://discourse.aztec.network).

import Disclaimer from "../common/\_disclaimer.mdx";
import Disclaimer from "../../misc/common/\_disclaimer.mdx";
<Disclaimer/>
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Create a monorepo (`aztec3-packages`) for the Local Developer Testnet codebase.

### 1.1 - Deploy a contract ✅

See granular tasks [here](milestones/milestone1-1).
See granular tasks [here](./milestone1_1).

As a developer, I can write a Noir `contract` scope, which contains a collection of pure functions (circuits) and a noop `constructor` function (no state variables yet).

Expand Down Expand Up @@ -489,5 +489,5 @@ As a Prover I can be paid for generating proofs for the current Sequencer.

Keep up with the latest discussion and join the conversation in the [Aztec forum](https://discourse.aztec.network).

import Disclaimer from "../common/\_disclaimer.mdx";
import Disclaimer from "../../misc/common/\_disclaimer.mdx";
<Disclaimer/>
2 changes: 1 addition & 1 deletion docs/docs/vision.md → docs/docs/about_aztec/vision.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@ We are building the [Aztec Network](https://aztec.network/), a fully programmabl

To achieve these goals, we are pioneering the cryptography and research needed to bring our next generation, privacy-preserving zk-roll-up to mainnet.

import Disclaimer from "./aztec/common/\_disclaimer.mdx";
import Disclaimer from "../misc/common/\_disclaimer.mdx";
<Disclaimer/>
5 changes: 0 additions & 5 deletions docs/docs/aztec/contributing-to-aztec/README.md

This file was deleted.

7 changes: 0 additions & 7 deletions docs/docs/aztec/developer/README.md

This file was deleted.

26 changes: 0 additions & 26 deletions docs/docs/aztec/developer/noir-contracts/getting-started.md

This file was deleted.

14 changes: 0 additions & 14 deletions docs/docs/aztec/developer/noir-contracts/noir-contracts.md

This file was deleted.

21 changes: 0 additions & 21 deletions docs/docs/aztec/developer/noir-contracts/workflow.md

This file was deleted.

This file was deleted.

This file was deleted.

9 changes: 0 additions & 9 deletions docs/docs/aztec/protocol/README.md

This file was deleted.

96 changes: 0 additions & 96 deletions docs/docs/aztec/protocol/key-management.md

This file was deleted.

15 changes: 0 additions & 15 deletions docs/docs/aztec/protocol/lifecycle-of-a-note.md

This file was deleted.

Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ This circuit is executed by the user, on their own device. This is to ensure pri
- public call stacks: hashes representing calls to other public functions;
- events;
- all data accumulated by all previous private kernel circuit recursions of this tx;
- Hides which private function has been executed, by performing a zero-knowledge proof of membership against the [contract tree](../trees).
- Hides which private function has been executed, by performing a zero-knowledge proof of membership against the [contract tree](../../data_structures/trees).
- Ensures the entire stack trace of private functions (for a particular tx) adheres to function execution rules.
- Verifies a previous 'Private Kernel Proof', recursively, when verifying transactions which are composed of many private function calls.
- Optionally can [deploy](../contract-creation) a new private contract.
- Optionally can [deploy](../../contract_creation) a new private contract.

> Note: **This is the only core protocol circuit which actually needs to be "zk" (zero knowledge)!!!** That's because this is the only core protocol circuit which handles private data, and hence the only circuit for which proofs must not leak any information about witnesses! (The private data being handled includes: details of the Noir Contract function which has been executed; the address of the user who executed the function; the intelligible inputs and outputs of that function).
> This is a really interesting point. Most so-called "zk-Rollups" do not make use of this "zero knowledge" property. Their snarks are "snarks"; with no need for zero-knowledge, because they don't seek privacy; they only seek the 'succinct' computation-compression properties of snarks. Aztec's "zk-Rollup" actually makes use of "zero knowledge" snarks. That's why we sometimes call it a "zk-zk-Rollup", or "_actual_ zk-Rollup".
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Public Kernel Circuit
---

This circuit is executed by a Sequencer, since only a Sequencer knows the current state of the [public data tree](../trees) at any time. A Sequencer might choose to delegate proof generation to the Prover pool.
This circuit is executed by a Sequencer, since only a Sequencer knows the current state of the [public data tree](../../data_structures/trees) at any time. A Sequencer might choose to delegate proof generation to the Prover pool.

- Exposes (forwards) the following data to the next recursive circuit:
- all data accumulated by all previous private kernel circuit recursions of this tx;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ In other words, since neither the EVM nor other rollups have rules for how to pr

What kind of extra rules / checks does a rollup need, to enforce notions of private states and private functions? Stuff like:

- "Perform state reads and writes using new tree structures which prevent tx linkability" (see [trees](trees)).
- "Perform state reads and writes using new tree structures which prevent tx linkability" (see [trees](../data_structures/trees)).
- "Hide which function was just executed, by wrapping it in a zk-snark"
- "Hide all functions which were executed as part of this tx's stack trace, by wrapping the whole tx in a zk-snark"

Expand All @@ -55,12 +55,12 @@ So what kinds of core protocol circuits does Aztec have?

### Kernel Circuits

- [Private Kernel Circuit](./circuits/private-kernel)
- [Public Kernel Circuit](./circuits/public-kernel)
- [Private Kernel Circuit](./kernels/private_kernel)
- [Public Kernel Circuit](./kernels/public_kernel)

### Rollup Circuits

- [Rollup Circuits](./circuits/rollup)
- [Rollup Circuits](./rollup_circuits/main)

#### Squisher Circuits

Expand Down
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ For both transactions, it:

- Performs public state read membership checks.
- Updates the public data tree in line with the requested state transitions.
- Checks that the nullifiers haven't previously been inserted into the [indexed nullifier tree](../trees/indexed-merkle-tree).
- Checks that the nullifiers haven't previously been inserted into the [indexed nullifier tree](../../data_structures/indexed_merkle_tree).
- Batch-inserts new nullifiers into the nullifier tree.
- Batch-inserts new commitments into the private data tree
- Batch-inserts any new contract deployments into the contract tree.
Expand Down
Empty file.
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Contract Creation

<!-- TODO: Mike to update -->

import Disclaimer from '../common/\_disclaimer.mdx';
import Disclaimer from '../../misc/common/\_disclaimer.mdx';

<Disclaimer/>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Indexed Merkle Tree
---

import Image from "@theme/IdealImage";
import Disclaimer from "../../common/_disclaimer.mdx";
import Disclaimer from "../../../misc/common/_disclaimer.mdx";

<Disclaimer />

Expand Down
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Trees
---

import Disclaimer from "../../common/\_disclaimer.mdx";
import Disclaimer from "../../../misc/common/\_disclaimer.mdx";
import Image from "@theme/IdealImage";

<Disclaimer/>
Expand Down Expand Up @@ -71,7 +71,7 @@ Instead of the term 'Note', other protocols might refer to a blob of data repres

## Nullifier Tree

A nullifier tree is basically a tree whose leaf values must be unique. An attempt to insert a duplicate leaf value will be rejected. (See [indexed merkle tree](./trees/indexed-merkle-tree) for technical implementation details).
A nullifier tree is basically a tree whose leaf values must be unique. An attempt to insert a duplicate leaf value will be rejected. (See [indexed merkle tree](./indexed_merkle_tree) for technical implementation details).

<Image img={require("/img/nullifier-tree.png")} />

Expand Down
Empty file.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Public VM Architecture
title: Public VM
---

## Objectives
Expand Down
Empty file.
Loading