RustChain CPU Antiquity Multiplier System

March 19, 2026 ยท View on GitHub

Overview

The RustChain cryptocurrency implements a Proof-of-Antiquity (PoA) reward system that incentivizes preservation and operation of vintage computing hardware. Older CPUs receive higher mining reward multipliers, with time-based decay to reward early adopters.

This document provides comprehensive CPU generation detection patterns and antiquity multipliers for all supported architectures: Intel, AMD, PowerPC, Apple Silicon, Sun SPARC, SGI MIPS, Motorola 68K, Hitachi SuperH, Vintage ARM, RISC-V, Game Console CPUs, and ultra-rare/dead architectures.

Key Principles

  1. Vintage Hardware Premium - Older CPUs (pre-2010) get higher base multipliers
  2. Time Decay - Vintage bonuses decay 15% per year to reward early adoption
  3. Loyalty Bonus - Modern CPUs (post-2019) earn 15% bonus per year of uptime
  4. Server Bonus - Enterprise-class hardware gets +10% multiplier
  5. 1 CPU = 1 Vote - Fair distribution based on hardware, not money

Multiplier Ranges

EraBase MultiplierExample CPUs
MYTHIC (pre-1985)3.5x - 4.0xARM2, DEC VAX, Inmos Transputer, IBM ROMP
LEGENDARY (1979-1994)2.5x - 3.5xMotorola 68000-68060, SPARC v7/v8, MIPS R2000-R4000
EXOTIC (1985-2007)1.8x - 3.0xUltraSPARC, MIPS R10000+, SuperH, StrongARM, i860/i960
PowerPC (2001-2006)1.8x - 2.5xG4 (2.5x), G5 (2.0x)
Game Console (2000-2006)2.0x - 2.3xPS2 EE, PS3 Cell, Dreamcast SH-4, GCN Gekko
Vintage x86 (2000-2008)1.3x - 1.5xPentium 4, Core 2, Athlon 64
Vintage ARM (1987-2007)2.0x - 4.0xARM2/3, ARM7TDMI, StrongARM, XScale
Classic (2008-2013)1.1x - 1.3xNehalem, Sandy Bridge, Phenom II
RISC-V (2010+)1.4x - 1.5xSiFive, StarFive, Kendryte
Mid-range (2014-2019)1.0x - 1.1xHaswell, Skylake, Zen/Zen+
Modern (2020-2025)1.0x - 1.5xZen3/4/5, Alder Lake (loyalty bonus)
Apple Silicon1.05x - 1.2xM1 (1.2x), M2 (1.15x), M3 (1.1x), M4 (1.05x)
Modern aarch64 NAS/SBC0.0005x PENALTYSynology, QNAP, Raspberry Pi 4/5 (anti-spam)

Time Decay Formula

Vintage Hardware (>5 years old):

decay_factor = 1.0 - (0.15 * (age - 5) / 5.0)
final_multiplier = 1.0 + (vintage_bonus * decay_factor)

Example: 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 x 19/5) = 1.0 - 0.57 = 0.43
  • Final: 1.0 + (1.5 x 0.43) = 1.645x

Loyalty Bonus Formula

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

Example: AMD Ryzen 9 7950X (base 1.0x)

  • 0 years uptime: 1.0x
  • 1 year uptime: 1.15x
  • 3 years uptime: 1.45x
  • 5+ years uptime: 1.5x (capped)

Intel CPU Generations (2000-2025)

NetBurst Era (2000-2006) - Base: 1.5x

ArchitectureYearsModel PatternsExamples
Pentium 42000-2006Pentium(R) 4, P4Pentium 4 3.0GHz
Pentium D2005-2006Pentium(R) DPentium D 805

Core 2 Era (2006-2008) - Base: 1.3x

ArchitectureYearsModel PatternsExamples
Core 22006-2008Core(TM)2, Core 2 Duo/QuadCore 2 Duo E8400, Core 2 Quad Q6600

Nehalem/Westmere (2008-2011) - Base: 1.2x

ArchitectureYearsModel PatternsExamples
Nehalem2008-2010i[3579]-[789]\d{2}, Xeon.*[EWX]55\d{2}i7-920, Xeon X5570
Westmere2010-2011i[3579]-[89]\d{2}, Xeon.*[EWX]56\d{2}i7-980X, Xeon X5675

Sandy Bridge (2011-2012) - Base: 1.1x

Detection Pattern: i[3579]-2\d{3} or E3-12\d{2} (no v-suffix)

Model FamilyExamples
Core i3/i5/i7i7-2600K, i5-2500K, i3-2120
Xeon E3-1200E3-1230, E3-1270
Xeon E5-1600/2600E5-1650, E5-2670

Ivy Bridge (2012-2013) - Base: 1.1x

Detection Pattern: i[3579]-3\d{3} or v2 suffix on Xeon

Model FamilyExamples
Core i3/i5/i7i7-3770K, i5-3570K, i3-3220
Xeon E3-1200 v2E3-1230 v2, E3-1270 v2
Xeon E5 v2E5-1650 v2, E5-2670 v2
Xeon E7 v2E7-4870 v2, E7-8870 v2

Haswell (2013-2015) - Base: 1.1x

Detection Pattern: i[3579]-4\d{3} or v3 suffix on Xeon

Model FamilyExamples
Core i3/i5/i7i7-4770K, i5-4590, i3-4130
Xeon E3-1200 v3E3-1230 v3, E3-1231 v3
Xeon E5 v3E5-1650 v3, E5-2680 v3

Broadwell (2014-2015) - Base: 1.05x

Detection Pattern: i[3579]-5\d{3} or v4 suffix on Xeon

