Search for projects by name or address
Hermez is an open-source ZK Rollup that aims to be optimized for secure, low-cost and usable token transfers on the wings of Ethereum.
Hermez is an open-source ZK Rollup that aims to be optimized for secure, low-cost and usable token transfers on the wings of Ethereum.
Users can force the sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. to include a transaction by submitting a request through L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.. If the sequencer censors or is down for , users can use the exit hatch to withdraw their funds.
SNARKs are succinct zero knowledge proofs that ensure state correctness, but require trusted setupGeneration of a piece of data that must then be used for some cryptographic protocol to run. Generating this data requires some secret information. The "trust" comes from the fact the secret must be destroyed after the ceremony, otherwise cryptographic properties of the protocol could be broken. Once the data is generated, and the secrets are forgotten, no further participation from the creators of the ceremony is required. There are two types of trusted setups for SNARKs: (i) trusted setup per circuit where it is generated from scratch for each circuit, (ii) trusted universal setup per proving system where it can be used for several circuits..
All of the data needed for proof construction is published on Ethereum L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development..
Users have 7d to exit funds in case of an unwanted upgrade. There is a 7d delay before a upgrade is applied, and withdrawals can take up to 0s to be processed.
If the ProposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block. fails, users can leverage the source available proverAn entity that generates the cryptographic proof to convince the verifier that the statement is true. In a ZK-Rollup, the prover generates the ZK (validity) proof to submit to the verifier contract. to submit proofs to the L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge..
All the data that is used to construct the system state is published onchain in the form of cheap calldata. This ensures that it will always be available when needed.
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.
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
ignore: archive.
ignore: archive.
| EOA (eth:0x839395e20bbB182fa440d08F850E6c7A8f6F0780) { | |
| +++ description: None | |
| proxyType: | |
| - | "EOA" |
| + | "EIP7702 EOA" |
| sourceHashes: | |
| + | ["0x41c6ce964a4ef3e910f9ddf78152734dae8d1b1094ffc8334c50249a3b112bbf"] |
| values: | |
| + | {"$implementation":"eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B","delegationManager":"eth:0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3","DOMAIN_VERSION":"1","eip712Domain":{"fields":"0x0f","name":"EIP7702StatelessDeleGator","version":"1","chainId":1,"verifyingContract":"eth:0x839395e20bbB182fa440d08F850E6c7A8f6F0780","salt":"0x0000000000000000000000000000000000000000000000000000000000000000","extensions":[]},"entryPoint":"eth:0x0000000071727De22E5E9d8BAf0edAc6f37da032","getDeposit":0,"getDomainHash":"0xe407cbc76d2dcba4c87608219a8254a23a316e5331aaac1a04865186145eddb3","getNonce":0,"NAME":"EIP7702StatelessDeleGator","PACKED_USER_OP_TYPEHASH":"0xbc37962d8bd1d319c95199bdfda6d3f92baa8903a61b32d5f4ec1f4b36a3bc18","VERSION":"1.3.0"} |
| } | |
Discovery rerun on the same block number with only config-related changes.
Discovery rerun on the same block number with only config-related changes.
| + | Status: CREATED |
| contract ProxyAdmin (0x07a00a617e1DaB02Aa31887Eb5d521d4529a32E3) | |
| +++ description: None | |
| + | Status: CREATED |
| contract HermezAuctionProtocol (0x15468b45eD46C8383F5c0b1b6Cf2EcF403C2AeC2) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Verifier2048 (0x1DC4b451DFcD0e848881eDE8c7A99978F00b1342) | |
| +++ description: None | |
| + | Status: CREATED |
| contract WithdrawalDelayer (0x392361427Ef5e17b69cFDd1294F31ab555c86124) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Verifier400 (0x3DAa0B2a994b1BC60dB9e312aD0a8d87a1Bb16D2) | |
| +++ description: None | |
| + | Status: CREATED |
| contract VerifierWithdraw (0x4464A1E499cf5443541da6728871af1D5C4920ca) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Hermez2 (0x6D85D79D69b7e190E671C16e8611997152bD3e95) | |
| +++ description: None | |
| + | Status: CREATED |
| contract HermezAuctionProtocol2 (0x9D62Cdc389caaB35ada830A7C6Ae847D5E8512C6) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Hermez (0xA68D85dF56E733A06443306A095646317B5Fa633) | |
| +++ description: None | |
| + | Status: CREATED |
| contract GnosisSafe (0xe1bbC673E537053c3536310851C6554BcfcF11Cd) | |
| +++ description: None | |
| + | Status: CREATED |
| contract HermezGovernance (0xf1B3b124842555782F98bE08d1357ABb8013F11c) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Timelock (0xf7b20368Fe3Da5CD40EA43d61F52B23145544Ec3) | |
| +++ description: None | |
Provide description of changes. This section will be preserved.
Provide description of changes. This section will be preserved.
| + | Status: CREATED |
| contract ProxyAdmin (0x07a00a617e1DaB02Aa31887Eb5d521d4529a32E3) | |
| +++ description: None | |
| + | Status: CREATED |
| contract HermezAuctionProtocol (0x15468b45eD46C8383F5c0b1b6Cf2EcF403C2AeC2) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Verifier2048 (0x1DC4b451DFcD0e848881eDE8c7A99978F00b1342) | |
| +++ description: None | |
| + | Status: CREATED |
| contract WithdrawalDelayer (0x392361427Ef5e17b69cFDd1294F31ab555c86124) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Verifier400 (0x3DAa0B2a994b1BC60dB9e312aD0a8d87a1Bb16D2) | |
| +++ description: None | |
| + | Status: CREATED |
| contract VerifierWithdraw (0x4464A1E499cf5443541da6728871af1D5C4920ca) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Hermez2 (0x6D85D79D69b7e190E671C16e8611997152bD3e95) | |
| +++ description: None | |
| + | Status: CREATED |
| contract HermezAuctionProtocol2 (0x9D62Cdc389caaB35ada830A7C6Ae847D5E8512C6) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Hermez (0xA68D85dF56E733A06443306A095646317B5Fa633) | |
| +++ description: None | |
| + | Status: CREATED |
| contract GnosisSafe (0xe1bbC673E537053c3536310851C6554BcfcF11Cd) | |
| +++ description: None | |
| + | Status: CREATED |
| contract HEZ (0xEEF9f339514298C6A857EfCfC1A762aF84438dEE) | |
| +++ description: None | |
| + | Status: CREATED |
| contract HermezGovernance (0xf1B3b124842555782F98bE08d1357ABb8013F11c) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Timelock (0xf7b20368Fe3Da5CD40EA43d61F52B23145544Ec3) | |
| +++ description: None | |
The system runs an auction in which anyone can bid to become the operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. for a set number of blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over.. The operator will be able to propose blocks and collect fees during this window. Hermez will also run an operator known as boot coordinator that will propose blocks in case no one bids in the auction. This operator can be removed by the governance.
Because the blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. production is open to anyone if users experience censorship from the operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. they can propose their own blocks which would include their transactions.
Funds can be frozen if the operator refuses to include their transactions and users lack resources to propose blocks themselves.
The user initiates the withdrawal by submitting a regular transaction on this chain. When the blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. containing that transaction is settled the funds become available for withdrawal on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.. ZK proofs are required to settle blocks. Finally the user submits an L1 transaction to claim the funds. This operation cannot be performed if the withdrawal exceeds certain threshold.
The user submits the withdrawal request on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.. This forces the operators to pick up the request before other L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. transactions. A blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. still needs to be proved, the user still submits a merkle proof, and the funds threshold still cannot be exceeded.
When the user does a regular or forced withdraw and their funds exceed a certain threshold a timer activates. After a specified time has passed and the emergency mode has not been activated the funds can be withdrawn.
When the user does a regular or forced withdraw and their funds exceed a certain threshold a timer activates. The operators can now trigger emergency mode and transfer the user’s funds to the governance.
Funds can be stolen if the operators trigger a false alarm during withdrawal (CRITICAL).

Admin of HermezAuctionProtocol and Hermez, owned by the timelock.
Enforces a 7 day delay on upgrades.
The current deployment carries some associated risks:
Funds can be stolen if a contract receives a malicious code upgrade. There is a 7 days delay on code upgrades.