Skip to content

BeaconKit Light client #610

@Wizdave97

Description

@Wizdave97

The beaconkit is a framework for consensus clients that conforms to the standard ethereum beacon consensus spec.

It has a beacon state that is merklelized using ssz.

To verify its consensus, we need to verify the block signature and verify the execution payload proof.

A simplified beacon kit consensus update would contain:

struct BeaconkitUpdate {
    tendermint_update: TendermintConsensusUpdate,
    // SignedBeaconBlock, this is the first transaction in the cometBFT block
   ssz_encoded_beacon_block: Vec<u8> ,
   // Merkle proof of the first transaction in the block
   proof: Vec<H256>
}

The algorithm is simple:

  • Verify the Tendermint update
  • Verify the transaction proof using the DataHash in the verified tendermint signed header, decode the beacon block and extract the execution payload

The prover will basically be the regular Tendermint prover with additional functionality to fetch the CometBFT block and generate a transaction proof for the first transaction

Sub-issues

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions