diff --git a/docs/glossary.md b/docs/glossary.md index 2d98efe..81f1e74 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -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.