Model FamilyExamples
Core i5/i7i7-5775C, i5-5675C (rare desktop)
Xeon E3-1200 v4E3-1240 v4, E3-1280 v4
Xeon E5 v4E5-2680 v4, E5-2699 v4

Skylake (2015-2017) - Base: 1.05x

Detection Pattern: i[3579]-6\d{3} or Xeon Scalable 1st-gen (no letter suffix)

Model FamilyExamples
Core i3/i5/i7i7-6700K, i5-6600K, i3-6100
Xeon E3-1200 v5/v6E3-1230 v5, E3-1270 v6
Xeon Scalable 1stPlatinum 8180, Gold 6148

Kaby Lake (2016-2018) - Base: 1.0x

Detection Pattern: i[3579]-7\d{3}

Model FamilyExamples
Core i3/i5/i7i7-7700K, i5-7600K, i3-7100

Coffee Lake (2017-2019) - Base: 1.0x

Detection Pattern: i[3579]-[89]\d{3}

Model FamilyExamples
Core i3/i5/i7 (8th-gen)i7-8700K, i5-8400, i3-8100
Core i5/i7/i9 (9th-gen)i9-9900K, i7-9700K, i5-9600K

Cascade Lake (2019-2020) - Base: 1.0x

Detection Pattern: Xeon Scalable 2nd-gen with letter suffix (e.g., Gold 6248R)

Model FamilyExamples
Xeon Scalable 2ndPlatinum 8280L, Gold 6248R, Silver 4214R

Comet Lake (2020) - Base: 1.0x

Detection Pattern: i[3579]-10\d{3}

Model FamilyExamples
Core i3/i5/i7/i9 (10th-gen)i9-10900K, i7-10700K, i5-10400

Rocket Lake (2021) - Base: 1.0x

Detection Pattern: i[3579]-11\d{3}

Model FamilyExamples
Core i5/i7/i9 (11th-gen)i9-11900K, i7-11700K, i5-11600K

Alder Lake (2021-2022) - Base: 1.0x

Detection Pattern: i[3579]-12\d{3} or Core [3579] 12\d{3}

Note: First hybrid architecture with P-cores + E-cores

Model FamilyExamples
Core i3/i5/i7/i9 (12th-gen)i9-12900K, i7-12700K, i5-12600K
New namingCore 9 12900K, Core 7 12700K

Raptor Lake (2022-2024) - Base: 1.0x

Detection Pattern: i[3579]-1[34]\d{3} or Core [3579] 1[34]\d{3}

Model FamilyExamples
Core i5/i7/i9 (13th-gen)i9-13900K, i7-13700K, i5-13600K
Core i5/i7/i9 (14th-gen)i9-14900K, i7-14700K, i5-14600K

Sapphire Rapids (2023-2024) - Base: 1.0x

Detection Pattern: Xeon Scalable 4th-gen with 8xxx/9xxx model numbers

Model FamilyExamples
Xeon Scalable 4thPlatinum 8480+, Gold 8468, Silver 8420+

Meteor Lake / Arrow Lake (2023-2025) - Base: 1.0x

Detection Pattern: Core Ultra [579] or i[3579]-15\d{3}

Model FamilyExamples
Core Ultra (mobile)Core Ultra 9 185H, Core Ultra 7 155H
Arrow Lake (desktop)Core Ultra 9 285K, Core Ultra 7 265K

AMD CPU Generations (1999-2025)

K7 Era (1999-2005) - Base: 1.5x

ArchitectureYearsModel PatternsExamples
Athlon/Duron1999-2005Athlon(tm), Athlon XP, DuronAthlon XP 2400+, Duron 1.3GHz
Athlon 64 X22005Athlon 64 X2Athlon 64 X2 4200+

K8 Era (2003-2007) - Base: 1.5x

ArchitectureYearsModel PatternsExamples
Athlon 642003-2007Athlon(tm) 64, Athlon 64Athlon 64 3200+
Opteron2003-2007Opteron(tm)Opteron 250, Opteron 2384
Turion 642005-2007Turion 64Turion 64 ML-32

K10 Era (2007-2011) - Base: 1.4x

ArchitectureYearsModel PatternsExamples
Phenom2007-2009Phenom (no II)Phenom X4 9950
Phenom II2009-2011Phenom IIPhenom II X6 1090T, X4 965
Athlon II2009-2011Athlon IIAthlon II X4 640

Bulldozer Family (2011-2016)

ArchitectureYearsModel PatternsBaseExamples
Bulldozer2011-2012FX-\d{4} (no suffix)1.3xFX-8150, FX-6100
Piledriver2012-2014FX-\d{4}[A-Z]1.3xFX-8350, FX-6300
Steamroller2014-2015A[468]-\d{4}1.2xA10-7850K, A8-7600
Excavator2015-2016A[468]-\d{4}[A-Z]1.2xA12-9800, A10-9700

Zen Era (2017-present)

ArchitectureYearsModel PatternsBaseExamples
Zen2017-2018Ryzen [3579] 1\d{3}, EPYC 7[0-2]\d{2}1.1xRyzen 7 1700X, EPYC 7551
Zen+2018-2019Ryzen [3579] 2\d{3}1.1xRyzen 7 2700X, Ryzen 5 2600
Zen 22019-2020Ryzen [3579] 3\d{3}, EPYC 7[2-4]\d{2}1.05xRyzen 9 3900X, EPYC 7742
Zen 32020-2022Ryzen [3579] 5\d{3}, EPYC 7[3-5]\d{2}1.0xRyzen 9 5950X, EPYC 7763
Zen 42022-2024Ryzen [3579] [78]\d{3}, EPYC [89]\d{3}1.0xRyzen 9 7950X, EPYC 9654
Zen 52024-2025Ryzen [3579] 9\d{3}, EPYC 9[5-9]\d{2}1.0xRyzen 9 9950X, EPYC 9754

