MSTR Cat

Blockchain/Tahap II · Mekanisme/2.1 Kriptografi/Pelajaran 7

Frasa benih (BIP39)

Dua belas perkataan, satu checksum, dan benih 512-bit yang mengawal segalanya

BahanSenarai perkataan Inggeris BIP39 (github.com/bitcoin/bips)Buku nota

Ingin tahu

  1. Mengapa urutan bit rawak itu bertukar menjadi dua belas perkataan dalam bahasa Inggeris dan bukannya kekal sebagai heksadesimal?
  2. Apa yang berlaku pada dompet jika satu perkataan dalam frasa tersebut digantikan dengan perkataan lain daripada senarai yang sama?
  3. Bagaimanakah dua belas perkataan yang sama boleh menghasilkan dua dompet yang sepenuhnya berbeza?

Teroka

  1. BIP39, yang ditulis pada tahun 2013 oleh pembangun termasuk pasukan di sebalik dompet perkakasan Trezor, menukar entropi kriptografi mentah kepada mnemonik yang boleh dibaca manusia. Menyalin 32 atau 64 aksara heksadesimal dengan tangan mengundang ralat; perkataan lebih mudah ditulis, dibaca semula dan disemak. Standard ini mentakrifkan pemetaan deterministik antara jujukan binari dan perkataan daripada kamus tetap, membolehkan pengguna memulihkan keseluruhan hierarki kunci mereka dengan menghafal atau menulis senarai yang pendek.
  2. Proses ini bermula dengan entropi: jujukan rawak sebanyak 128, 160, 192, 224 atau 256 bit. Checksum ditambahkan pada entropi ini dengan mengambil N bit pertama hash SHA-256nya, dengan N bersamaan panjang entropi dibahagi 32. Bagi frasa standard 12 perkataan (entropi 128 bit), ini menambah 4 bit; bagi 24 perkataan (entropi 256 bit), ia menambah 8 bit. Checksum ini membolehkan perisian dompet mengesan kebanyakan ralat transkripsi sebaik sahaja frasa diimport.
  3. Rentetan entropi dan checksum yang digabungkan dibahagikan kepada segmen-segmen berukuran 11 bit, di mana setiap segmen merujuk kepada satu perkataan daripada senarai bahasa Inggeris BIP39 yang mengandungi 2,048 entri unik. Senarai ini disusun sedemikian rupa agar tiada dua perkataan yang mempunyai empat huruf pertama yang sama, sekaligus mengurangkan kekeliruan semasa transkripsi secara manual. Memandangkan segmen terakhir turut merangkumi sebahagian daripada checksum, perkataan yang dipilih secara rawak biasanya gagal; hanya kira-kira 1 daripada 16 urutan 12 perkataan yang dipilih secara rawak yang lulus ujian checksum (1 daripada 256 untuk 24 perkataan).
  4. Untuk menerbitkan benih sebenar yang digunakan bagi penjanaan kunci, ayat mnemonik dan frasa laluan (passphrase) pilihan dimasukkan ke dalam PBKDF2-HMAC-SHA512 dengan 2,048 lelaran. Salt dibina daripada rentetan literal 'mnemonic' diikuti oleh frasa laluan (atau 'mnemonic' sahaja jika tiada frasa laluan). Fungsi regangan (stretching) ini menghasilkan benih 512 bit yang deterministik. Apabila frasa laluan digunakan, penyerang yang memegang kesemua dua belas perkataan tetap tidak dapat menerbitkan benih tanpanya, dengan syarat frasa laluan itu cukup kuat untuk menahan tekaan.
  5. Mekanisme ini mewujudkan model keselamatan dua lapisan. Mnemonik menyediakan keupayaan pemulihan dan pengesanan ralat asas, manakala frasa laluan berfungsi sebagai lapisan 'dompet tersembunyi'. Sesetengah pengguna menyimpan dompet umpan yang kecil di bawah perkataan sahaja (tanpa frasa laluan) dan dana utama mereka di sebalik frasa laluan. Namun, ini juga merupakan punca kehilangan: jika frasa laluan terlupa atau hilang, akses kepada dana tersebut tertutup selama-lamanya, kerana tiada cara untuk memulihkannya daripada mnemonik sahaja.
  6. Tidak semua dompet mengikut BIP39; Electrum menggunakan skemanya sendiri, dan SLIP-0039 memecahkan rahsia kepada bahagian (shares) Shamir untuk jagaan berbilang pihak. Namun begitu, BIP39 kekal sebagai standard dominan kerana keserasiannya yang luas merentasi peranti perkakasan dan aplikasi perisian. Benih 512 bit yang dijana di sini berfungsi sebagai input akar bagi terbitan kunci hierarki deterministik (HD) BIP32, yang bermakna setiap kunci peribadi dalam dompet akhirnya boleh dijejak kembali kepada gabungan frasa dan frasa laluan khusus ini.

Fakta utama

  • BIP39 memetakan 128–256 bit entropi ditambah dengan checksum SHA-256 kepada 12–24 perkataan daripada senarai yang mengandungi 2,048 perkataan.
  • Senarai perkataan dalam bahasa Inggeris direka sedemikian rupa sehingga empat huruf pertama dapat mengenal pasti setiap perkataan dengan unik.
  • PBKDF2-HMAC-SHA512 dengan 2,048 lelaran meregangkan mnemonik dan frasa laluan menjadi benih 512 bit.
  • Frasa laluan yang berbeza yang digunakan pada mnemonik yang sama akan menghasilkan dompet yang sah dan berbeza sama sekali.
  • Kehilangan kata-kata mnemonik atau frasa laluan yang berkaitan akan menyebabkan kehilangan akses kepada dana secara kekal.
  • SLIP-0039, standard berasingan yang tidak serasi, memecahkan rahsia kepada bahagian (shares) Shamir untuk pemulihan berasaskan ambang (threshold).

Latihan sembilan, enam, tiga, satu

9KumpulSenaraikan 9 dompet atau peranti penandatanganan dan catatkan sama ada setiap satunya menggunakan BIP39, skemanya sendiri, atau SLIP-39.
6KelompokkanKumpulkan 9 item tersebut kepada 6 kumpulan berdasarkan cara ia membuat sandaran kunci: 12 perkataan, 24 perkataan, perkataan ditambah frasa laluan (passphrase), bahagian (shares) Shamir, konfigurasi multisig, atau lain-lain.
3SaringKurangkan 6 kumpulan tersebut kepada 3 kompromi (trade-off) antara kemudahan pemulihan dan ketahanan terhadap kecurian.
1KristalkanTulis 1 ayat yang menerangkan mengapa perkataan terakhir dalam frasa BIP39 berbeza dari segi matematik daripada sebelas perkataan sebelumnya.

Semakan fakta

Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.

Buka dalam akademi interaktif →

EN PT ES ZH JA KO RU DE FR