Decentralized naming protocol

Replace the
DNS root zone

On-chain Vickrey auctions. On-chain DNS records. Every full node is an authoritative nameserver. No pre-mine. No registrars. No certificate authorities.

fbd
$fbd I) [2026-03-10T14:22:01-05:00] node | fbd v0.1.0 (63ab181) I) [2026-03-10T14:22:01-05:00] node | Starting datadir=~/.fbd dns=32870 network=main p2p=32867 rpc=32869 I) [2026-03-10T14:22:02-05:00] chain | Chain initialized height=0 stored_blocks=1 I) [2026-03-10T14:22:02-05:00] rpc | RPC listening on 127.0.0.1:32869 I) [2026-03-10T14:22:02-05:00] dns | DNS listening on 127.0.0.1:32870 I) [2026-03-10T14:22:02-05:00] net | P2P listening on 127.0.0.1:32867 I) [2026-03-10T14:22:02-05:00] net | Brontide listening on 127.0.0.1:32868 $

The DNS root zone is managed by IANA, delegated through ICANN-accredited registrars, and authenticated by certificate authorities. Governments seize domains. Registrars suspend accounts. CAs get compromised. The entire naming layer of the internet runs on trust in institutions that can revoke any name, at any time, in any jurisdiction.

Fistbump replaces this with a public blockchain. The goal is not to exist alongside DNS. The goal is to replace the root zone with something no single entity controls.

Balloon
Hash algorithm
512 MB
Memory per attempt
2 min
Target block time
1.051 B
Total coin supply
Zero
Pre-mine / ICO
Swift
Implementation

Memory-hard proof of work

Fistbump uses Balloon Hashing, a provably memory-hard function that requires 512 MB of RAM per proof attempt. Unlike SHA-256 or Scrypt, the memory-hardness cannot be traded for computation — there is no time-memory tradeoff. This makes purpose-built ASICs economically pointless and keeps mining accessible to commodity hardware.

The genesis block reward is burned. There is no pre-mine, no founder reward, and no foundation allocation. Every coin in circulation was mined by someone running the same software available to everyone else.

AlgorithmBalloon Hashing
Memory512 MB per attempt
Block time2 minutes
ASIC resistantYes
GPU resistantYes
Genesis rewardBurned

Covenant-enforced name auctions

Names are registered through Vickrey (sealed-bid, second-price) auctions enforced entirely by on-chain covenants. The auction lifecycle is encoded in transaction outputs: OPEN initiates the auction, BID commits a blinded value, REVEAL discloses the true bid, and REGISTER claims the name.

The covenant system ensures the auction rules are enforced by consensus, not by a smart contract runtime. There is no EVM, no gas metering, and no Turing-complete scripting. Covenants are purpose-built state transitions for naming operations.

1
OPEN
~1 hour
2
BID
3 days
3
REVEAL
1 day
4
REGISTER
+ set DNS
5
REDEEM
losers reclaim
fbdctl
$fbdctl sendopen example $fbdctl sendbid example 5000 10000 $fbdctl sendreveal example $fbdctl sendupdate example \ '{"records":[{"type":"A","address":"1.2.3.4"}]}'

On-chain DNS with a built-in nameserver

Every fbd node includes a built-in authoritative DNS server that resolves names directly from chain state. Point a recursive resolver at any Fistbump node and it answers standard DNS queries — no middleware, no gateways, no browser extensions.

Names store real DNS resource records on-chain: A, AAAA, NS, MX, CNAME, TXT, TLSA, CAA, and more. TLD owners can enable on-chain subdomains, allowing names like sub.example to be registered and resolved entirely through the blockchain.

dns query
# Query DNS records from the chain $fbdctl getnameresource example { "records": [ {"type": "A", "address": "1.2.3.4"}, {"type": "AAAA", "address": "2001:db8::1"}, {"type": "TXT", "txt": ["v=spf1 ..."]} ] } # Or just use dig against the built-in DNS $dig @127.0.0.1 -p 32870 example A ;; ANSWER SECTION: example. 21600 IN A 1.2.3.4

Full node architecture

fbd is written entirely in Swift and structured as a layered package: cryptographic primitives at the base, then protocol serialization, script execution, consensus rules, the covenant and Urkel tree system, chain and mempool management, P2P networking, DNS, RPC, mining, and wallet at the top.

The Urkel tree is an authenticated data structure (a flatten-hashed trie) that stores the entire name state. It enables compact proofs of name existence and non-existence, allowing lightweight clients to verify name resolution without downloading the full chain.

Application
10Node · Wallet
9RPC · Mining
Network
8DNS Server
7P2P Networking
Consensus
6Chain · Mempool
5Covenants · Urkel Tree
4Consensus Rules
Protocol
3Script Execution
2Protocol Serialization
1Cryptographic Primitives

Software

Fistbump wallet screenshot

Wallet

Desktop and mobile application for managing coins, registering names, bidding on auctions, and configuring DNS records.

Launching soon.

Desktop

Source code

fbd Full node

Blockchain validation, P2P networking, wallet, mining, and authoritative DNS server. Includes fbdctl command-line RPC client.

install
$curl -sS https://install.fbd.dev | sudo bash