Note: Ryzen 8000 series (e.g., 8645HS) are mobile Zen4 chips, not a separate generation.

PowerPC Architectures (1997-2006) - Highest Multipliers

ArchitectureYearsModel PatternsBaseExamples
G31997-2003750, PowerPC G31.8xiMac G3, PowerBook G3
G42001-20057450, 7447, 7455, PowerPC G42.5xPower Mac G4, PowerBook G4
G52003-2006970, PowerPC G52.0xPower Mac G5, iMac G5

Detection: Read /proc/cpuinfo for PowerPC-specific model numbers.

Apple Silicon (2020-2025) - Premium Modern

ArchitectureYearsModel PatternsBaseExamples
M12020-2021Apple M11.2xMacBook Air M1, Mac mini M1
M22022-2023Apple M21.15xMacBook Air M2, Mac mini M2
M32023-2024Apple M31.1xMacBook Pro M3, iMac M3
M42024-2025Apple M41.05xMac mini M4, MacBook Pro M4

Detection: Use sysctl -n machdep.cpu.brand_string on macOS.

Sun SPARC (1987-2007) - EXOTIC/LEGENDARY Tier

Sun Microsystems SPARC architecture dominated workstations and servers from the late 1980s through the early 2000s. These are genuinely rare mining platforms.

Detection: platform.machine() returns sparc, sparc64, sun4u, or sun4v

ArchitectureYearsBaseDetection PatternsExamples
SPARC v71987-19922.9xsparc_v7, MB86900, CY7C601Sun-4, SPARCstation 1
SPARC v81990-19982.7xsparc_v8, MicroSPARC, SuperSPARC, HyperSPARCSPARCstation 5/10/20
SPARC v91995-20022.5xsparc_v9, UltraSPARC (early)Ultra 1/2, Ultra 60
UltraSPARC II/III1997-20042.3xUltraSPARC-II, UltraSPARC-III, UltraSPARC-IIIiSun Blade 1000/2000, V240/V440
UltraSPARC IV/IV+2004-20072.1xUltraSPARC-IV, UltraSPARC-IV+Sun Fire E25K
UltraSPARC T1 (Niagara)2005-20071.9xUltraSPARC-T1, T1000, T2000Sun Fire T1000/T2000
UltraSPARC T2 (Niagara 2)2007-20101.8xUltraSPARC-T2, T5120, T5220Sun SPARC Enterprise T5120
Fujitsu SPARC642004-20152.0xSPARC64, Fujitsu SPARCSPARC Enterprise M4000/M8000
SPARC T3-T5 / M7-M82010-20171.7xSPARC-T3, SPARC-T4, SPARC-T5, SPARC-M7Oracle SPARC T-series

CPU Brand Patterns (case-insensitive):

sparc|ultrasparc|fujitsu\s*sparc|niagara|sun4[uv]

Example /proc/cpuinfo on SPARC:

cpu             : UltraSparc IIIi
type            : sun4u
ncpus probed    : 1

SGI MIPS (1985-2002) - EXOTIC/LEGENDARY Tier

MIPS architecture powered SGI workstations, many game consoles, and embedded systems. The R-series processors were legendary in the 1990s graphics workstation era.

Detection: platform.machine() returns mips, mips64, mipsel, mips64el

SGI Workstation/Server MIPS

ArchitectureYearsBaseDetection PatternsExamples
R20001985-19883.0xR2000, MIPS R2000SGI Personal IRIS 4D/20
R30001988-19922.9xR3000, MIPS R3000SGI Indigo, DECstation 5000
R40001991-19962.8xR4000, R4400, MIPS R4000SGI Indy, SGI Indigo2
R4600 (Orion)1994-19972.6xR4600, R4700SGI Indy (budget)
R50001996-19992.5xR5000, MIPS R5000SGI O2
R80001994-19962.7xR8000, MIPS R8000SGI Power Challenge
R100001996-20002.5xR10000, R10KSGI Origin 200/2000, Octane
R120001998-20032.4xR12000, R12KSGI Origin 3000, Octane2
R140002001-20052.3xR14000, R14KSGI Origin 3000 (late)
R160002002-20062.3xR16000, R16KSGI Origin 350, Fuel

Game Console MIPS

ArchitectureYearsBasePlatformNotes
R3000A19942.8xPlayStation 133.8688 MHz
VR430019962.5xNintendo 64NEC variant, 93.75 MHz
Emotion Engine (R5900)20002.2xPlayStation 2Custom MIPS R5900, 294.912 MHz
Allegrex20042.0xPlayStation PortableMIPS R4000-based, 333 MHz

CPU Brand Patterns (case-insensitive):

mips|r[234568]0{3}|r1[024]0{3}|r1[46]0{3}|vr4300|emotion\s*engine|allegrex|r5900

Example /proc/cpuinfo on MIPS:

system type             : SGI Octane
processor               : 0
cpu model               : R10000 V2.6  FPU V0.0

Motorola 68K (1979-1994) - LEGENDARY Tier

The Motorola 68000 family powered the golden age of personal computing: Macintosh, Amiga, Atari ST, Sun-3, Sega Genesis, and countless others. These are among the most historically significant CPUs ever made.

Detection: platform.machine() returns m68k

