cd ~/blog && cat building-on-standards.md

Building on standards

Why a seed from 2017 still works today

You type twelve words into an app that didn’t even exist when you created them. You tap “Restore” and, a few seconds later, there are your funds, with their whole history.

How is that possible, when the app comes from another company, another country and another time? Thanks to a few documents that almost nobody reads: standards.

From loose keys to a seed

In the beginning, Bitcoin software generated a random private key for every address. Each time you wanted to receive a payment at a new address, you had one more key to keep safe. Backups were a headache, and losing a single key meant losing the funds at that address.

In 2012, the BIP32 standard was proposed. It lets you derive an unlimited number of keys from a single master key, always in the same order. The following year came BIP39, which turns that master key into a list of 12 or 24 words that are easy to write down.

That’s how what we now call a seed was born. A single backup, on paper, protects all your addresses, present and future. And because any app that follows the same standards derives exactly the same keys, the seed works in all of them.

Four generations of addresses

Bitcoin hasn’t stood still since then. It has introduced new kinds of addresses, and each one was another standard everyone agreed on. You can tell them apart by how they start:

  • Legacy (P2PKH), starting with 1. The originals. They work, but they pay the highest fees.
  • P2SH, starting with 3. The first to support spending conditions, such as addresses that need several signatures.
  • Native SegWit (P2WPKH), starting with bc1q. They keep the signature separate from the rest of the transaction, which makes them smaller and cheaper.
  • Taproot (P2TR), starting with bc1p. Activated in November 2021, they improve privacy and allow more complex conditions.

The interesting part is that no generation has erased the one before. An address from 2010 is still valid today. Each new standard was added without breaking what already existed, and each has its own derivation path, so the same seed can generate addresses of any type.

One practical detail: not every app has always followed the standards to the letter. Before trusting one to restore your seed, it’s worth checking that it does.

What a standard gives you

This story isn’t unique to Bitcoin. You can send an email from Gmail to someone who uses Proton Mail because both speak SMTP, a standard published in 1982. You can take your contacts from one phone to another because there’s a common format to describe them. Nobody has to ask anyone’s permission.

An open standard gives users something very valuable: the freedom to choose. Their data truly belongs to them, because any compatible tool can read it. If an app stops pleasing them, or stops existing, they take everything somewhere else and carry on.

For anyone building a product, betting on standards has another, less obvious advantage: it means earning users every single day. When customers stay because they want to, not because they can’t leave, the product has to be genuinely good.

A few simple ways to apply it: export data in common formats (CSV, iCalendar, vCard), rely on open protocols instead of inventing your own, and document how things are stored so that others can read them.

Twelve words that last

Standards aren’t the flashiest part of technology, but they’re what makes it last. A seed written on paper in 2017 still opens the same funds today, in apps that didn’t exist back then.

If your product keeps something that matters to someone, ask yourself whether that person could get it back in ten years’ time, with a different tool. If the answer is yes, you’ve built on something solid.

References

Got something to build?

Start a project