> For the complete documentation index, see [llms.txt](https://docs.creditcoin.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.creditcoin.org/usc/creditcoin-oracle-subsystems/readability/step-1-attestation.md).

# Step 1: Attestation

## **Introduction**

Attestation is the process by which the Creditcoin Decentralized Oracle keeps track of the confirmed state of source chains. This is the first of two critical steps for Creditcoin Oracle readability. State transitions of each source chain are monitored by a decentralized network of attestors. Each eligible attestor creates an attestation, a cryptographic commitment showing its view of new blocks on the source chain and signs it with a BLS signature. Since no single attestor can be fully trusted, we require consensus among independent attestors, achieved through a P2P gossip network that aggregates votes and signatures offline before submitting them on Creditcoin.

## **Attestation Process**

The attestation process is outlined below:<br>

1. Attestors constantly monitor the source chain for new finalized blocks.
2. Periodically, attestors summarize the new blocks they've seen in an attestation. The new blocks are organized as a chain segment, so that block hashes link from finalized attestation `n` to the new attestation `n + 1`. For security and scalability, only a random subset of registered attestors is eligible to vote on an attestation at a given source chain block height. Eligible attestors sign their respective attestation votes with BLS signatures and submit them to the P2P gossip network.
3. The off-chain P2P gossip network coordinates the attestation votes, validates them, and aggregates the BLS signatures.
4. Once a quorum of votes for an attestation is reached, a random set of attestors is selected using a [*VRF*](https://en.wikipedia.org/wiki/Verifiable_random_function) to submit the aggregated votes and attestation data to Creditcoin.
5. The Creditcoin validators then verify the aggregated votes (including attestor eligibility and the aggregated BLS signature), verify the attestation's continuity chain of hashes, and store the attestation on-chain if valid.

This approach reduces on-chain traffic by consolidating multiple attestor votes into a single transaction with a single aggregated signature, enabling efficient scaling to larger attestor networks.

The follow diagram provides a visualization of this process:

<figure><img src="/files/SHlfaHS0x2z3rVLRoOTM" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.creditcoin.org/usc/creditcoin-oracle-subsystems/readability/step-1-attestation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
