Logs Proof
A Logs Proof verifies that specific log entries, returned by eth_getLogs, are correctly included within transaction receipts of a verified execution block.
Transaction Root Calculation: For each transaction producing a log entry, the transaction payload is used to compute its SSZ hash tree root.
Execution Payload Proof: An SSZ Merkle proof is constructed, linking the
transactionsfield within the ExecutionPayload to theblockBodyRoot. The total proof depth for this structure is 29.Consensus Reference: The BeaconBlockHeader is included in the proof to provide the
slotinformation. This identifies which sync committee is responsible for signing the corresponding block root.Sync Committee Signature: The BLS aggregate signature of the following block’s sync committee is verified against the
SignDatathat includes the block hash. The signing domain is derived from the fork version and the Genesis Validator Root. Successful verification confirms that the block—and therefore all contained receipts and logs—is part of the canonical chain.
Each log proof must reference its corresponding receipt proof, ensuring that every verified log entry is linked to a valid transaction and included in a verified execution block.
This Proof is used for the following RPC-Methods:
eth_getLogs - currently everthing except the logIndex is verified
eth_getLogs - currently everthing except the logIndex is verified
EthLogsTx
Represents one single transaction receipt with the required transaction and receipt-proof. The proof contains the raw receipt as part of its last leaf.
The Type is defined in src/chains/eth/ssz/verify_proof_types.h.
class EthLogsTx(Container):
transaction : Bytes[1073741824] # the raw transaction payload
transactionIndex : Uint32 # the index of the transaction in the block
proof : List [bytes_1024, 256] # the Merkle Patricia Proof of the transaction receipt ending in the receipt rootEthLogsBlock
A single Block with its proof containing all the receipts or txs required to proof for the logs.
The Type is defined in src/chains/eth/ssz/verify_proof_types.h.
Referenced Types
EthReceiptDataLog
A log entry in the receipt.
The Type is defined in src/chains/eth/ssz/verify_data_types.h.
Last updated