ArchitectureYearsBaseDetection PatternsPlatforms
680001979-19883.0x68000, MC68000Original Mac, Amiga 500/1000, Atari ST, Sega Genesis
680101982-19902.9x68010, MC68010Sun-1, HP 9000/300
680201984-19932.7x68020, MC68020Mac II, Amiga 1200, Sun-3, NeXT Cube
680301987-19952.5x68030, MC68030Mac IIci/IIfx, Amiga 3000/4000, Atari TT
680401990-19962.4x68040, MC68040Mac Quadra, Amiga 4000T, NeXTstation Turbo
680601994-20022.2x68060, MC68060Amiga accelerator cards, rare
ColdFire1994-20121.8xColdFire, MCF52, MCF54Embedded (68K-derived)

Notable Platforms:

  • Amiga: 68000 (A500/A1000/A2000), 68020 (A1200), 68030 (A3000), 68040 (A4000)
  • Classic Macintosh: 68000 (Mac 128K-Plus-SE), 68020 (Mac II), 68030 (IIci), 68040 (Quadra)
  • Atari ST/TT/Falcon: 68000 (ST), 68030 (TT/Falcon)
  • Sun-3: 68020 (workstations, pre-SPARC era)
  • Sega Genesis/Mega Drive: 68000 (main CPU) + Z80 (sound)

CPU Brand Patterns (case-insensitive):

680[0-6]0|mc680[0-6]0|coldfire|mcf5[24]

Hitachi/Renesas SuperH (1992-2003) - EXOTIC Tier

SuperH (SH) processors were developed by Hitachi and later Renesas. They powered Sega's arcade boards and home consoles, as well as numerous embedded systems.

Detection: platform.machine() returns sh, sh4, sh4a, sh3, sh2

ArchitectureYearsBaseDetection PatternsPlatforms
SH-11992-19952.7xSH-1, SH7032, SH7034Embedded controllers
SH-21994-20002.6xSH-2, SH7604, SH7095Sega Saturn (dual SH-2), Sega 32X
SH-31995-20022.5xSH-3, SH7708, SH7709Windows CE handhelds, HP Jornada
SH-41998-20052.3xSH-4, SH7750, SH7751Sega Dreamcast, NAOMI arcade
SH-4A2003-20102.2xSH-4A, SH7780, SH7785Set-top boxes, automotive
SH-2A2006-20152.0xSH-2A, SH7216Automotive, industrial

Notable Platforms:

  • Sega Saturn (1994): Dual SH-2 at 28.6 MHz + dedicated VDP processors
  • Sega Dreamcast (1998): SH-4 at 200 MHz with hardware FPU (our Sophicast target!)
  • NAOMI/NAOMI 2 Arcade: SH-4 based (Crazy Taxi, House of the Dead 2)

CPU Brand Patterns (case-insensitive):

sh-?[1234]a?|sh7[0-9]{3}|superh|hitachi\s*sh

Vintage ARM (1987-2007) - EXOTIC to MYTHIC Tier

Early ARM processors are genuinely rare and historically significant. These are NOT the modern aarch64 NAS/SBC chips that get the spam penalty -- these are the original RISC pioneers from Acorn, DEC, Intel, and early mobile.

CRITICAL DISTINCTION: Vintage ARM chips with proper detection get FULL antiquity bonuses. Modern aarch64 (Cortex-A53/A55/A72/A76 NAS/SBC spam) gets the 0.0005x penalty. The server-side _detect_arm_evidence() function distinguishes between them.

MYTHIC Tier (pre-1995) - 3.5x-4.0x

ArchitectureYearsBaseDetection PatternsPlatforms
ARM21987-19924.0xARM2, ARM250Acorn Archimedes A305/A310/A410
ARM31989-19943.8xARM3, ARM3-26Acorn Archimedes A540, A5000
ARM61991-19973.5xARM610, ARM6Acorn Risc PC 600, 3DO

LEGENDARY Tier (1994-2001) - 2.5x-3.5x

ArchitectureYearsBaseDetection PatternsPlatforms
ARM71993-19993.2xARM710, ARM7Acorn Risc PC 700
ARM7TDMI1994-20093.0xARM7TDMI, ARM7TGame Boy Advance, iPod (1st-3rd gen), Nokia phones
StrongARM SA-1101996-20012.8xSA-110, StrongARMDEC/Intel, Acorn Risc PC, Apple Newton MP2x00
StrongARM SA-11001997-20032.7xSA-1100, SA-1110, StrongARM SAiPAQ H3600/H3800, Compaq Aero

EXOTIC Tier (2000-2007) - 2.0x-2.5x

ArchitectureYearsBaseDetection PatternsPlatforms
XScale2002-20062.5xXScale, PXA2[5678]x, IXP4xxIntel PDAs, Dell Axim, Palm TX
ARM9TDMI1998-20052.5xARM920T, ARM922T, ARM9TDMIGP32, Nintendo DS (ARM9)
ARM926EJ-S2000-20102.3xARM926, ARM926EJTI OMAP, many SoCs
ARM112002-20102.0xARM1136, ARM1176, ARM11Original iPhone, Raspberry Pi 1
ARM1176JZF-S2003-20122.0xARM1176JZF, BCM2835Raspberry Pi 1 (original, gets vintage ARM, NOT penalty)

Early Cortex (2007-2012) - 1.5x-1.8x

ArchitectureYearsBaseDetection PatternsPlatforms
Cortex-A82007-20121.8xCortex-A8, OMAP3, AM335xBeagleBoard, BeagleBone, iPhone 3GS, Palm Pre
Cortex-A92009-20141.5xCortex-A9, OMAP4, Tegra 2/3Pandaboard, Galaxy S2, Wii U

Modern aarch64 - PENALTY (0.0005x)

Modern ARM processors (Cortex-A53 and later) running on NAS boxes and SBCs are penalized to prevent cheap ARM device spam:

