githubEdit

Witness Protocol

The Witness Protocol is not intended to replace cryptographic proofs. Its purpose is to reduce trust assumptions in situations where execution or consensus proofs are unavailable, incomplete, or not yet applicable.

Instead of blindly trusting a single data provider, a client can obtain independent confirmation of specific information from one or more witnesses. Witnesses attest to the correctness of information by issuing signed statements. This introduces an additional verification layer and reduces reliance on a single unverified source.

The Witness Protocol is designed as an intermediate security mechanism. It provides immediate trust reduction while preserving a clear upgrade path toward fully proof-based verification once native execution and consensus proofs become available.

For certain scenarios, witnesses are the only viable verification mechanism at a given point in time. A prominent example are Layer-2 rollups where a sequencer can attest that transactions or data have been accepted, while the corresponding state is not yet anchored on Layer 1 and therefore not provable. In such cases, witnesses—such as the sequencer itself—provide the only form of verifiable confirmation prior to L1 finality.

Application Scenarios

The Witness Protocol applies to situations in which proof-based verification cannot be performed or cannot yet be performed. The following scenarios illustrate typical use cases.

Unsupported Chains

For Layer-1 or Layer-2 chains that are not yet integrated into colibri.stateless, execution and consensus proofs are unavailable. Witnesses enable clients to obtain signed attestations about specific chain data, providing a reduced-trust verification model until native proof support is implemented.

Non-Proveable Data

Some information cannot be verified using execution or consensus proofs. This includes off-chain metadata, application-level aggregates, or protocol data that is not part of a verifiable state transition. Witnesses provide a mechanism to attest to such data while avoiding blind trust in a single provider.

Pre-Finality and Sequencer Data

In rollup systems, there is a phase in which data has been accepted by the sequencer but is not yet finalized or anchored on Layer 1. During this phase, no cryptographic proof exists. Signed witness statements are the only mechanism to confirm inclusion before final settlement.

Non-Final Data

The Witness Protocol can also be applied to inherently non-final data, such as recent blocks, pending states, or intermediate protocol states. Witnesses allow clients to reason about such data with reduced trust assumptions while explicitly acknowledging the lack of finality.

Limitations and Role

The Witness Protocol cannot replace execution or consensus proofs and must not be treated as equivalent. It introduces explicit trust and, in crypto-economic variants, additional system complexity.

At the same time, witnesses enable colibri.stateless to scale rapidly in its initial deployment phase. Chains, data sources, and information types for which no proofs exist yet can be integrated immediately using witness-based verification.

This includes information for which cryptographic proofs are fundamentally unavailable. As native proof support becomes available over time, witness-based verification can be incrementally replaced.

The Witness Protocol is therefore essential for the rapid and broad adoption of stateless clients and serves as a practical bridge on the path toward fully trustless verification.

Last updated