# Challenge Initiation

Once a **Validating Node (VN)** detects a discrepancy, it initiates a challenge. For the challenge to proceed, the VN must provide clear **proof** to justify the challenge. This proof is essential to ensure that the challenge is valid and is not raised without substantial evidence.

<figure><img src="/files/cjyOhIcgOZs4YGVuK5TG" alt=""><figcaption><p>Challenge Initiation</p></figcaption></figure>

## **Proof Required for Different Discrepancies**

### **Incorrect Sequencing of Orders by the Off-Chain Sequencer**

If the discrepancy is related to incorrect sequencing, where the sequencer has processed orders in the wrong order, the VN must provide timestamps and data logs from both the **off-chain sequencer** and **on-chain data**.

**Proof Required**:

* **Order timestamps** from the sequencer that show when each transaction was received.
* A log of the actual **order sequence** processed by the sequencer.
* Comparison of the timestamps to show the correct sequence of events (e.g., that **Order B** should have been processed before **Order C**, but the sequencer processed **Order C** first).
* The corresponding **on-chain (Submission B) records** showing the mismatch, if relevant.

**Example**: The VN submits proof showing that:

* **Order B** was received at **10:01 AM** and **Order C** at **10:02 AM**.
* The sequencer, however, processed **Order C** first, even though it arrived later. This would be enough evidence for the challenge to pass to the next phase.

***

### **Mismatch Between On-Chain and Off-Chain Data**

If the challenge is due to a mismatch between the off-chain order and its corresponding on-chain transaction, the VN must present proof comparing the two sets of data, showing the inconsistency between what was processed off-chain and what was posted on-chain.

**Proof Required:**

* **Off-chain (Submission A) transaction logs** that include the details of the transaction as processed by the sequencer.
* **On-chain (Submission B) transaction data** as posted on-chain, such as amounts, transaction IDs, and other relevant information.
* A **comparison of both off-chain and on-chain data** to show the discrepancy (e.g., an on-chain order for **1 BTC** is posted off-chain as **0.5 BTC**).

**Example:**

A VN provides evidence showing that:

* The off-chain record for **Order A** was to sell **0.5 BTC** for **1 ETH**.
* The on-chain record for **Order A** shows **1 BTC** for **1 ETH**.

This mismatch between off-chain and on-chain data would serve as valid proof for the challenge.

### **How Submission B Helps Identify Mismatches?**

When orders are posted directly on-chain through the **Submission B** method, these mismatches can be easily identified. Since **Submission B** directly records the order on the blockchain without going through the centralized sequencer, it provides a clear, immutable source of truth. VNs can compare the data from **Submission B** (the on-chain version) with the off-chain logs processed by the sequencer. Any discrepancies between the two would immediately stand out, making it straightforward for VNs to detect and challenge errors.

***

### **Exclusion of Valid Orders**

If the sequencer has excluded an order that should have been processed and posted on-chain, the VN must prove that the order was submitted but was not included on-chain.

**Proof Required**:

* **Proof of submission** that the order was valid and was submitted directly **on-chain (Submission B)**, along with the exact details (e.g., order details, submission time).
* A check of the **off-chain** records proving that the order was never included or posted by the sequencer **(Submission A)**.

**Example**: If **Order A** (sell **1 BTC** for **1 ETH**) was submitted directly on-chain and never processed by the sequencer, the VN provides logs showing the order was received directly on-chain but was not processed by the sequencer. This would serve as evidence of the exclusion.


---

# 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.yamata.io/yamata-nodes/order-validation/challenge-process/challenge-initiation.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.
