# Aztec v1 Markdown version of https://l2beat.com/zk-catalog/aztecv1prover ## Summary **Warning:** This project is archived and no longer maintained. - Creator: Aztec - Total Value Secured: $49.99 (+0.02% compared to seven days ago) - Trusted setups for AztecV1 (Plonk): - Aztec Ignition, risk green (lowest risk) per the [Trusted Setups Risk Framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381): Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation. - Used in: none - Verifiers: 1 not verified - zkVM: AztecV1 (Plonk), BN254 (curve), App-specific circuits (Other) ### About A Plonk proof system designed by Aztec for client-side proving of private token transfers on zk.money L2. ### Links - Website: https://docs.aztec.network/aztec_connect_sunset - Docs: https://github.com/AztecProtocol/aztec-v1/blob/develop/AZTEC.pdf, https://github.com/AztecProtocol/aztec-v1-specification - Repository: https://github.com/AztecProtocol/aztec-v1/tree/develop - Social: https://x.com/aztecnetwork ## Value Secured The interactive TVS chart is shown on [the HTML page](https://l2beat.com/zk-catalog/aztecv1prover#tvs). ## Proof System ### Proof system Aztec v1 prover is a [monolithic zk-SNARK proving system](https://github.com/AztecProtocol/aztec-v1/tree/develop/packages/aztec.js) over BN254 curve for proving state transitions of Aztec v1 (Zk.money) L2. It implements the following custom circuits and contains verifiers for them: [joinsplit](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/joinSplit/JoinSplit.sol#L9) for proving private token transfers in a UTXO-like note model, [swap](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/swap/Swap.sol) for proving exchange of two notes between counterparties, [dividend](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/dividend/Dividend.sol) for proving that a note is equal to a public percentage of a second note, [public](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/publicRange/PublicRange.sol) and [private](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/privateRange/PrivateRange.sol) range for proving comparison of a note with either a public value or with another note. ## Trusted Setups Risk levels follow the [Trusted Setups Risk Framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381). Yellow (medium risk): all contributions are published and the final output can be verified, the ceremony client is open source, there were at least 30 contributions, participation was open to the public and announced, and participants are publicly identified. Green (lowest risk): everything required for yellow, with at least 150 contributions. Red (highest risk): at least one requirement for yellow is not met. N/A: the proof system needs no trusted setup. ### Aztec Ignition - Risk: green (lowest risk) - Proof systems: AztecV1 (Plonk) Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation. - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification). - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup). - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition). ## Verifier IDs List of different onchain verifiers for this proving system. Unique ID distinguishes different deployments of the same verifier from different verifiers (e.g. different versions). ### Plonk: AztecV1 First version of Aztec implementation of Plonk proving system, originally developed for zk.money (AZTEC v1). #### Aztec v1 verifier Custom verifier ID: SHA256 hash of the abi packed array of uint256 obtained from flattening VerificationKey structure returned by get_verification_key() of Rollup1x2Vk library. - Verifier ID: `0x7c8a64f644c60e33445be862185b65bf2096c00c9691f49bd03df5f3ce6b6abf` - Source: https://github.com/AztecProtocol/aztec-v1/tree/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol - Verification: not verified - Used in: none **Known deployments** - [0x48Cb7BA00D087541dC8E2B3738f80fDd1FEe8Ce8](https://etherscan.io/address/0x48Cb7BA00D087541dC8E2B3738f80fDd1FEe8Ce8#code) on Ethereum, used in: none