This repository has been archived by the owner on Oct 30, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add sequencers/provers updates, link to barretenberg's source code, and update the smart contracts description
- Loading branch information
1 parent
d5ed4e0
commit 55bcfa6
Showing
1 changed file
with
27 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,43 @@ | ||
--- | ||
title: Glossary | ||
--- | ||
### Smart Contracts | ||
|
||
Programs that run on the Aztec network are called smart contracts, similar to [programs](https://ethereum.org/en/developers/docs/smart-contracts/) that run on Ethereum. | ||
|
||
However, these will be written in the [Noir](https://noir-lang.org/index.html) programming language, and may optionally include [private state and private functions](https://docs.aztec.network/aztec/how-it-works/private-smart-contracts). | ||
|
||
### Barretenberg | ||
|
||
Aztec's cryptography back-end. Refer to the graphic at the top of [this page](https://medium.com/aztec-protocol/explaining-the-network-in-aztec-network-166862b3ef7d) to see how it fits in the Aztec architecture. | ||
|
||
Barretenberg's source code can be found [here](https://github.com/AztecProtocol/barretenberg). | ||
|
||
### Sequencer | ||
|
||
This service is responsible for: | ||
Aztec will be launched with a fully permissionless sequencer network that anyone can participate in. | ||
|
||
How this works is being discussed actively in the [Discourse forum](https://discourse.aztec.network/t/request-for-proposals-decentralized-sequencer-selection/350/). Once this discussion process is completed, we will update the glossary and documentation with specifications and instructions for how to run. | ||
|
||
Sequencers are generally responsible for: | ||
|
||
- Watching for rollup blocks on Ethereum and updating the representation of Aztec state accordingly | ||
- Listening for and storing transactions from users, verifying they're valid, have correct fees, etc. | ||
- Constructing new rollups at the appropriate time or when enough transactions are received | ||
- Publishing of rollups to an Ethereum chain | ||
- Selecting pending transactions from the mempool | ||
- Ordering transactions into a block | ||
- Verifying all private transaction proofs and execute all public transactions to check their validity | ||
- Computing the ROLLUP_BLOCK_REQUEST_DATA | ||
- Computing state updates for messages between L2 & L1 | ||
- Broadcasting the ROLLUP_BLOCK_REQUEST_DATA to the prover network via the proof pool for parallelizable computation. | ||
- Building a rollup proof from completed proofs in the proof pool | ||
- Taging the pending block with an upgrade signal to facilitate forks | ||
- Publishing completed block with proofs to Ethereum as an ETH transaction | ||
|
||
You can find the Typescript reference implementation called Falafel [here](https://github.com/AztecProtocol/aztec-connect/tree/master/falafel). | ||
Previously in [Aztec Connect](https://medium.com/aztec-protocol/sunsetting-aztec-connect-a786edce5cae) there was a single sequencer, and you can find the Typescript reference implementation called Falafel [here](https://github.com/AztecProtocol/aztec-connect/tree/master/falafel). | ||
|
||
Refer to the graphic at the top of [this page](https://medium.com/aztec-protocol/explaining-the-network-in-aztec-network-166862b3ef7d) to see how it fits in the Aztec architecture. | ||
### Provers | ||
Aztec will be launched with a fully permissionless proving network that anyone can participate in. | ||
|
||
### Smart Contract | ||
How this works will be discussed via a future RFP process on Discourse, similarly to the Sequencer RFP. | ||
|
||
Programs that run on the Aztec network are called smart contracts, similar to [programs](https://ethereum.org/en/developers/docs/smart-contracts/) that run on Ethereum. | ||
### Misc | ||
|
||
Smart contracts on Aztec may also optionally include private state and private functions. | ||
For other definitions please see the [components](https://docs.aztec.network/aztec/components) section. |