IPv6 addresses hardened by Bitcoin's proof-of-work: 89-bit security, sub-millisecond generation, a fraction of a cent per device.
IronIP replaces the decades-old CGA standard with a modern alternative that draws its security directly from the Bitcoin blockchain. Each IoT device registers a single Bitcoin transaction, then generates IPv6 addresses on demand by binding modifiers to real block headers — inheriting the full proof-of-work security of the chain. Verification is local, instant, and requires no certificates or cloud calls.
The problem: IPv6 devices need cryptographic addresses to prove their identity on the network. The existing standard — Cryptographically Generated Addresses (CGA) — requires each device to perform its own proof-of-work computation. At high security levels, this takes 696 seconds per address. For resource-constrained IoT devices, that's impractical. For large fleets, it's impossible.
The insight: Bitcoin miners already perform massive proof-of-work — every block header represents trillions of hash computations. What if devices could borrow that work instead of doing their own?
How it works: A device's public key is anchored to a Bitcoin transaction via OP_RETURN. The block header that mines that transaction contains the proof-of-work. The device's IPv6 address is derived from a hash of the block header, the transaction, and a modifier — binding the address to both the device's identity and Bitcoin's cumulative mining effort. Verification is just hash operations: check the Merkle proofs, check the block header's PoW, recompute the address. No certificates, no PKI, no online verification service.
The result: 89-bit security in under 1 millisecond, at a cost of $0.00004 per anchor — each anchor covers up to 32 devices. The security comes from the entire Bitcoin mining network — not from the device's own CPU. This is the core contribution of the Ducroux paper (2023).
Real Bitcoin transactions. Real EC2 devices. Real IPv6 packets on the wire.
Registers a token on Bitcoin mainnet, generates an address, verifies all 8 steps, provisions to a real EC2 device, pings between devices, and tests IoT Core auth. ~30 seconds.
Generates a real device keypair, creates 32 random modifiers, builds a Merkle tree, and anchors the device's public key hash + Merkle root to Bitcoin mainnet via OP_RETURN. One anchor covers up to 32 devices — cost: ~27 sats ($0.00004).
Derives a cryptographic IPv6 address for a specific VPC subnet. The last 64 bits (the interface identifier) are derived from Hash1 — a hash that binds the device's identity to Bitcoin's proof-of-work. Each registration supports 32 unique addresses x 3 collision counts = 96 addresses.
Simulates receiving a packet and verifying the source IPv6 against BCA Parameters. All 8 steps from the paper including Merkle proofs and Bitcoin proof-of-work validation. Runs locally — no cloud call needed.
Assigns BCA IPv6 addresses to real EC2 instances in a private IPv6 VPC. No public IPs — SSM access only. The address appears on the NIC and becomes the device's source IP.
Device A sends real IPv6 packets to Device B using its BCA source address. Device B verifies the source IP against BCA Parameters — all 8 steps. Zero cloud calls.
A device connects to AWS IoT Core with its BCA IPv6 address as the auth token. The Custom Authorizer runs the 8-step verification and returns an IoT policy. Replaces traditional certificate-based or token-based auth.
Generate 10 addresses from a single registration, or bulk-register 5 tokens in one batch.
Export BCA Parameters (~836 bytes) and verify without any cloud dependency. Zero AWS SDK, zero API calls.
No. IronIP operates at the network layer — it answers "is this device who it claims to be?" by verifying the source IPv6 address. Cloud auth operates at the application layer — it answers "is this device authorized to do this specific thing?" and provides lifecycle management, revocation, analytics, and compliance reporting. Both layers are needed. This is analogous to how TLS proves server identity but you still need OAuth for authorization. IronIP makes the hardware token more valuable — it becomes the root of a permanent, provider-independent network identity.
Minimal. The hardware security token already provides the Token ID and public key — that's the identity root IronIP needs. During manufacturing, a one-time registration call anchors the Token ID to Bitcoin (~$0.00004). The device stores ~1.2KB of additional data: one modifier (16 bytes), a block header (80 bytes), and Merkle proofs (~1KB). Address generation is a single SHA-256 hash — under 1ms on any microcontroller. No new silicon, no firmware rewrite.
Bulk registration is a batch of API calls — each takes under 3 seconds and costs ~$0.00004 in Bitcoin fees. Each registration yields 32 unique addresses. Devices verify each other's addresses locally — no internet, no cloud call, no round-trip for peer-to-peer identity. Cloud auth still handles application-level authorization, but network identity is settled at the IP layer.
IronIP verification requires zero cloud infrastructure. A device stores its BCA Parameters locally (~1.2KB). Any peer can verify the address using only hash operations and the block header — no AWS SDK, no API calls, no internet connection. The Bitcoin anchor is permanent and publicly verifiable. Device identities don't depend on any cloud provider.
The approach is chain-agnostic — the algorithm works with any blockchain that uses proof-of-work. BSV is used here because of cost efficiency at scale: $0.00004 per device vs significantly higher on other chains. The security parameter (sec) adjusts automatically based on the chain's difficulty. Switching chains requires changing one configuration value.
From the Bitcoin network's proof-of-work. The address embeds a security parameter (sec=2 for BSV) derived from block difficulty. Step 7 of verification checks that the block header has at least 64 leading zero bits in its hash — which required the entire mining network's computational effort. An attacker would need to redo that work to forge an address. The paper provides the formal security analysis.
IronIP strengthens the certification narrative. The cryptographic primitives (SHA-256, Merkle trees) are NIST-approved and widely certified. The 8-step verification is deterministic and formally specified. The security model is mathematically grounded in Bitcoin's proof-of-work. For CC level 4+, the security model would need independent review — but it provides a well-defined, auditable verification procedure with quantifiable security bounds (89 bits), which is exactly what evaluators want to see.
New revenue line: "IronIP-enabled" tier. Bitcoin registration costs $0.00004 per device. Manufacturers can offer IronIP registration as a premium service at significantly higher margins. The hardware token becomes more valuable (root of provider-independent identity), cloud auth stays as application-layer auth, and the device SDK adds address generation. It's an upsell, not a replacement.
Transparent assessment: the paper is a preprint by nChain AG — not yet peer-reviewed at a top security venue. No production deployments exist; this is a first implementation. However: the cryptographic primitives (SHA-256, Merkle trees, Bitcoin PoW) are individually battle-tested. The novel contribution is the specific combination for IPv6 address generation. This is a working proof-of-concept to evaluate the approach as a complementary layer to existing cloud authentication.
Three integration points: (1) Manufacturing — add an IronIP registration API call during Token provisioning. One HTTP POST per device, returns in <3 seconds. (2) Device SDK — add generateAddress(tokenId, subnetPrefix). One SHA-256 hash, <1ms. (3) Verification — any peer runs the 8-step check locally. ~1KB of BCA Parameters, standard hash operations. No changes to cloud auth, no changes to IoT Core beyond adding the optional Custom Authorizer.