Sampai tahun 2012, membuat cadangan dompet adalah tugas yang tidak pernah berakhir. Program asli menyimpan seratus kunci siap pakai dalam sebuah file dan menggunakan satu per satu; setelah yang keseratus, cadangan yang dibuat pada hari pertama sudah tidak mengandung kunci baru, dan siapa pun yang mengandalkannya akan mengetahuinya dengan cara yang paling buruk. Menyelesaikan masalah ini adalah alasan keberadaan dari dua belas kata.
Usulan ini datang pada Februari 2012, dari Pieter Wuille, dan disebut BIP-32. Idenya sederhana untuk diutarakan: alih-alih mengundi setiap kunci, diundi satu benih tunggal dan semua kunci lainnya diturunkan darinya, selalu melalui jalur yang sama. Cadangan yang dibuat hari ini berlaku untuk kunci sepuluh tahun mendatang, karena mereka sudah ditentukan — hanya saja belum dihitung.
Langkah pertama mengambil benih 512 bit dari pelajaran sebelumnya dan melewatkannya melalui HMAC-SHA-512. Keluar enam puluh empat byte, dipotong menjadi dua: tiga puluh dua di kiri adalah kunci pribadi utama, dan tiga puluh dua di kanan adalah sesuatu yang baru, kode rantai. Bagian kedua inilah yang mencegah pengetahuan tentang satu kunci anak memberi tahu sesuatu tentang saudara-saudaranya.

Menurunkan anak adalah satu perhitungan: gabungkan keduanya, tambahkan nomor anak, lewati fungsi yang sama. Keluar kunci pribadi baru dan kode rantai baru, siap untuk menghasilkan cucu. Ini adalah pohon dari miliaran kunci di mana setiap cabang dapat dihitung ulang dari benih, dan tidak ada yang perlu disimpan.
Dari struktur ini lahirlah bagian yang paling berguna dari semuanya, kunci diperpanjang. Versi pribadi ditulis xprv dan menurunkan semuanya. Versi publik ditulis xpub dan hanya menurunkan kunci publik — alamat, oleh karena itu — tanpa kemampuan untuk membelanjakan. Sebuah toko dapat menginstal xpub di server, menghasilkan alamat baru untuk setiap pelanggan dan tidak memiliki, di dalam mesin itu, apa pun yang memungkinkan untuk memindahkan koin.

Kemudahan ini memerlukan kehati-hatian. Sebuah xpub mengungkapkan semua alamat yang akan dimiliki akun itu, selamanya, dan oleh karena itu seluruh riwayat dan seluruh saldo. Ia tidak membelanjakan, tetapi menceritakan semuanya. Mengirimkan xpub kepada seseorang adalah membuka seluruh laporan, dan tidak ada cara untuk menutupnya kembali.
Masih ada jebakan matematika yang nyata, dan dari sinilah datangnya apostrof dari jalur penurunan. Dalam penurunan biasa, siapa pun yang memiliki xpub dari seorang ayah dan mendapatkan satu kunci pribadi anak dapat menyimpulkan kunci pribadi ayah — dan, dengannya, seluruh keluarga. Penurunan yang diperkuat memotong jalur kembali ini: ia menggunakan kunci pribadi ayah dalam perhitungan, dan oleh karena itu sebuah xpub tidak dapat menghasilkan anak-anak yang diperkuat.

Sekarang jalur tersebut tidak lagi menjadi mantra. Dalam m/84'/0'/0'/0/5, m adalah akar. Angka 84 dengan apostrof adalah tujuan, yang menunjukkan pola alamat yang akan digunakan dan merupakan topik pelajaran berikutnya. Angka 0 berikutnya adalah mata uang, dan Bitcoin adalah nol. Angka ketiga adalah akun, yang memungkinkan pemisahan keuangan pribadi dari bisnis dalam benih yang sama. Tiga tingkat pertama selalu diperkuat, persis karena alasan paragraf sebelumnya.
Dua yang terakhir tidak, karena alasan praktis. Tingkat keempat bernilai 0 untuk alamat yang Anda berikan kepada orang yang akan membayar dan 1 untuk alamat kembalian, yang dibuat sendiri oleh dompet; tingkat kelima adalah penghitung yang bergerak satu per satu. Karena dua tingkat ini umum, xpub dari akun menghitung semuanya — yang merupakan apa yang dibutuhkan toko dalam contoh.
Sebuah detail sehari-hari menutup pelajaran ini. Saat memulihkan benih, dompet tidak memindai seluruh pohon: ia mencari alamat secara berurutan dan berhenti setelah menemukan dua puluh berturut-turut tanpa ada pergerakan. Batas dua puluh ini adalah konvensi, dan siapa pun yang secara manual menghasilkan alamat jauh di depan penghitung dapat melihat uang menghilang dari layar tanpa menghilang dari blockchain.
Masih perlu menjelaskan angka pertama dari jalur, yaitu tujuan. Dialah yang memutuskan apakah benih yang sama akan menampilkan alamat yang dimulai dengan 1, dengan 3, atau dengan bc1 — dan mengapa dua dompet yang jujur menampilkan saldo yang berbeda untuk dua belas kata yang sama. Pada pelajaran berikutnya, pola 44, 49, 84, dan 86.