ArchitectureBaseDetection EvidenceCommon Platforms
Cortex-A53/A550.0005xaarch64 + NAS/SBC markersSynology DS220+, QNAP, RPi 4/5
Cortex-A72/A760.0005xaarch64 + consumer SBCRPi 4, RockPro64, Odroid N2
Ampere Altra0.0005xaarch64 + cloud/serverOracle Cloud, Hetzner ARM
AWS Graviton0.0005xaarch64 + gravitonAWS EC2 ARM instances

ARM Detection Evidence (server-side):

ARM_NAS_EVIDENCE = [
    "synology", "qnap", "asustor", "terramaster",      # NAS vendors
    "rockchip", "allwinner", "amlogic", "broadcom",     # SoC vendors
    "cortex-a53", "cortex-a55", "cortex-a72", "cortex-a76",
    "bcm2711", "bcm2712",                               # Raspberry Pi 4/5
    "rk3588", "rk3399",                                 # RockChip
]

RISC-V (2010+) - EXOTIC Tier

RISC-V is the open-source ISA. Currently rare enough for mining to qualify as EXOTIC, but this may be adjusted as adoption grows.

Detection: platform.machine() returns riscv, riscv64, riscv32

ArchitectureYearsBaseDetection PatternsPlatforms
RV32 (32-bit)2016+1.5xriscv32, rv32Kendryte K210, ESP32-C3, GD32VF103
RV64 (64-bit)2018+1.4xriscv64, rv64SiFive Unmatched, StarFive VisionFive 2, Milk-V
RV128 (128-bit)Future1.6xriscv128, rv128Not yet available -- reserved

Known RISC-V Boards:

  • SiFive HiFive Unmatched (2021): SiFive U740, quad-core RV64GC, 16GB RAM
  • StarFive VisionFive 2 (2023): JH7110, quad-core RV64GC, up to 8GB RAM
  • Milk-V Mars (2023): JH7110, similar to VisionFive 2
  • Milk-V Pioneer (2023): SG2042, 64-core server RISC-V
  • Kendryte K210 (2018): Dual RV64GC + AI accelerator, 8MB SRAM

CPU Brand Patterns (case-insensitive):

riscv|risc-v|rv[36][24]|sifive|starfive|kendryte|jh7110|sg2042|c906|c910

Game Console CPUs (1994-2006) - EXOTIC Tier

Game console CPUs are custom silicon that cannot be easily replicated. Mining on original console hardware is a strong proof of antiquity.

ConsoleCPUYearBaseArchitectureNotes
PlayStation 1R3000A19942.8xMIPS33.8688 MHz, see MIPS section
Sega SaturnDual SH-219942.6xSuperHTwo SH-2 at 28.6 MHz
Nintendo 64VR430019962.5xMIPSNEC variant at 93.75 MHz
Sega DreamcastSH-419982.3xSuperH200 MHz, hardware FPU
PlayStation 2Emotion Engine20002.2xMIPSCustom R5900, 294.912 MHz
GameCubeGekko20012.1xPowerPCIBM 750CXe derivative, 485 MHz
XboxCeleron (Coppermine)20011.5xx86733 MHz Pentium III variant
Nintendo DSARM7 + ARM920042.3xARMDual-CPU, 33/67 MHz
PlayStation PortableAllegrex20042.0xMIPSR4000-based, 333 MHz
Xbox 360Xenon20052.0xPowerPCTri-core IBM PPE, 3.2 GHz
PlayStation 3Cell BE20062.2xPowerPCPPE + 7 SPE, legendary parallel arch
WiiBroadway20062.0xPowerPCIBM 750CL, 729 MHz
Game Boy AdvanceARM7TDMI20013.0xARMSee Vintage ARM section

Console Detection Patterns (case-insensitive):

emotion\s*engine|cell\s*b\.?e\.?|xenon|gekko|broadway|allegrex|vr4300

Note on PS3 Cell BE: The Cell Broadband Engine is one of the most unique architectures ever produced -- 1 PPE (PowerPC Processing Element) + 7 SPE (Synergistic Processing Elements). Anyone running a miner on a PS3 with Linux deserves every bit of that 2.2x multiplier.

Ultra-Rare / Dead Architectures - MYTHIC/LEGENDARY Tier

These architectures are so rare that successfully mining on them is practically a museum exhibit. All receive premium multipliers.

MYTHIC Tier (3.5x) - Virtually Extinct

ArchitectureYearsBaseDetection PatternsNotes
DEC VAX1977-20003.5xVAX, vax"Shall we play a game?" Digital Equipment minicomputer legend
Inmos Transputer1984-19933.5xTransputer, T414, T800, T9000Parallel computing pioneer, Occam language
Fairchild Clipper1985-19883.5xClipper, C100, C300, C400Workstation RISC, ultra-rare, Intergraph
NS32K1982-19903.5xNS32032, NS32332, NS32532National Semiconductor, the failed x86 killer
IBM ROMP1986-19903.5xROMP, RT PCFirst commercial RISC CPU, IBM RT PC

LEGENDARY Tier (3.0x) - Extremely Rare

ArchitectureYearsBaseDetection PatternsNotes
Intel i8601989-19933.0xi860, 80860"Cray on a chip" -- failed spectacular attempt
Intel i9601988-20073.0xi960, 80960Embedded RISC, military/aerospace, I/O controllers
Motorola 880001988-19923.0x88000, MC88100, MC88110Killed by the PowerPC alliance (Apple-IBM-Motorola)
AMD Am290001988-19953.0xAm29000, 29000, 29KAMD's RISC attempt, dominated laser printers
DEC Alpha1992-20043.0xAlpha, alpha, EV[4-7]Fastest CPU of its era, killed by Compaq/HP
HP PA-RISC1986-20083.0xPA-RISC, PA8[0-9]00, hppaHP workstations/servers, replaced by Itanium

