SLIP-39 adalah standar pencadangan dompet menggunakan beberapa daftar kata yang disebut bagian pemulihan. Sejak awal, Anda menentukan berapa bagian berbeda yang diperlukan. Dalam skema dua dari tiga, misalnya, satu bagian boleh hilang dan dompet tetap bisa dipulihkan. Satu bagian saja tidak cukup. Standar buatan SatoshiLabs ini memakai Shamir’s Secret Sharing, metode matematika untuk membagi rahasia. Bagian-bagiannya bukan sekadar penulisan ulang Seed Phrase biasa menurut BIP 39.
Anna memilih cadangan dua dari tiga. Dompet adalah aplikasi atau perangkat untuk menerima dan mengirim bitcoin. Dompet membuat tiga bagian berbeda, dan dua bagian mana pun cukup untuk pemulihan. Jumlah minimum itu disebut ambang. Dua foto dari bagian yang sama tetap dihitung sebagai satu bagian. Susunan sederhana menggunakan satu kelompok. SLIP-39 juga mendukung aturan lebih rumit: misalnya 2 dari 3 kelompok, masing-masing memerlukan 2 dari 3 bagian. Dua bagian dari kelompok A dan dua dari B cukup. Tiga dari A dan satu dari B tidak cukup, karena hanya A yang lengkap. Jadi yang penting adalah sebarannya, bukan sekadar jumlah kertas. [1] [6]
Setiap daftar membawa data berbeda beserta informasi untuk menggabungkannya dengan benar. SLIP-39 memakai daftar tetap berisi 1024 kata bahasa Inggris; kata cadangan tidak diterjemahkan meskipun antarmuka dompet berbahasa Indonesia. Rahasia sepanjang 128 bit menghasilkan bagian berisi 20 kata; rahasia 256 bit menghasilkan 33 kata. Bit adalah satuan dasar data, bukan kata tambahan yang harus dicatat. Setiap bagian juga memuat identitas kumpulan, kelompok dan posisinya, ambang yang diperlukan serta pengaturan enkripsi. Pemulihan memeriksa kesesuaian data ini dan memastikan bagian-bagiannya berbeda. Daftar sembarang dengan panjang sama tidak bisa begitu saja dicampur. [1]
Anna dapat memakai passphrase, kata sandi tambahan pilihannya sendiri. Bagian yang cukup tidak menggantikannya, dan kombinasi yang benar tidak mengenali salah ketik dengan sendirinya: passphrase berbeda menghasilkan rahasia utama berbeda, sehingga dompetnya pun berbeda. Karena itu, bandingkan hasil dengan alamat yang sudah dikenal, bukan hanya pesan bahwa cadangan valid. Tanpa passphrase, masukannya kosong. SLIP-39 mengizinkan karakter ASCII tercetak 32–126, yakni karakter Latin dasar tanpa aksen, termasuk spasi. Ini aturan standar tersebut, bukan semua dompet. Passphrase bukan PIN pembuka perangkat. [1]
Seed Phrase menurut BIP 39 dibuat dengan cara lain dan memakai daftar kata berbeda. Membagi kata-katanya ke beberapa kertas tidak menjadikannya bagian SLIP-39. Agar dompet tetap sama, konversi harus mempertahankan seed, data rahasia masukan untuk pohon kunci BIP 32, serta Derivation Path yang tepat, yaitu jalur menuju kunci yang digunakan. Mengodekan ulang entropi awal, data acak sebelum kata dibuat, tidak cukup. BIP 39 menghasilkan seed 512 bit dari kata dan passphrase; pencadangan seed itu secara langsung dengan SLIP-39 menghasilkan bagian 59 kata. Mengonversi satu dompet juga tidak otomatis membawa dompet lain yang dibuka dengan passphrase berbeda. Periksa dahulu prosedur khusus yang didukung. [1] [3] [2]
Cadangan kompatibel dengan penanda extendable dapat diubah pembagiannya sambil mempertahankan dompet yang sama. Trezor menjelaskan perpindahan dari satu bagian menjadi beberapa bagian dengan cara ini. Namun, mengganti kertas tidak mengubah rahasia Anna: kombinasi lama yang cukup tetap berfungsi. Bagian lama dan baru tidak boleh dicampur. Secara teknis, penanda bernilai 1 mengeluarkan pengenal kumpulan dari masukan tambahan enkripsi yang disebut salt. Encrypted master secret (EMS), rahasia utama terenkripsi yang sama, kemudian dapat dibagi ulang dengan pengenal baru tanpa mengetahui passphrase. Cara ini tidak memperbaiki kebocoran cadangan lama yang masih bisa digunakan. [1] [4]
Kunci privat adalah nilai angka rahasia yang dipakai dompet untuk membuat tanda tangan digital yang mengizinkan pembelanjaan dana. Setelah dipulihkan, dompet Anna dapat menandatangani seperti biasa. Pemegang bagian tidak harus menyetujui setiap pembayaran: SLIP-39 memulihkan satu rahasia, sedangkan Multisig memerlukan beberapa tanda tangan sesuai syarat pembelanjaan. Satu kebakaran dapat menghancurkan tiga bagian yang disimpan di apartemen yang sama. Penyebaran sebaiknya mempersulit kehilangan bersama sekaligus pengumpulan bagian yang cukup oleh penyerang; skema lebih rumit juga menambah kesulitan pemulihan. Pengujian harus memakai prosedur yang didukung pada perangkat tepercaya. Pustaka referensi python-shamir-mnemonic membantu pengembang memeriksa kompatibilitas dengan contoh pengujian publik, bukan memproses cadangan Anda yang sebenarnya. Pustaka itu secara jelas memperingatkan bahwa perlindungannya terhadap rahasia tidak memadai. [1] [4] [5] [6]
Pada dompet BIP 32, rahasia utama adalah seed masukan, bukan akar privat diperluas dari pohon kunci yang sudah dihitung. Seed dienkripsi terlebih dahulu; baru EMS hasilnya dibagi. Enkripsi memakai empat putaran konstruksi Feistel, masing-masing berisi PBKDF2-HMAC-SHA256 dengan 2500×2^e pengulangan. Eksponen e yang disimpan menentukan beban perhitungan. Ini pemrosesan kata sandi yang ditentukan secara tepat, bukan penambahan kata acak. Pembagian bekerja per byte dalam GF(256), lingkungan matematika dengan 256 nilai. Polinom menyimpan rahasia pada f(255); jika ambang minimal 2, f(254) memuat nilai verifikasi yang disebut digest. [1] [2]
Tiga kata terakhir suatu bagian membentuk checksum RS1024. Ini menjamin deteksi galat yang memengaruhi paling banyak tiga kata, tetapi bukan tanda tangan pembuat cadangan ataupun bukti kepemilikan. Standar tidak menganjurkan koreksi otomatis: perangkat lunak bisa menghasilkan kata valid yang berbeda. Saat penggabungan, digest 32 bit lainnya membantu mendeteksi kumpulan yang salah. Ada pula konsekuensi teoretis: orang yang memiliki satu bagian kurang dari ambang dapat menyingkirkan beberapa kandidat rahasia lewat pencarian menyeluruh. Karena itu, klaim matematis bahwa sama sekali tidak ada informasi bocor di bawah ambang perlu diberi batasan. Ini bukan berarti perlindungannya mudah dibobol; ini menjelaskan perlunya rahasia awal yang cukup kuat. [1]
Untuk gambaran yang lebih utuh, baca entri ini bersama Shamir Secret Sharing, BIP 39, Trezor, Multisig, HD Wallet, Seed Phrase. Entri ini juga dirujuk dari BIP 39, Trezor, Pavol ‘Stick’ Rusnák, Shamir Secret Sharing.