# CrossCurve Oracle Network

## Introduction

The CrossCurve Oracle Network is a cross-chain messaging service based on BLS signatures. It is a core subsystem of the CrossCurve Token Bridge as well as one of the supported messaging services used within the CrossCurve Token Bridge.

Cross-chain bridges are an attractive target for attackers because the message transmission layer effectively exists outside the onchain execution of both blockchains. In practice, vulnerabilities in traditional bridges are frequent and are almost always related to some form of centralization. A modern alternative is a decentralized cross-chain messaging service that relies on oracle networks secured with BLS cryptography.

## Solution architecture

A network of independent oracles is a decentralized set of validators that:

* Monitor events on the source chain (Ethereum, Polygon, Avalanche, and others)
* Reach consensus on observed events
* Collectively sign proofs for the destination chain

BLS (Boneh-Lynn-Shacham) signatures form the cryptographic foundation and allow the system to:

* Aggregate signatures from many nodes into a single compact signature
* Verify the authenticity of a group signature without revealing individual signatures
* Reduce gas costs on destination blockchains thanks to signature compactness

## How it works: a three-step process

### 1. Event listening

Oracles independently monitor smart contracts on the source chain. When a relevant event is detected, such as a cross-chain message being emitted, each node:

* Verifies the correctness of the event
* Generates a cryptographic proof (Merkle proof)
* Signs it with its BLS private key

### 2. Signature aggregation

The current coordinator collects signatures from network participants:

* Checks that the minimum signing threshold is met
* Aggregates individual BLS signatures into a single multisignature
* Prepares the data package for submission to the destination chain

### 3. Verification on the destination chain

A smart contract on the destination chain:

* Receives the aggregated BLS signature and event data
* Verifies the signature against the known group public key of the oracle network
* Upon successful verification, delivers the original message to the target address on the destination chain

## Advantages of the approach

Security: an attack requires compromising a threshold number of nodes\
Efficiency: a single multisignature verification instead of N individual checks\
Decentralization: no single point of failure


---

# Agent Instructions: 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.crosscurve.fi/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-oracle-network.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.