EXOTIC Tier (2.5x) - Rare

ArchitectureYearsBaseDetection PatternsNotes
Intel Itanium (IA-64)2001-20212.5xItanium, IA-64, ia64"Itanic" -- dead architecture, extremely rare in the wild
IBM S/390 / z/Architecture1990-present2.5xs390, s390x, z/ArchitectureMainframe; z/Architecture still runs but is exotic for mining
IBM POWER (non-Apple)2001-present2.5xPOWER[4-9], POWER10, power8, ppc64leEnterprise POWER servers (our S824 gets this!)
Tilera TILE2007-20142.5xTILE, TILEPro, TILE-GxManycore network processors, 36-100 cores

Detection for Ultra-Rare Architectures:

Most of these will report via platform.machine() or /proc/cpuinfo:

ULTRA_RARE_MACHINES = {
    'vax':       ('DEC VAX', 3.5),
    'alpha':     ('DEC Alpha', 3.0),
    'hppa':      ('HP PA-RISC', 3.0),
    'hppa64':    ('HP PA-RISC 64', 3.0),
    'ia64':      ('Intel Itanium', 2.5),
    's390':      ('IBM S/390', 2.5),
    's390x':     ('IBM z/Architecture', 2.5),
    'ppc64':     ('IBM POWER (big-endian)', 2.5),
    'ppc64le':   ('IBM POWER (little-endian)', 2.5),
}

Server-Side Architecture Detection

The RustChain server does not blindly trust self-reported architecture claims. This section describes the server-side validation pipeline that cross-checks miner submissions before assigning antiquity multipliers.

1. Server Does Not Trust Self-Reported Architecture

Miners submit their platform.machine() value and CPU brand string as part of the attestation payload. However, the server treats these as claims to be verified, not facts. A miner running on a Synology NAS could trivially set device_arch: "g4" in their payload. The server catches this through multiple cross-validation checks.

2. _detect_exotic_arch() - Machine Field, Brand, and SIMD Evidence

The server-side detection function checks three independent evidence sources:

def _detect_exotic_arch(device: dict, signals: dict) -> tuple:
    """
    Server-side exotic architecture detection.
    Returns (arch_name, multiplier) or (None, None) if not exotic.

    Evidence sources:
    1. platform.machine() field
    2. CPU brand string
    3. SIMD capability evidence (presence/absence)
    4. Cache topology
    5. /proc/cpuinfo raw fields
    """
    machine = device.get('machine', '').lower()
    brand = device.get('cpu_brand', '').lower()
    simd = signals.get('simd_capabilities', [])

    # Check machine field against known exotic architectures
    for arch_key, (arch_name, multiplier) in EXOTIC_ARCH_MAP.items():
        if arch_key in machine:
            return arch_name, multiplier

    # Check CPU brand for exotic keywords
    for pattern, (arch_name, multiplier) in EXOTIC_BRAND_PATTERNS.items():
        if re.search(pattern, brand, re.IGNORECASE):
            return arch_name, multiplier

    # Check SIMD evidence for architecture confirmation
    if 'altivec' in simd or 'vsx' in simd:
        return _classify_powerpc(device, signals)
    if 'vis' in simd:  # Visual Instruction Set = SPARC
        return _classify_sparc(device, signals)

    return None, None

3. _detect_arm_evidence() - Catching NAS/SBC Spoofing

This is the critical function that distinguishes genuine vintage ARM hardware from modern aarch64 NAS/SBC spam:

def _detect_arm_evidence(device: dict, signals: dict) -> tuple:
    """
    Detect ARM architecture and classify as vintage vs modern.

    Returns:
        ('vintage_arm', multiplier) - for genuine vintage ARM hardware
        ('modern_arm_penalty', 0.0005) - for NAS/SBC/cloud ARM spam
        (None, None) - not ARM
    """
    machine = device.get('machine', '').lower()
    brand = device.get('cpu_brand', '').lower()

    # Not ARM at all
    if machine not in ('aarch64', 'armv7l', 'armv6l', 'armv5l', 'arm'):
        return None, None

    # Check for vintage ARM evidence
    VINTAGE_ARM_PATTERNS = [
        (r'arm[236]', 'ARM2/3/6', 3.8),
        (r'arm7tdmi', 'ARM7TDMI', 3.0),
        (r'strongarm|sa-1[01]', 'StrongARM', 2.7),
        (r'xscale|pxa2', 'XScale', 2.5),
        (r'arm9[2-4]', 'ARM9', 2.3),
        (r'arm11[37]', 'ARM11', 2.0),
        (r'cortex-a8', 'Cortex-A8', 1.8),
        (r'cortex-a9', 'Cortex-A9', 1.5),
    ]

    for pattern, name, mult in VINTAGE_ARM_PATTERNS:
        if re.search(pattern, brand, re.IGNORECASE):
            return f'vintage_arm_{name}', mult

    # Check for NAS/SBC/cloud evidence (PENALTY)
    NAS_SBC_EVIDENCE = [
        'synology', 'qnap', 'asustor', 'terramaster',
        'rockchip', 'allwinner', 'amlogic',
        'bcm2711', 'bcm2712',  # RPi 4/5
        'graviton',            # AWS
        'ampere',              # Oracle Cloud
        'cortex-a53', 'cortex-a55', 'cortex-a72', 'cortex-a76', 'cortex-a78',
    ]

    for evidence in NAS_SBC_EVIDENCE:
        if evidence in brand:
            return 'modern_arm_penalty', 0.0005

    # Unknown ARM claiming x86 = flagged
    if machine == 'aarch64':
        return 'modern_arm_penalty', 0.0005  # Default penalty for unrecognized aarch64

    return None, None

