In brief
Reachability answers ancestry questions in a DAG and supports GHOSTDAG, pruning, and validation work.
What this page explains#
Reachability answers ancestry questions in a DAG and supports GHOSTDAG, pruning, and validation work. This page sits in Core Protocol Source Path. It gives the topic a plain-language handle first, then shows the working idea, the mechanism, the source trail, and any limits that still matter. This category is a code-reading path. It treats source files as evidence with boundaries: a constant proves one kind of thing, a pipeline proves another, and a test proves only the scenario it covers.
The writing follows a simple Kaspa documentation pattern: answer the practical question first, then link outward for details. The closest public sources for this page are RK-REACHABILITY, RK-GHOSTDAG, RK-PRUNING. Local notes can help choose what to explain, but public-facing references resolve to upstream websites, repositories, papers, release pages, or docs.
How to think about it#
The practical model starts by naming the layer that owns the topic: wallet use, node operation, consensus, transaction validation, Toccata script behavior, tooling, or research. From there, the page shows which public source can support the explanation and where the explanation becomes incomplete.
For Reachability, the model is built around these anchors: DAG ancestry is different from selected-parent chain ancestry; reachability intervals support efficient ancestor queries; reindexing and updates are implementation concerns; GHOSTDAG and pruning depend on reachability services; source walk pages should identify exact query surfaces. This model is useful, but it does not encode every constant, branch, error type, or edge case. Those details belong in the source path and the source notes.
How it works#
1. DAG ancestry is different from selected-parent chain ancestry. Core protocol source pages explain which subsystem owns the behavior. The reader should come away knowing whether the evidence belongs in params, constants, proof of work, header processing, body processing, virtual processing, DAA, pruning, reachability, storage, or tests.
2. reachability intervals support efficient ancestor queries. Core protocol source pages explain which subsystem owns the behavior. The reader should come away knowing whether the evidence belongs in params, constants, proof of work, header processing, body processing, virtual processing, DAA, pruning, reachability, storage, or tests.
3. reindexing and updates are implementation concerns. Core protocol source pages explain which subsystem owns the behavior. The reader should come away knowing whether the evidence belongs in params, constants, proof of work, header processing, body processing, virtual processing, DAA, pruning, reachability, storage, or tests.
4. GHOSTDAG and pruning depend on reachability services. Core protocol source pages explain which subsystem owns the behavior. The reader should come away knowing whether the evidence belongs in params, constants, proof of work, header processing, body processing, virtual processing, DAA, pruning, reachability, storage, or tests.
5. source walk pages should identify exact query surfaces. Index and query-surface claims are about what data a node, RPC service, or indexer can expose, not a shortcut around consensus. The guide should say which index must exist, which interface reads it, how restart or replay affects it, and which source path proves the field or evidence is preserved.
This mechanism section is a source checking guide. Each paragraph names the subsystem that owns the claim and keeps constants, params, pipelines, tests, releases, and KIPs in their own evidence lanes.
How to check it#
| Step | Check | Evidence gate |
|---|---|---|
| 1 | Check DAG ancestry is different from selected-parent chain ancestry. | Read RK-REACHABILITY, RK-GHOSTDAG, RK-PRUNING; identify the exact Rusty Kaspa module, test, KIP, or release that owns this behavior. |
| 2 | Check reachability intervals support efficient ancestor queries. | Read RK-REACHABILITY, RK-GHOSTDAG, RK-PRUNING; identify the exact Rusty Kaspa module, test, KIP, or release that owns this behavior. |
| 3 | Check reindexing and updates are implementation concerns. | Read RK-REACHABILITY, RK-GHOSTDAG, RK-PRUNING; identify the exact Rusty Kaspa module, test, KIP, or release that owns this behavior. |
| 4 | Check GHOSTDAG and pruning depend on reachability services. | Read RK-REACHABILITY, RK-GHOSTDAG, RK-PRUNING; identify the exact Rusty Kaspa module, test, KIP, or release that owns this behavior. |
| 5 | Check source walk pages should identify exact query surfaces. | Read RK-REACHABILITY, RK-GHOSTDAG, RK-PRUNING; identify the exact Rusty Kaspa module, test, KIP, or release that owns this behavior. |
When using this page for source review, start with the claim class, then read the owner module, tests, KIP or release context, and any dependent interface. Record what the source proves and what it does not prove before strengthening wiki wording.
Related Pages#
- pruning-and-pruning-proofs
- core-protocol-source-path
- p2p-and-ibd