Aztec logoAztec

  • Total value locked$2.68 M3.53%
  • Breakdown
  • Daily TPS0.000.00%
  • 30D tx count69.00
  • TechnologyZK Rollup
  • PurposePrivate payments

  • ...


    Tokens:

    Milestones

    Aztec 2.0

    2021 Mar 15th

    Private Rollup is live on mainnet, allowing user to access DeFi.

    Learn more
    Show more

    Description

    EOL: Aztec team announced they are going to shut down the rollup infrastructure on July 8th, 2023

    Aztec is an open source layer 2 network that aims to bring scalability and privacy to Ethereum. It strives to enable affordable, private crypto payments via zero-knowledge proofs.

    If you find something wrong on this page you can submit an issue or edit the information.

    Risk Analysis

    Sequencer failureState validationData availabilityUpgradeabilityProposer failure

    State validation

    ZK proofs (SN)

    ZK-SNARKS are zero knowledge proofs that ensure state correctness, but require trusted setup.

    Data availability

    On chain

    All of the data needed for proof construction is published on chain.

    Upgradeability

    Yes

    1/2 MSig can change Validator.

    Sequencer failure

    Self sequence

    In the event of a sequencer failure, users can force transactions to be included in the L2 chain by sending them to L1. Proposing new blocks requires creating ZK proofs.

    Proposer failure

    Self propose

    If the Proposer fails, users can leverage the open source prover to submit proofs to the L1 bridge.

    Technology

    Validity proofs ensure state correctness

    Each update to the system state must be accompanied by a ZK Proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. Once the proof is processed on the Ethereum blockchain the L2 block is instantly finalized.

    1. RollupProcessor.sol#L395 - Etherscan source code

    Zero knowledge SNARK cryptography is used

    Despite their production use ZK-SNARKs are still new and experimental cryptography. Cryptography has made a lot of advancements in the recent years but all cryptographic solutions rely on time to prove their security. In addition ZK-SNARKs require a trusted setup to operate.

    • Funds can be stolen if the cryptography is broken or implemented incorrectly.

    1. TurboVerifier.sol#L37 - Etherscan source code

    All data required for proofs is published on chain

    All the data that is used to construct the system state is published on chain in the form of cheap calldata. This ensures that it will always be available when needed.

    1. RollupProcessor.sol#L359 - Etherscan source code

    Operator

    The system has a centralized operator

    Only specific addresses appointed by the owner are permitted to propose new blocks during regular rollup operation. Periodically a special window is open during which anyone can propose new blocks.

    • MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.

    1. RollupProcessor.sol#L97 - Etherscan source code
    2. RollupProcessor.sol#L369 - Etherscan source code

    Users can force any transaction

    Because the block production is open to anyone if users experience censorship from the operator they can propose their own blocks which would include their transactions. Periodically the rollup opens a special window during which anyone can propose new blocks.

    • Users can be censored if the operator refuses to include their transactions and users lack resources to propose blocks themselves.

    1. RollupProcessor.sol#L347 - Etherscan source code
    2. RollupProcessor.sol#L168 - Etherscan source code

    Withdrawals

    Regular withdraw

    The user initiates the withdrawal by submitting a transaction on L2. When the block containing that transaction is proven on L1 the assets are automatically withdrawn to the user.

    1. RollupProcessor.sol#LL396 - Etherscan source code

    Other considerations

    Payments are private

    Balances and identities for all tokens on the Aztec rollup are encrypted. Each transaction is encoded as a zkSNARK, protecting user data.

    1. Fast Privacy, Now - Aztec Medium Blog

    Permissions

    The system uses the following set of permissioned addresses:

    Aztec Multisig 0xE298…8aaD

    Owner of RollupProcessor and AztecFeeDistributor contracts. Can add or delete rollup providers. Can change the verifier contract. This is a Gnosis Safe with 1 / 2 threshold.

    Aztec Multisig participants 0x1D93…4fdD0x7fb9…Fc5f

    Those are the participants of the Aztec Multisig.

    Rollup Providers 0xFcF7…8895

    Addresses that can propose new blocks during regular rollup operation.

    Smart Contracts

    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    The system consists of the following smart contracts:

    RollupProcessor 0x7379…A2ba

    Main Rollup contract responsible for deposits, withdrawals and accepting transaction batches alongside zkProof. This contract stores the following tokens: ETH, DAI, renBTC, USDT.

    AztecFeeDistributor 0x41A5…6734

    Contract responsible for distributing fees and reimbursing gas to Rollup Providers.

    TurboVerifier 0xd3a6…cBb1

    Turbo Plonk zkSNARK Verifier.

    Can be upgraded by: Aztec Multisig

    Upgrade delay: No delay

    The current deployment carries some associated risks:

    • Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).