Selene is a fast, open source, portable & secure light client for Ethereum written in Golang. We plan to ship Selene as the underlying software behind wallets that use light clients. We derived our inspiration from Helios which is a light client written in Rust. The project is in active maintenance on the dev branch.
- The Consensus Layer provides sync information and verified block headers to the RPC Server.
- The RPC Server passes block information and verified headers to the Execution Layer.
- The Execution Layer validates Merkle proofs based on the state root and requested data.
This server acts as an intermediary between the Consensus and Execution layers. It handles:
- Providing block headers of previous blocks from checkpoint to the latest block
- Transmitting block gossip of block head
- Passing verified block headers to the Execution Layer
The Execution Layer is responsible for processing transactions and maintaining the current state of the blockchain. It includes:
A Validate Merkle Proofs
field that:
Takes state root and requested data as input Outputs a boolean (true/false) indicating the validity of the Merkle proof
The Consensus Layer is responsible for maintaining agreement on the state of the blockchain across the network. It includes:
- Getting weak subjectivity checkpoints
- Logic for determining current and next sync committees
- A Syncing process that:
- Uses sync committee makeup to fetch previous block headers
- Syncs for each sync committee period (~27 hours) up to the latest block
- A verify bls sig function that:
- Takes
blsaggsig
andblspubkey[]
as input - This function verifies a BLS aggregate signature. It accepts the aggregated signature (blsaggsig) and an array of public keys (blspubkey[]), returning a boolean value that indicates whether the signature is valid.
- Takes
Yet to come.
Yet to come.
In progress.
Selene is still experimental software. We hope to ship v0.1 by November 2024.
We openly welcome contributions to selene from the broader ethereum community. For details, refer CONTRIBUTION GUIDELINES.