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 Invertible
ANCHOR_RESERVE N of M GUARDIAN_SET_HASH n ≤ m, hash present → SATISFIED threshold validation: 0 < n ≤ m
FieldData TypeSizeSideDescription
threshold_nNUMERIC1-4 BConditionsRequired number of guardian signatures. Must be ≥ 0 and ≤ threshold_m.
threshold_mNUMERIC1-4 BConditionsTotal number of guardians. Must be ≥ 0.
guardian_set_hashHASH25632 BConditionsHash committing to the full guardian pubkey set. Must equal SHA256(witness PREIMAGE) at spend time (hash binding via VerifyHashPreimageBinding).
preimagePREIMAGEvarWitnessPreimage whose SHA-256 must equal guardian_set_hash. Required at spend time; in practice this is a deterministic serialisation of the guardian pubkey set.
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
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 → UNSATISFIED
3.ReadNumeric on the first two NUMERICs: threshold_n and threshold_m. Either undecodable → UNSATISFIED
4.Range/order check: threshold_n < 0, threshold_m < 0, or threshold_n > threshold_mUNSATISFIED
5.All checks passed → SATISFIED
ConditionResult
Fewer than 2 NUMERIC fields, or HASH256 absentERROR
Witness has no PREIMAGE, or hash binding failsUNSATISFIED
HASH256 not exactly 32 BUNSATISFIED
Either NUMERIC undecodableUNSATISFIED
threshold_n < 0, threshold_m < 0, or threshold_n > threshold_mUNSATISFIED
Hash binding holds, 0 ≤ n ≤ mSATISFIED
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.

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.