Protocol comparison

Fistbump vs. Handshake

Fistbump and Handshake both aim to replace the DNS root zone with a blockchain-based naming system, and they share a common ancestry in covenants and Urkel trees. The differences are in the consensus, the economics, and the corners that have aged poorly.

Shared heritage

Fistbump was designed after five years of Handshake operating in production, and it inherits several of Handshake's best architectural choices:

  • Covenants — typed transaction-output data structures that enforce the auction state machine at the consensus level, without a Turing-complete scripting runtime.
  • Urkel tree — a Merkleized radix trie committed in every block header that allows light clients to verify name state with compact proofs.
  • UTXO model — a Bitcoin-like accounting model that keeps transaction validation simple and parallelizable.
  • On-chain DNS records — a name owner can attach standard DNS resource records directly to the chain, resolvable by any full node.

What Fistbump changes are the pieces that made Handshake's real-world deployment fragile: an ASIC-dominated proof-of-work, free renewals that enabled costless squatting, and a lack of first-class on-chain subdomain support.

Summary table

Property Fistbump Handshake
PoW algorithm Balloon Hashing (512 MB, provably memory-hard) BLAKE2b+SHA3 (compute-bound)
Hardware specialization Memory-hard — reduced ASIC edge ASIC-dominated (Bitmain HS3)
Block time 120 seconds 600 seconds
Difficulty window 72 blocks (per-block retarget) 144 blocks
Total supply ~1.051 B FBC ~2.04 B HNS
Initial block reward 500 FBC 2,000 HNS
Halving interval 1,051,200 blocks (~4 yr) 170,000 blocks (~3.2 yr)
Premium name gate DNSSEC on com/net/org/gov/io/app/dev/xyz Alexa top 100k only
Minimum bid (premium TLD) 100× block reward 0 (free if uncontested)
Registration fee split 50% burned, 50% dev fund 100% burned
Renewal fee 1% of registration price annually 0 (free renewals)
Development fund Fees (no airdrop) Airdrop (2.9% claimed)
On-chain subdomains Yes, with ancestor payments No
Tree update interval 30 blocks 36 blocks
Address prefix fb (mainnet) hs (mainnet)
Reference node Swift JavaScript / C++

1. Proof of work

Handshake's PoW is a composition of BLAKE2b-512 and SHA3-256. It is compute-bound — memory plays no structural role — and within months of mainnet launch the network was dominated by the Bitmain Antminer HS3. This is the same pattern observed with Bitcoin (SHA-256), Litecoin (Scrypt), and every other compute-bound PoW: as soon as an efficient silicon implementation exists, CPU and GPU miners are priced out.

Fistbump uses Balloon Hashing, a provably memory-hard function (Boneh, Corrigan-Gibbs, Schechter, ASIACRYPT 2016). Each proof attempt allocates a 512 MB scratchpad that must be filled sequentially and then mixed with pseudorandomly selected neighbors. The algorithm has a formal lower bound on memory use (Theorem 3 in the original paper) — there is no time-memory trade-off.

In practice this means:

  • An ASIC for Balloon Hashing requires 512 MB of DRAM per core. DRAM is commodity, so an ASIC's per-core cost is comparable to a desktop with a DIMM.
  • GPUs, which parallelize through thousands of threads with small local memory (48–128 KB/SM), cannot fit a 512 MB scratchpad per thread. A 16 GB VRAM GPU runs at most ~32 parallel instances.
  • FPGAs have even less on-chip memory and must use external DRAM, erasing their advantage.

This is the single largest architectural difference between the two protocols. For a naming chain — where hash-rate concentration is a direct threat to name ownership — broad mining participation is load-bearing.

2. Renewal fees

Handshake renewals are free. A speculator can register a name once and hold it indefinitely at zero ongoing cost. Combined with a large airdrop-driven initial coin distribution, this produced observable squatting on desirable names.

Fistbump charges 1% of the registration price annually, floored at the minimum bid for that name's tier. The fee is paid to the development fund. Renewal is required every 262,800 blocks (~1 year); unrenewed names expire and reopen for auction.

The effect is that a squatter who wants to hold 1,000 names at 10,000 FBC each must budget 100,000 FBC/year in renewals, creating a carrying cost that must be offset by real demand. Names without demand expire.

3. Premium name gating

Handshake reserved names based on the Alexa top-100k list at genesis. Alexa was discontinued by Amazon in 2022, so any future protocol cannot use that reference.

Fistbump gates all names of 6 bytes or fewer (premium names) behind a DNSSEC proof of ownership of the corresponding domain under a qualifying ICANN TLD: com, net, org, gov, io, app, dev, or xyz. Proofs are validated on-chain with a 3,600-second grace period for RRSIG validity.

This is broader than Handshake's Alexa approach: every short name requires demonstrated ownership regardless of whether a domain happened to rank on a discontinued list. Premium names are available at genesis with no rollout delay.

4. On-chain subdomains

Handshake supports subdomains only as DNS delegation (NS records) from the TLD, which means the TLD owner's nameserver is the source of truth. Revoking a subdomain is a matter of updating the TLD's records.

Fistbump supports fully on-chain subdomains. A TLD owner enables them by setting the auctionSubdomains flag (permanent once set). Subdomains then use the same Vickrey auction mechanism with their own ownership, records, and renewal lifecycle. The parent cannot unilaterally revoke a subdomain.

Subdomain registration fees are split: 50% burned, 25% to ancestor owners (split evenly among all parents), and 25% to the development fund. This creates an economic incentive for TLD owners to enable subdomain auctions.

The auctionSubdomains flag and parentHash field are preserved through name expiration, so subdomains function even if the parent TLD expires.

5. Economics

Handshake's development was funded through a 7.5% airdrop to open-source contributors (of which ~2.9% was claimed). This was a one-time allocation that ends as the claimed coins are spent.

Fistbump has no airdrop. The development fund is funded continuously from 50% of name registration fees and 100% of renewal fees. This ties development funding to protocol usage: if nobody registers or renews names, there is nothing to fund. The multisig threshold and signer set are governance parameters, not consensus rules, so they can evolve without a hard fork.

6. Implementation

Handshake's reference node, hsd, is written in JavaScript (Node.js) with performance-critical pieces in C++. This was pragmatic at launch in 2020 but has aged: memory behavior under load, packaging, and mobile embedding are all harder than with a typed, compiled language.

Fistbump's reference node, fbd, is written entirely in Swift. Swift is a modern systems language with a strong type system, deterministic memory semantics, and cross-platform toolchains for macOS, Linux, Windows, iOS, and Android. The same codebase powers the desktop and mobile wallets.

Which should you use?

Use Handshake if you already hold HNS or a large HNS-denominated name portfolio and you are satisfied with the network's current hardware concentration.

Use Fistbump if you want:

  • Mining participation on commodity hardware, with no expectation of ASIC dominance.
  • Sustained anti-squatting pressure via renewal fees.
  • First-class on-chain subdomains with independent ownership.
  • A Swift-based node that embeds into modern mobile platforms.
  • An origination with no pre-mine, ICO, airdrop, or founder allocation.
Try it

Download the wallet, mine a block, and register a name. Mainnet is live.