DEV Community

Shamyl Bin Mansoor
Shamyl Bin Mansoor

Posted on

Old Iron Earns More: A Technical Look at RustChain Proof-of-Antiquity

Old Iron Earns More: A Technical Look at RustChain's Proof-of-Antiquity

Why I'm Writing This

I came across RustChain while looking at experimental consensus mechanisms. The pitch is unusual: a blockchain where a 2003 PowerBook G4 earns 2.5x more mining rewards than a modern AMD Threadripper. Not because it's faster — because it's older and provably real. I dug into the source code to understand whether this is a genuine novelty or another crypto gimmick. This is what I found.

The Core Idea: 1 CPU = 1 Vote

RustChain's consensus, called Proof-of-Antiquity (PoA), replaces hash-rate competition with hardware identity. Instead of "more compute = more reward," the system rewards hardware diversity and longevity. The principle is simple: a machine that has survived 20 years is rarer and more interesting than a rack of cloud VMs you spun up five minutes ago.

The project's CPU_ANTIQUITY_SYSTEM.md lays out the full multiplier tiers. Here's a sample:

Era Multiplier Example Hardware
Mythic (pre-1985) 3.5–4.0x DEC VAX, Inmos Transputer
Legendary (1979–1994) 2.5–3.5x Motorola 68000, SPARC v7
PowerPC G4 (2001–2006) 2.5x PowerBook G4
Vintage x86 (2000–2008) 1.3–1.5x Pentium 4, Core 2 Duo
Modern x86 (2020+) 0.8–1.0x Ryzen 9, Alder Lake
ARM SBCs 0.0005x Raspberry Pi 4/5

The 0.0005x penalty for ARM single-board computers is deliberate — the docs note that "anyone could spin up thousands" of $35 Raspberry Pis, so the system aggressively de-incentivizes ARM farms.

How It Detects Real Hardware

This is where it gets technically interesting. The system can't just take your word for what CPU you have — you'd lie. So it uses six hardware fingerprinting checks that are hard to spoof:

1. Oscillator Drift (hardware_spoof_lib.py)

The ClockVarianceSimulator class models clock drift — real crystals have minute frequency variations that differ per-unit. VMs typically have perfect virtual clocks. The code simulates this for testing, but the actual attestation measures your real clock's drift pattern.

2. Cache Timing

CacheTimingSpoofing in the same file shows the testing framework: L1 cache hits at ~10ns, L2 at ~40ns, L3 at ~90ns, with miss penalties at 10x. Real CPUs have specific cache hierarchy timings; VMs pass through hypervisor layers that introduce detectable jitter patterns.

3. SIMD Identity

Different CPU architectures support different instruction sets (SSE, AVX, AVX2, AVX-512, NEON, AltiVec). The instruction set itself is a fingerprint of the hardware generation.

4. Thermal Entropy

Real silicon has thermal noise that affects timing measurements. The simulate_thermal_drift() function in the spoofing library shows what the system is looking for — tiny, physics-based variations that don't exist in software emulators.

5. Instruction Jitter

The timing of specific instruction sequences varies slightly between physical CPU implementations. This is hard to fake without actual silicon.

6. Anti-Emulation

The combination of the above five signals creates a composite fingerprint. The proof_of_antiquity.json example shows what a submission looks like:

{
    "wallet": "example-wallet-123",
    "bios_timestamp": "1998-12-01T00:00:00Z",
    "cpu_model": "Pentium III",
    "entropy_score": 3.47,
    "bios_fingerprint": "1234abcd5678efgh9012ijkl3456mnop",
    "score_composite": 9.14,
    "rarity_bonus": 1.02
}
Enter fullscreen mode Exit fullscreen mode

The entropy_score and score_composite are derived from the hardware measurements, not self-reported.

Replay Attack Defense

One thing I found impressive: the project has dedicated replay attack protection. The replay_defense.py module checks three conditions:

  1. Replayed fingerprint (exact duplicate) → rejected
  2. Fresh fingerprint (new measurement) → accepted
  3. Modified replay (changed nonce but old data) → rejected

This matters because without it, someone could capture a legitimate fingerprint from a real machine and replay it. The defense computes a hash of both the fingerprint data and its entropy profile, so even modified replays with tweaked nonces get caught. There's also rate limiting (MAX_FINGERPRINT_SUBMISSIONS_PER_HOUR) to prevent spam.