4. Vintage ARM Preserved with Proper Multipliers

The system carefully preserves high multipliers for genuinely vintage ARM hardware while penalizing modern ARM spam. The key distinctions:

ScenarioResultMultiplier
armv6l + ARM1176JZF brandVintage ARM112.0x
armv7l + Cortex-A8 brandVintage Cortex1.8x
aarch64 + Cortex-A72 brandModern SBC penalty0.0005x
aarch64 + BCM2712 brandRaspberry Pi 5 penalty0.0005x
aarch64 + Graviton brandAWS cloud penalty0.0005x
aarch64 + unknown brandDefault ARM penalty0.0005x
arm + ARM7TDMI brandVintage ARM73.0x
arm + StrongARM brandVintage StrongARM2.7x

5. Unknown CPU + Claimed x86 = Flagged as ARM

A critical anti-fraud check: if a miner reports platform.machine() as x86_64 but the CPU brand string is empty, unknown, or contains ARM/MIPS keywords, the attestation is flagged:

def _validate_arch_consistency(device: dict, signals: dict) -> bool:
    """
    Cross-validate architecture claims.
    Returns False if claims are inconsistent (potential spoofing).
    """
    machine = device.get('machine', '').lower()
    brand = device.get('cpu_brand', '').lower()
    simd = signals.get('simd_capabilities', [])

    if machine in ('x86_64', 'i686', 'i386'):
        # x86 MUST have SSE evidence
        if not any(s in simd for s in ['sse', 'sse2', 'avx']):
            # No x86 SIMD but claims x86? Likely ARM/MIPS spoofing
            return False

        # Brand should contain Intel/AMD keywords
        if not any(k in brand for k in ['intel', 'amd', 'genuine', 'authentic']):
            if brand and brand != 'unknown':
                # Has a brand but not Intel/AMD -- suspicious
                return False

    return True

SIMD Evidence Cross-Validation

The server uses SIMD instruction set evidence to confirm architecture claims:

SIMD CapabilityConfirms ArchitectureContradicts
sse, sse2, avxx86/x86_64Any non-x86 claim
altivecPowerPC (G4/G5)x86, ARM
vsxPOWER7+ (POWER8/9/10)x86, ARM, early PowerPC
neonARM (Cortex-A and later)x86, PowerPC
visSPARC (VIS 1.0+)Everything else
msaMIPS (MIPS SIMD Architecture)Everything else
vec_permPowerPC with AltiVecConfirms genuine PPC

Architecture Detection Summary Table

platform.machine()Expected Brand KeywordsSIMD EvidenceMultiplier Range
x86_64, i686Intel, AMDSSE/AVX1.0x - 1.5x
ppc, ppc64PowerPC, G4, G5, 7450, 970AltiVec1.8x - 2.5x
ppc64lePOWER8, POWER9VSX, vec_perm2.5x
sparc, sparc64UltraSPARC, SPARCVIS1.7x - 2.9x
mips, mips64R-series, MIPSMSA2.3x - 3.0x
m68k68000-68060, ColdFire(none)1.8x - 3.0x
sh4SH-4, SH7750(none)2.2x - 2.7x
armv6l, armv5lARM11, ARM9(none)2.0x - 2.5x
armv7lCortex-A8/A9 vintageNEON1.5x - 1.8x
aarch64(must match vintage)NEON0.0005x (penalty default)
riscv64SiFive, StarFive(varies)1.4x - 1.5x
ia64Itanium(none)2.5x
s390xz/Architecture(none)2.5x
alphaAlpha, EV4-EV7(none)3.0x
hppaPA-RISC, PA8x00(none)3.0x
vaxVAX(none)3.5x

Server Hardware Bonus

Enterprise-class CPUs receive a +10% multiplier on top of base:

VendorServer PatternsExamples
IntelXeonXeon E5-2670 v2, Xeon Gold 6248R
AMDEPYC, OpteronEPYC 7742, Opteron 6276

Example: Xeon E5-1650 v2 (Ivy Bridge)

  • Base: 1.1x (Ivy Bridge)
  • With time decay (13 years old): ~1.076x
  • Server bonus: 1.076 x 1.1 = 1.18x final

Detection Implementation

Python Example

from cpu_architecture_detection import calculate_antiquity_multiplier

# Detect from brand string
brand = "Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz"
info = calculate_antiquity_multiplier(brand)

print(f"Architecture: {info.architecture}")
print(f"Generation: {info.generation}")
print(f"Year: {info.microarch_year}")
print(f"Server: {info.is_server}")
print(f"Multiplier: {info.antiquity_multiplier}x")

Output:

Architecture: ivy_bridge
Generation: Intel Ivy Bridge (3rd-gen Core i)
Year: 2012
Server: True
Multiplier: 1.1836x

Regex Patterns

Intel Core i-series generation detection:

i[3579]-(\d+)\d{2,3}  # Capture first 1-2 digits = generation
  • i7-2600K -> 2 -> 2nd-gen (Sandy Bridge)
  • i9-12900K -> 12 -> 12th-gen (Alder Lake)

Intel Xeon E3/E5/E7 version detection:

E[357]-\d+\s*v([2-6])  # Capture v-number
  • E5-1650 (no v) -> Sandy Bridge
  • E5-1650 v2 -> Ivy Bridge
  • E5-2680 v4 -> Broadwell

AMD Ryzen generation detection:

Ryzen\s*[3579]\s*(\d)\d{3}  # Capture first digit = series
  • Ryzen 7 1700X -> 1 -> Zen
  • Ryzen 9 5950X -> 5 -> Zen 3
  • Ryzen 9 9950X -> 9 -> Zen 5

