TYPE 0x0504 · ANCHOR FAMILY
ANCHOR_RESERVE
Reserve and federation anchor. Verifies an N-of-M threshold guardian set with a committed guardian set hash. Used to anchor federated sidechain parameters and multi-guardian reserve configurations.
Anchor InvertibleLadder Diagram
Fields
| Field | Data Type | Size | Side | Description |
|---|---|---|---|---|
| threshold_n | NUMERIC | 1-4 B | Conditions | Required number of guardian signatures. Must be ≥ 0 and ≤ threshold_m. |
| threshold_m | NUMERIC | 1-4 B | Conditions | Total number of guardians. Must be ≥ 0. |
| guardian_set_hash | HASH256 | 32 B | Conditions | Hash committing to the full guardian pubkey set. Must equal SHA256(witness PREIMAGE) at spend time (hash binding via VerifyHashPreimageBinding). |
| preimage | PREIMAGE | var | Witness | Preimage whose SHA-256 must equal guardian_set_hash. Required at spend time; in practice this is a deterministic serialisation of the guardian pubkey set. |
Wire Format Breakdown
0x0504
0
3
NUMERIC · 3B
NUMERIC · 3B
HASH256 · 32B
Conditions = 48 bytes
0x0504
0
1
PREIMAGE · var
Witness ≈ 4 + 1 + len bytes
Total
≈ 53 + len bytes
Evaluation Logic
1.Collect NUMERIC fields. Fewer than 2, or no HASH256 present (HasRequiredHashes(block, 1)) → ERROR
2.VerifyHashPreimageBinding(block): each conditions HASH256 must match
SHA256 of a corresponding witness PREIMAGE (in field order). Missing PREIMAGE, undersized HASH256, or mismatch → UNSATISFIED3.ReadNumeric on the first two NUMERICs:
threshold_n and threshold_m. Either undecodable → UNSATISFIED4.Range/order check:
threshold_n < 0, threshold_m < 0, or threshold_n > threshold_m → UNSATISFIED5.All checks passed → SATISFIED
Return Values
| Condition | Result |
|---|---|
| Fewer than 2 NUMERIC fields, or HASH256 absent | ERROR |
| Witness has no PREIMAGE, or hash binding fails | UNSATISFIED |
| HASH256 not exactly 32 B | UNSATISFIED |
| Either NUMERIC undecodable | UNSATISFIED |
threshold_n < 0, threshold_m < 0, or threshold_n > threshold_m | UNSATISFIED |
Hash binding holds, 0 ≤ n ≤ m | SATISFIED |
JSON Wire Format
Conditions (3-of-5 guardian reserve — committed in the rung leaf)
{
"type": "ANCHOR_RESERVE",
"inverted": false,
"fields": [
{ "type": "NUMERIC", "value": 3 },
{ "type": "NUMERIC", "value": 5 },
{ "type": "HASH256", "hex": "c7d8e9f0...guardian set hash...32 bytes" }
]
}Witness (input)
{
"type": "ANCHOR_RESERVE",
"fields": [
{ "type": "PREIMAGE", "hex": "... preimage that hashes to guardian_set_hash ..." }
]
}Anchors a 3-of-5 threshold guardian set. The hash commits to the ordered list of all 5 guardian pubkeys; the spend reveals a preimage equal to the canonical serialisation of that list.
Use Cases
Federated Sidechain Anchors
Anchor the federation parameters of a sidechain on the main chain. The threshold and guardian set hash define who controls the peg, providing an auditable on-chain record of the federation configuration.
Multi-guardian Reserves
Commit reserve custody parameters on-chain. An N-of-M guardian set controls the reserve, with the hash binding to the specific guardian pubkeys. Enables transparent proof-of-reserves with verifiable custody thresholds.