Search

Search for projects by name

Zk.Money v2 (Aztec Connect) logoZk.Money v2 (Aztec Connect)

This project is archived.

About

Aztec Connect is an open source layer 2 network that aims to enable affordable, private crypto payments via zero-knowledge proofs.


Value Locked
$4.16 M11.2%
Canonically Bridged
$4.16 M
Externally Bridged
$0.00
Natively Minted
$0.00

  • Tokens
  • Daily UOPS
  • 30D tx count

  • Stage
    Stage 2
  • Type
    ZK Rollup
  • Purpose
    Payments
  • Sequencer failureState validationData availabilityExit windowProposer failure

    About

    Aztec Connect is an open source layer 2 network that aims to enable affordable, private crypto payments via zero-knowledge proofs.


    Value Locked
    Milestones & Incidents

    Aztec operator sunset

    2024 Apr 30th

    Aztec stops rollup operators, renouces ownership. Users must run the Rollup manually to withdraw.

    Learn more

    Introducing Noir

    2022 Oct 6th

    Noir - programming language for zero-knowledge proofs, has been introduced.

    Learn more
    Risk summary
    EOL: Aztec team shut down their offchain rollup infrastructure on March 31st, 2024. Onchain deposits are disabled and ownership of the rollup contract is irrevocably renounced. Assets in the escrow can be manually withdrawn with the Aztec Connect Ejector.
    Risk analysis
    EOL: Aztec team shut down their offchain rollup infrastructure on March 31st, 2024. Onchain deposits are disabled and ownership of the rollup contract is irrevocably renounced. Assets in the escrow can be manually withdrawn with the Aztec Connect Ejector.
    Sequencer failureState validationData availabilityExit windowProposer failure

    Sequencer failure

    Self sequence

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

    State validation

    ZK proofs (SN)

    SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup.

    Data availability

    Onchain

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

    Exit window

    Users can exit funds at any time because contracts are not upgradeable.

    Proposer failure

    Self propose

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

    Rollup stage
    Zk.Money v2 (Aztec Connect)Zk.Money v2 (Aztec Connect) is a
    Stage 2
    ZK Rollup.

    Learn more about Rollup stages
    Please keep in mind that these stages do not reflect rollup security, this is an opinionated assessment of rollup maturity based on subjective criteria, created with a goal of incentivizing projects to push toward better decentralization. Each team may have taken different paths to achieve this goal.
    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. These proofs are then verified on Ethereum by a smart contract.

    1. RollupProcessorV3.sol#L706 - Etherscan source code

    Zero knowledge SNARK cryptography is used

    Despite their production use zkSNARKs 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 zkSNARKs require a trusted setup to operate.

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

    1. Verifier28x32.sol#L150 - Etherscan source code

    All data required for proofs is published on chain

    Since EOL this is only true if the user themself runs the rollup locally and publishes the data.

    1. RollupProcessorV3.sol#L686 - Etherscan source code
    State derivation
    Node software

    The entire stack’s source code is housed in a single monorepo, which can be found here. For instructions on running the node, please refer to this readme. Since EOL the aztec-connect-ejector can be used to run a rollup instance and withdraw.

    Compression scheme

    No compression is used.

    Genesis state

    The genesis file is available here, and it includes accounts from zk.money as well.

    Data format

    The code to decode onchain data can be found here

    Operator

    No operator

    Only specific addresses appointed by the owner were permitted to propose new blocks during regular rollup operation. Now that the system is EOL, the rollup can only be processed locally by volunteers.

    1. RollupProcessorV3.sol#L692 - Etherscan source code
    2. Aztec Connect Ejector - Codespace template for running the Aztec Connect rollup.

    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.

    Withdrawals

    EOL: Manual withdrawal using Aztec Connect Ejector

    EOL: Aztec team announced they are going to shut down the rollup infrastructure on March 31st, 2024. Deposits are disabled and ownership of the rollup contract is irrevocably renounced. Assets in the escrow can be manually withdrawn with the Aztec Connect Ejector.

    1. Aztec Connect Ejector - Codespace template for running the Aztec Connect rollup.

    Regular withdraw (disabled)

    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. RollupProcessorV3.sol#F1#L1174 - Etherscan source code
    2. RollupProcessorV3.sol#F1#L1332 - 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
    Smart contracts
    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    The system consists of the following smart contracts on the host chain (Ethereum):

    Main Rollup contract (immutable) responsible for withdrawals and accepting transaction batches alongside a ZK proof. This contract stores the following tokens: ETH, DAI, wstETH.

    AztecFeeDistributor 0x4cf3…4927

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

    DefiBridgeProxy 0xA1BB…1487

    Bridge Connector to various DeFi Bridges.

    Verifier28x32 0xb7ba…1CFB

    Standard Plonk zkSNARK Verifier.

    Knowledge nuggets