Scope: This document describes the live RustChain protocol at a developer level: RIP-200 consensus, attestation, epoch settlement, hardware fingerprinting, network roles, and the public API surface.
Related docs:
RustChain is a Proof-of-Antiquity network. It rewards real physical hardware rather than synthetic compute, and it deliberately favors older or rarer machines that are harder to fake in software.
The protocol is built around three core ideas:
- 1 CPU = 1 vote for baseline participation
- Hardware antiquity changes reward weight
- Attestation proves the machine is real enough to participate
Current implementation notes:
- The node is a Python/Flask application with a SQLite-backed state layer.
- Miners and utility scripts perform hardware fingerprinting and submit attestation data.
- Settlement proofs are anchored externally for auditability.
RIP-200 is the RustChain consensus and settlement flow. It is not traditional PoW and not a typical PoS design.
sequenceDiagram
participant Miner as Miner
participant Node as Attestation Node
participant Epoch as Epoch Ledger
participant Ergo as External Anchor
Miner->>Node: Request attestation / health / epoch info
Miner->>Miner: Collect hardware signals + fingerprint checks
Miner->>Node: Submit signed attestation payload
Node->>Node: Validate payload shape, identity, and fingerprints
Node-->>Miner: Accepted / rejected
Node->>Epoch: Enroll eligible miner for current epoch
Note over Node,Epoch: Epoch closes
Node->>Node: Compute reward weights and settle balances
Node->>Ergo: Anchor settlement hash / proof
Miner->>Node: Query balance / history / explorer
At the end of an epoch, the protocol computes an eligible weight for each miner and allocates the epoch pot proportionally.
Conceptually:
reward_i = epoch_pot × (weight_i / sum(weight_all_eligible_miners))
Where weight_i is influenced by:
- validated hardware presence
- antiquity multiplier
- fingerprint confidence / anti-emulation checks
- any additional policy knobs exposed by the node
Attestation is the main trust primitive. The node does not rely on self-reported claims alone; it expects hardware-derived evidence.
The miner payload is expected to carry a structured report containing some combination of:
- miner identifier
- timestamp / nonce / challenge context
- hardware identity fields
- fingerprint results
- optional signed proof material
Typical data classes include:
miner/miner_iddevice(family,arch,model,cpu,cores, etc.)signals(host- or machine-specific metadata)fingerprint(check results)signature/ public-key material where required
The validation pipeline generally checks:
- request shape and required fields
- miner identity formatting
- timestamp / nonce / challenge consistency
- hardware signal sanity
- anti-abuse or rate-limit constraints
- fingerprint pass/fail status
- eligibility for enrollment in the epoch ledger
{
"miner_id": "RTC_example",
"device": {
"family": "PowerPC",
"arch": "G4",
"model": "PowerBook5,4"
},
"fingerprint": {
"clock_drift": true,
"cache_timing": true,
"simd_identity": true,
"thermal_entropy": true,
"instruction_jitter": true,
"anti_emulation": true
}
}RustChain’s anti-spoofing model relies on hardware behavior that is difficult to reproduce accurately in a VM or emulator.
- Clock drift / oscillator variance
- Cache timing characteristics
- SIMD identity and timing
- Thermal entropy / load response
- Instruction-path jitter
- Anti-emulation heuristics
- VMs tend to have cleaner, more deterministic timing than physical machines.
- Emulators often flatten cache and thermal behavior.
- Real hardware shows small imperfections caused by silicon, aging, and heat.
- The goal is not perfect certainty; the goal is to make spoofing expensive and brittle.
RustChain treats a machine as more trustworthy when multiple signals agree:
- claimed architecture matches measured behavior
- timing distributions look physical, not synthetic
- the machine does not expose hypervisor artifacts
- repeat observations remain consistent over time
RTC is the native token used for rewards and settlement.
Key economic ideas:
- epoch rewards are distributed to eligible miners
- the final share depends on validated weight
- older and rarer hardware can receive higher multipliers
- reward accounting is visible via wallet and explorer APIs
For exact supply, emission, and distribution policy, see:
- Tokenomics
- API Reference for live balance and epoch endpoints
This protocol spec focuses on mechanics rather than duplicating every tokenomics constant.
graph TD
Miner1[Miner] --> Node[Attestation Node]
Miner2[Miner] --> Node
Miner3[Miner] --> Node
Node --> Ledger[(Epoch / Pending Ledger)]
Node --> Explorer[Explorer / Public API]
Node --> Anchor[Ergo Anchor]
- Miners: collect hardware data and submit attestations
- Attestation node: validates miners, tracks epoch state, exposes APIs
- Ledger: stores pending and settled reward state
- Explorer/API: public visibility into miners, epochs, balances, and health
- External anchor: immutable proof / settlement anchor
The public network is designed to be inspectable via HTTPS endpoints, while some operator routes are intentionally restricted.
The exhaustive endpoint reference lives in API.md. This section highlights the core public calls that are most relevant to protocol understanding.
curl -sk https://rustchain.org/health | jq .Returns node health, version, uptime, database status, and related status fields.
curl -sk https://rustchain.org/epoch | jq .Returns the current epoch number, slot, epoch pot, enrolled miner count, and supply-related metadata.
curl -sk https://rustchain.org/api/miners | jq .Returns the live miner list, including device family, architecture, multiplier, and recent attestation info.
curl -sk "https://rustchain.org/wallet/balance?miner_id=YOUR_MINER_ID" | jq .Returns the current RTC balance for the provided miner or wallet identifier.
curl -sk "https://rustchain.org/wallet/history?miner_id=YOUR_MINER_ID&limit=10" | jq .Returns recent transfers and wallet-scoped ledger activity.
If you need the full list of request/response shapes, use:
RustChain expects VMs and emulators to fail at least one of the hardware checks or to produce low-confidence behavior. This protects reward fairness.
The network’s identity model is hardware-bound rather than purely account-bound, which makes large-scale fake miner creation more expensive.
Reward settlement is tracked in ledger state and anchored externally to make reward history harder to tamper with.
- Transaction signing uses Ed25519-style key material in the wallet tooling.
- Private keys must remain offline and permission-restricted.
- Wallet backups are operationally sensitive and should be treated as secrets.
- RIP-200: RustChain’s consensus and attestation protocol family.
- Proof of Antiquity: Reward model that favors real, older, rarer hardware.
- Attestation: A signed or structured hardware proof submitted to the node.
- Epoch: Reward accounting window.
- Antiquity multiplier: Reward factor based on hardware class and age.
- Pending ledger: Intermediate settlement state before final confirmation.
- Ergo anchoring: External proof mechanism used to preserve settlement integrity.
- Anti-emulation: Detection logic that discourages VMs and synthetic hardware.
If you are extending the protocol or writing a client:
- prefer the live API docs over hard-coded assumptions
- use
curl -skwhen testing against the public node if TLS verification is expected to fail locally - validate device-family and architecture fields before comparing rewards
- keep documentation aligned with
API.md,tokenomics_v1.md, and the live explorer
Protocol documentation maintained as part of the RustChain docs set.