# Loopring Markdown version of https://l2beat.com/zk-catalog/loopringprover ## Summary **Warning:** This project is archived and no longer maintained. - Creator: Loopring - Total Value Secured: $2.48 K (-4.76% compared to seven days ago) - Trusted setups for EthSnarks (Groth16): - Loopring Stack, risk red (highest risk) per the [Trusted Setups Risk Framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381): Two circuit-specific trusted setups for Groth16 verifiers of two L2s built with Loopring zk rollup stack. One contains 5 contributions, another 16 contributions. - Used in: none - Verifiers: 5 not verified - zkVM: EthSnarks (Groth16), BN254 (curve), App-specific circuits (Other) ### About A Groth16-based proof system designed by Loopring for proving custom predefined state transitions of their L2. ### Links - Website: https://loopring.org - Docs: https://github.com/Loopring/whitepaper, https://github.com/degatedev/protocols/blob/degate_mainnet/Smart%20Contract%20Design.md, https://github.com/Loopring/protocols/blob/master/packages/loopring_v3/DESIGN.md - Repository: https://github.com/Loopring/protocols/tree/master/packages/loopring_v3 - Social: https://x.com/loopringorg ## Value Secured The interactive TVS chart is shown on [the HTML page](https://l2beat.com/zk-catalog/loopringprover#tvs). ## Proof System ### Proof system Loopring prover is a monolithic Groth16 SNARK proving system over BN254 curve that generates validity proofs for the state transition of Loopring L2. This system has [custom R1CS circuits](https://github.com/Loopring/protocol3-circuits.git) designed to prove the specific state transition function of the L2, including deposits and withdrawals, transfers, spot trades and curve AMM swaps, NFT operations. Loopring uses [Ethsnarks prover library](https://github.com/HarryR/ethsnarks). ## 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. ### Loopring Stack - Risk: red (highest risk) - Proof systems: EthSnarks (Groth16) This entry incorporates two different trusted setups with very similar properties. Namely, these are circuit-specific trusted setups for Groth16 circuits over BN254 curve of DeGate and Loopring app chains that are built with Loopring zk tech stack. DeGate trusted setup includes 5 phase 2 (i.e. circuit-specific) contributions, Loopring trusted setup includes 16 phase 2 contributions. Circuit-specific phase builds on top of the [Perpetual Powers of Tau ceremony](https://github.com/privacy-scaling-explorations/perpetualpowersoftau). - Repo for Loopring trusted setup: [https://github.com/Loopring/trusted_setup/tree/master](https://github.com/Loopring/trusted_setup/tree/master), repo for DeGate trusted setup: [https://github.com/degatedev/trusted_setup/tree/master](https://github.com/degatedev/trusted_setup/tree/master) - Post for DeGate ceremony: [https://medium.com/degate/degate-completes-zk-trusted-setup-ceremony-4752301e379f](https://medium.com/degate/degate-completes-zk-trusted-setup-ceremony-4752301e379f) ## 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). ### Groth16: EthSnarks EthSnarks implementation of Groth16 proving system written in C++. #### Loopring verifier block size 16 Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 16, blockVersion = 17) on the verifier smart contract. - Verifier ID: `0x4c18cccb70be9bd6c438cc6d558d3451114af2fcd2e45a4286afecf2f327b80d` - Verification: not verified - Used in: none **Known deployments** - [0x6150343E0F43A17519c0327c41eDd9eBE88D01ef](https://etherscan.io/address/0x6150343E0F43A17519c0327c41eDd9eBE88D01ef#code) on Ethereum, used in: none #### Loopring verifier block size 32 Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 32, blockVersion = 17) on the verifier smart contract. - Verifier ID: `0xf29dd53bbc041a71ed0ce5812b2795151a93d233f0b3d73205eaf1e3b5ebbb18` - Verification: not verified - Used in: none **Known deployments** - [0x6150343E0F43A17519c0327c41eDd9eBE88D01ef](https://etherscan.io/address/0x6150343E0F43A17519c0327c41eDd9eBE88D01ef#code) on Ethereum, used in: none #### Loopring verifier block size 64 Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 64, blockVersion = 17) on the verifier smart contract. - Verifier ID: `0xc1b762cee5cb2d339e88e5fc7ef9b3ab62887b150929f6e3599fef289838bae0` - Verification: not verified - Used in: none **Known deployments** - [0x6150343E0F43A17519c0327c41eDd9eBE88D01ef](https://etherscan.io/address/0x6150343E0F43A17519c0327c41eDd9eBE88D01ef#code) on Ethereum, used in: none #### Loopring verifier block size 128 Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 128, blockVersion = 17) on the verifier smart contract. - Verifier ID: `0x998a7b6031386f1ce64bbbfc9375b341ee4385289c1d4f121a62f1e3c73d3efb` - Verification: not verified - Used in: none **Known deployments** - [0x6150343E0F43A17519c0327c41eDd9eBE88D01ef](https://etherscan.io/address/0x6150343E0F43A17519c0327c41eDd9eBE88D01ef#code) on Ethereum, used in: none #### Loopring verifier block size 256 Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 256, blockVersion = 17) on the verifier smart contract. - Verifier ID: `0x765eff9d78d1abfe496040f999714d58df54c49753db801633762dd48b74f9ae` - Verification: not verified - Used in: none **Known deployments** - [0x6150343E0F43A17519c0327c41eDd9eBE88D01ef](https://etherscan.io/address/0x6150343E0F43A17519c0327c41eDd9eBE88D01ef#code) on Ethereum, used in: none