# Architecture

The basic Design for Colibri Stateless is based on 2 componente:

1. The Proofer - responsible for generating verifiable proof and pack it into a a ssz formatted [datastructure](https://github.com/corpus-core/colibri-stateless-doc/blob/main/specification/specifications/ethereum-execution-proofs/ethereum-main-proof-request/README.md#c4request).
2. The Verifier - verifiying this Proof and extracting the requested data.

{% @mermaid/diagram content="flowchart
P\[Proofer] --> V\[Verifier]
V --> P
P -.-> RPC" %}

The verifier itself is almost stateless and only needs to store the state of the sync committee, which changes every 27h. But with the latest sync committee the verifier is able to verify any proof with the signatures matching the previously verified public keys of the sync committee.\
This allows independent Verification and security on any devices without the need to process every blockheader (as light clients usually would do).
