Glossary
Short definitions for terms used throughout this site.
Address
A 32-byte hash (64 hex chars) of a locking script. Where you receive
payments. Same string is accepted as the script_hex parameter of
get_script_utxos. Not the same as the
public key.
Argon2id
The memory-hard hash function Exfer uses for proof of work. Parameters:
m=64 MiB, t=2, p=1. Designed to resist ASIC speedup. See
How exfer mining works.
Assume-valid
Optimization where blocks at or below the hardcoded checkpoint height
(130 000) skip Argon2id PoW verification during IBD. All other
validation (signatures, UTXO accounting, state roots, coinbase rules,
timestamps) is always performed. Disable with --no-assume-valid.
Block
The unit of consensus. Contains a header (PoW, links to previous block) and a list of transactions. Target block time: 10 seconds.
Coinbase
The special first transaction in a block that pays the block reward and fees to the miner. Coinbase outputs are unspendable for 360 blocks (coinbase maturity).
Coinbase maturity
The number of confirmations a coinbase output needs before it can be spent: 360 blocks (~1 hour).
Confirmation
Each additional block built on top of the one containing your
transaction is one confirmation. tip_height - tx_block_height + 1.
Difficulty target
A threshold the block PoW hash must be below. Retargets every 4 320 blocks to keep block time near 10 s.
Dust
An output below 200 exfers. Skipped by the wallet's input-selection logic and discouraged at the protocol level.
EXFER / exfers
EXFER (upper case) is the user-facing unit. exfers (lower case) is
the base unit. 1 EXFER = 100 000 000 exfers. The CLI accepts both
formats.
Exfer Script
The transaction-condition language. A total functional combinator language — every script terminates and every cost is statically computable before execution. See Protocol specification §6.
Genesis block
The first block. Hash:
d7b6805c8fd793703db88102b5aed2600af510b79e3cb340ca72c1f762d1e051.
Height
The number of blocks between genesis and a given block. Genesis is height 0.
HTLC (Hash Time-Locked Contract)
A payment claimable by the recipient on revealing a preimage, or refundable to the sender after a timeout. The primitive behind atomic swaps. See HTLC payments.
IBD (Initial Block Download)
The cold-sync process for a fresh node: download headers, then bodies, then validate.
Mempool
The local pool of unconfirmed transactions a node keeps until they're included in a block (or evicted).
Multisig
Locking script requiring N-of-M signatures to unlock. Exfer ships 2-of-2, 1-of-2, and 2-of-3 patterns. See Multisig.
Node identity
An Ed25519 keypair (node_identity.key) used by the P2P layer to
authenticate a node to its peers. Distinct from any wallet keys.
OutPoint
A reference to a specific output of a specific transaction:
{tx_id, output_index}. Inputs in a new transaction reference the
OutPoints they consume.
Preimage
The secret a recipient reveals to claim an HTLC. The lock specifies
hash_lock = SHA256(preimage).
PoW (Proof of Work)
The computational lottery a miner runs to produce a valid block. Exfer uses Argon2id.
Reorg (re-organization)
The chain switching from one fork to a longer competing fork. A transaction confirmed on the losing fork can become unconfirmed (or land in a different block). See Confirmation depth & reorg semantics.
RPC
The JSON-RPC 2.0 HTTP interface a node optionally exposes via
--rpc-bind. Seven methods total. See
JSON-RPC reference.
Script hash
The 32-byte SHA-256 of a canonical locking script. Addresses are script hashes — a plain pay-to-pubkey address is the hash of the trivial "check signature against this pubkey" script.
Tip
The highest-height block of the local node's best chain.
Tx (transaction)
A signed message that consumes one or more existing UTXOs and creates one or more new UTXOs.
UTXO (Unspent Transaction Output)
An output that hasn't been spent yet. Your balance is the sum of UTXOs locked to your address.