Special Cases & Quirks

Intel Naming Changes (2023+)

Intel dropped the "i" prefix for 2023+ CPUs:

  • Old: Core i7-12700K
  • New: Core 7 12700K or Core Ultra 9 285K

Detection: Match both patterns:

(Core\(TM\)\s*i[3579]|Core\(TM\)\s*[3579])-(\d+)

AMD Ryzen Mobile Quirks

Ryzen 8000 series (e.g., Ryzen 5 8645HS) are mobile Zen4, NOT Zen5:

  • Pattern: Ryzen [3579] 8\d{3} -> Zen4 (2023)
  • Next mobile: Ryzen AI 300 series (Zen5)

AMD APU Naming

APU series numbers are ahead of CPU series:

  • Ryzen 7 7840HS (APU, Zen4) != Ryzen 7 7700X (CPU, Zen4)
  • Both are Zen4 despite naming confusion

Xeon Scalable Naming

GenerationModel PatternExamples
1st-gen\d{4} (no suffix)Platinum 8180, Gold 6148
2nd-gen\d{4}[A-Z] (letter suffix)Platinum 8280L, Gold 6248R
3rd-gen\d{4}[A-Z]? (mixed)Platinum 8380, Gold 6338
4th-gen[89]\d{3} (8xxx/9xxx)Platinum 8480+, Gold 8468

Integration with RustChain

Miner Client

import platform
import subprocess

def get_cpu_brand():
    if platform.system() == "Darwin":  # macOS
        return subprocess.check_output(
            ["sysctl", "-n", "machdep.cpu.brand_string"]
        ).decode().strip()
    elif platform.system() == "Linux":
        with open("/proc/cpuinfo") as f:
            for line in f:
                if "model name" in line or "cpu model" in line:
                    return line.split(":")[1].strip()
    elif platform.system() == "Windows":
        import winreg
        key = winreg.OpenKey(
            winreg.HKEY_LOCAL_MACHINE,
            r"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"
        )
        return winreg.QueryValueEx(key, "ProcessorNameString")[0]
    return "Unknown"

# Use in attestation
from cpu_architecture_detection import calculate_antiquity_multiplier

cpu_info = calculate_antiquity_multiplier(get_cpu_brand())
attestation = {
    "miner_id": wallet_address,
    "cpu_architecture": cpu_info.architecture,
    "cpu_generation": cpu_info.generation,
    "cpu_year": cpu_info.microarch_year,
    "is_server": cpu_info.is_server,
    "antiquity_multiplier": cpu_info.antiquity_multiplier,
    # ... other attestation data
}

Server-Side Reward Calculation

def calculate_epoch_rewards(db_path: str, total_rtc: float) -> dict:
    """
    Calculate rewards with CPU antiquity multipliers
    """
    conn = sqlite3.connect(db_path)
    cursor = conn.cursor()

    # Get all active miners with attestations
    cursor.execute("""
        SELECT miner_id, cpu_brand, uptime_years
        FROM miner_attest_recent
        WHERE ts_ok > ?
    """, (time.time() - ATTESTATION_TTL,))

    miners = cursor.fetchall()
    total_weight = 0
    miner_weights = {}

    for miner_id, cpu_brand, uptime_years in miners:
        # Calculate antiquity multiplier
        cpu_info = calculate_antiquity_multiplier(cpu_brand, loyalty_years=uptime_years)
        weight = cpu_info.antiquity_multiplier

        miner_weights[miner_id] = weight
        total_weight += weight

    # Distribute rewards proportionally
    rewards = {}
    for miner_id, weight in miner_weights.items():
        share = weight / total_weight
        rewards[miner_id] = total_rtc * share

    return rewards

Testing & Validation

Run the demo script to verify detection:

cd /home/scott/rustchain-complete
python3 cpu_architecture_detection.py

Expected Output:

================================================================================
CPU ARCHITECTURE DETECTION & ANTIQUITY MULTIPLIER DEMO
================================================================================

CPU: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
  -> Vendor: INTEL
  -> Architecture: ivy_bridge
  -> Generation: Intel Ivy Bridge (3rd-gen Core i)
  -> Year: 2012 (Age: 13 years)
  -> Server: Yes
  -> Antiquity Multiplier: 1.1836x

CPU: PowerPC G4 (7450)
  -> Vendor: POWERPC
  -> Architecture: g4
  -> Generation: PowerPC G4 (7450/7447/7455)
  -> Year: 2001 (Age: 24 years)
  -> Server: No
  -> Antiquity Multiplier: 1.645x

CPU: AMD Ryzen 9 7950X 16-Core Processor
  -> Vendor: AMD
  -> Architecture: zen4
  -> Generation: AMD Zen 4 (Ryzen 7000/8000 / EPYC Genoa)
  -> Year: 2022 (Age: 3 years)
  -> Server: No
  -> Antiquity Multiplier: 1.0x

Sources & References

This system is based on extensive research of CPU microarchitecture timelines:

Intel

AMD

Exotic Architectures

General

Future Enhancements

  1. Auto-detection of model year - Parse more granular release dates
  2. CPUID integration - Use CPUID instruction for more precise detection
  3. GPU antiquity - Extend to GPUs (vintage Radeon, GeForce)
  4. Z80/6502 support - 8-bit CPUs for extreme antiquity (Commodore 64, ZX Spectrum)
  5. FPGA detection - Xilinx/Altera/Lattice FPGAs as mining accelerators

Last Updated: 2026-03-19 Version: 2.0.0 File: /home/scott/rustchain-complete/cpu_architecture_detection.py