Account Proof

An Acccount Proof represents the account and storage values, including the Merkle proof, of the specified account.

  1. Execution-Layer Proof A Patricia Merkle Proof is constructed for the account object in the execution layer. This proof includes the account’s balance, nonce, codeHash, and storageRoot, as well as separate proofs for all accessed storage keys. The resulting root of this proof corresponds to the block’s stateRoot. (Equivalent to the data returned by eth_getProof.)

  2. State Proof An SSZ Merkle Proof links the stateRoot from the execution layer to the ExecutionPayload, and further through the BeaconBlockBody to its root hash, which is included in the BeaconBlockHeader.

  3. Consensus Reference The BeaconBlockHeader is included in the proof to provide the slot information, which identifies the sync committee period responsible for signing the corresponding block root.

  4. Sync Committee Signature The BLS aggregate signature from the sync committee of the following block is verified against the SignData containing the block hash. The signing domain is derived from the fork version and the Genesis Validator Root, confirming that the account data originates from a block included in the canonical chain.

This Proof is used for the following RPC-Methods:

EthStateProof

The stateRoot proof is used as part of different other types since it contains all relevant proofs to validate the stateRoot of the execution layer.

The Type is defined in src/chains/eth/ssz/verify_proof_types.harrow-up-right.

Referenced Types

EthStorageProof

Represents the storage proof of a key. The value can be taken from the last entry, which is the leaf of the proof.

The Type is defined in src/chains/eth/ssz/verify_proof_types.harrow-up-right.

EthAccountProof

The main proof data for an account.

The Type is defined in src/chains/eth/ssz/verify_proof_types.harrow-up-right.

Referenced Types

EthStorageProofData

Represents the storage proof of a key. The value can be taken from the last entry, which is the leaf of the proof.

The Type is defined in src/chains/eth/ssz/verify_data_types.harrow-up-right.

EthProofData

Container type for storage proof data Account proof data as returned by eth_getProof. Contains the account state and Merkle proofs for account and storage values.

The Type is defined in src/chains/eth/ssz/verify_data_types.harrow-up-right.

Referenced Types

Last updated