The Time Decay Formula

The multiplier isn't static — it decays over time to reward early adopters. From the docs:

# For vintage hardware (>5 years old)
decay_factor = 1.0 - (0.15 * (age - 5) / 5.0)
final_multiplier = 1.0 + (vintage_bonus * decay_factor)
Enter fullscreen mode Exit fullscreen mode

Example for a PowerPC G4 (base 2.5x, age 24 years):

  • Vintage bonus: 1.5x (2.5 - 1.0)
  • Age beyond 5 years: 19 years
  • Decay: 1.0 - (0.15 × 19/5) = 0.43
  • Final multiplier: 1.0 + (1.5 × 0.43) = 1.645x

Modern hardware gets a different deal — a loyalty bonus that increases with uptime:

# For modern hardware (≤5 years old)
loyalty_bonus = min(0.5, uptime_years * 0.15)  # Capped at +50%
final_multiplier = base + loyalty_bonus  # Max 1.5x total
Enter fullscreen mode Exit fullscreen mode

So your Ryzen 9 starts at 1.0x but after 3 years of continuous uptime earns 1.45x. It's a clever design: vintage hardware gets an upfront bonus that slowly decays, while modern hardware earns its bonus through commitment.

CPU Detection in Practice

The cpu_architecture_detection.py file is a massive regex-based CPU identifier. It pattern-matches the /proc/cpuinfo brand string against hundreds of patterns. For example, Intel Sandy Bridge is detected with:

r"Core\(TM\) i[3579]-2\d{3}"  # i7-2600K, i5-2500
r"Xeon(?:\(R\))?.*E3-12\d{2}(?!\s*v)"  # E3-1230 (no v-suffix)
Enter fullscreen mode Exit fullscreen mode

The code handles Intel, AMD, PowerPC, Apple Silicon, RISC-V, Sun SPARC, SGI MIPS, Motorola 68K, Hitachi SuperH, and even game console CPUs (PS2 Emotion Engine, PS3 Cell, Dreamcast SH-4, GameCube Gekko). It's a thorough piece of work, though regex-based CPU identification is inherently fragile — a CPU string the patterns don't recognize falls through to a default.

Honest Assessment

What's genuinely interesting:

  • The "1 CPU = 1 vote" model is a real departure from PoW/PoS. It rewards hardware preservation — a 386 from 1986 earning 3.0x is objectively cool.
  • The six-factor hardware fingerprinting is non-trivial. VMs can fake individual signals, but faking all six simultaneously (clock drift + cache timing + SIMD + thermal + instruction jitter + anti-emulation) is genuinely hard.
  • The replay defense code is well-structured and addresses real attack vectors.

What's questionable:

  • RustChain is a small-cap experimental project. RTC is not a major token. The README itself says "5 Active Nodes." This is early-stage.
  • Regex-based CPU detection is only as good as the patterns. Unknown or spoofed /proc/cpuinfo strings could fool it.
  • The "AI agent economy" aspect — where autonomous agents are first-class participants with signing keys as wallets — is interesting but unproven at scale.
  • The project has an enormous number of bounty issues, many seemingly designed to drive GitHub engagement (stars, forks, content). The bounty rewards are in RTC, whose real-world value is unclear.
  • The hardware_spoof_lib.py file is literally a spoofing library — it's for testing the system, but its existence shows the cat-and-mouse nature of hardware attestation.

The honest take: Proof-of-Antiquity is a creative consensus mechanism that does something genuinely different — it values hardware for surviving, not for computing fast. The anti-emulation fingerprinting is real engineering. But this is an experimental project with minimal adoption, and the token economics are unproven. Don't mine on it expecting to get rich. Mine on it if you have a PowerPC G4 in your closet and want to put it back to work.

Getting Started

If you want to try it (on real hardware, not a VM):

pip install clawrtc
Enter fullscreen mode Exit fullscreen mode

Repo: github.com/Scottcjn/Rustchain

The project supports 15+ CPU architectures including PowerPC, SPARC, MIPS, RISC-V, and vintage x86. If you have a 20-year-old machine that still boots, it might actually earn more than your current one.


This article is an independent technical analysis. I am not affiliated with RustChain. The bounty that motivated this article explicitly asked for honest, no-hype content — factual errors should be corrected, not glossed over.

Top comments (0)