How Coinbase Builds and Deploys Blockchain Nodes with Snapchain
The article explains Coinbase’s unique security and infrastructure requirements for blockchain nodes, describes the challenges of blue‑green deployments, and details the Snapchain system built on AWS that enables fast, reliable snapshot‑based node provisioning, upgrades, and high‑availability scaling.
Since 2019 the rapid evolution of cryptocurrencies has drawn worldwide attention, prompting Coinbase to design a resilient blockchain infrastructure that can quickly adapt to change; this article outlines their approach.
Coinbase’s infrastructure has distinctive security needs: each server runs for less than 30 days and is immutable, and most applications are deployed via simple blue‑green deployments of 12‑factor apps behind a load balancer, but blockchain node deployment adds extra complexity.
Blockchain nodes monitor, validate, and forward network state updates, acting as the eyes and ears of cryptocurrency networks; they are essential for inbound transfers to Coinbase and outbound transfers from Coinbase, making effective node management critical to core business operations.
At a high level, deploying a blockchain node starts with launching an EC2 instance and running the node’s binary.
Once the node starts, it connects to other peers in the network.
The node then synchronizes data from those peers.
The first block is transferred and the new node validates it.
Subsequent blocks continue to be sent until the entire chain is transferred, verified, and fully synchronized.
Full nodes store the complete blockchain on disk, often requiring hundreds of gigabytes and weeks to sync; performing a full sync for every deployment is neither safe nor practical, so Coinbase created Snapchain, a backup and deployment system.
Snapchain defines two node types: snapshot nodes that fully sync the chain and produce an EBS volume snapshot, and long‑lived nodes that can be launched from those snapshots in minutes, enabling rapid deployment for version upgrades, network events, or new configurations.
Because Snapchain runs on AWS, it can be scaled with a Network Load Balancer (NLB), which provides static IPs, dynamic scaling, and blue/green deployment capabilities.
The upgrade process (e.g., from version 1.0.0 to 1.1.0) involves placing nodes behind the NLB, running the blockchain binary to provide APIs and sync data, and then deploying new instances across multiple Availability Zones for redundancy.
New instances are launched, health‑checked, and added to the NLB; after passing checks, traffic is switched to the new version.
Once the new nodes are healthy, they are attached to the NLB, and the load balancer is switched to route traffic to the upgraded nodes.
The final result is an upgraded blockchain node behind the NLB.
Snapchain is deliberately blockchain‑agnostic; its primary design goal is to minimize blockchain‑specific code and infrastructure, allowing Coinbase to add new blockchain nodes more quickly.
Original article: https://blog.coinbase.com/blockchain-infrastructure-at-coinbase-366c09dbcef4
High Availability Architecture
Official account for High Availability Architecture.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.