Sözlük / Cüzdanlar ve saklama
Tohum türetme
- Tohum türetme nedir?
- Tohum türetme, bir anımsatıcı cümleyi isteğe bağlı bir parola (passphrase) ile birlikte, cüzdanın anahtarları gerçekte üzerine kurduğu 512 bitlik tohuma dönüştüren tek yönlü fonksiyondur.
Tanımlandığı belge: BIP-39.
Fonksiyon, HMAC-SHA512 ile çalışan PBKDF2 fonksiyonudur ve kelimelerin kendisi üzerinde, arkalarındaki rastgeleliğin üzerinde değil, çalıştırılır. BIP-39, yineleme sayısını 2.048, çıktıyı da 64 bayt olarak sabitler; parolanız tuzu oluşturmak için sabit "mnemonic" kelimesinin sonuna eklenir. Bu adımda hiçbir şey kelimelerin bir zamanlar geçerli olup olmadığını kontrol etmez, bu yüzden yanlış yazılmış bir ifade yine de düzgün biçimli bir tohum ve boş bir cüzdan üretir.
Nasıl çalışır
Tohum türetme iki girdi alır ve tek bir çıktı döndürür; tek bir çağrıda, durum olmadan ve kelimeleri neyin ürettiğine dair hiçbir bellek olmadan. Anımsatıcı cümle şifredir. Tuz, sonuna varsa parolanın eklendiği "mnemonic" metnidir; parola belirlenmemişse onun yerine boş dize geçer. İkisi de önce Unicode NFKD normalleştirmesinden geçer, böylece Fransızca veya İspanyolca bir ifadedeki aksanlı karakterler, hangi klavyenin yazdığından bağımsız olarak aynı biçimde hash'lenir.
BIP-39, standardın bu yarısının bir ifade üreten yarısından “tamamen bağımsız” olduğunu belirtir ve bunu onaylayan bir tonda söyler: cümle yapısı üzerinde hiçbir kısıt yoktur ve istemciler kendi kelime listelerini, hatta baştan sona cümle üreticilerini yazabilir. Pratik yorum daha doğrudan. Fonksiyona on iki kelimelik anlamsız metin verin, size 64 bayt tamamen kullanılabilir veri döndürür. BIP-39, yazılımın sağlama toplamını bu adımın dışında hesaplamasını ve “geçersizse bir uyarı vermesini” ister; reddetme değil bir uyarı, bu yüzden bazı araçlar az önce size bozuk olduğunu söyledikleri bir ifadeyi geri yükler.
İfadenin arkasındaki entropi yerine ifadenin kendisini hash'lemenin iki sonucu vardır. Bir ifadeyi kelimesi kelimesine başka bir dile çevirmek tamamen farklı bir tohum verir, çünkü arkasındaki rastgelelik değişmese de girdi baytları değişti. Ve yön asla tersine dönmez: herhangi bir BIP-32 tohumu BIP-39 ifadesi olarak geri yazılamaz, bu yüzden “tohumu dışa aktar” ile “kelimeleri dışa aktar” farklı isteklerdir.
Nerede görülür
Tohum türetme, iki yazılım parçasının hangi fonksiyonun çalıştırılacağı konusunda anlaşamadığı anda kendini gösterir. Bu sitede incelenen Trezor Safe 3 ve Safe 5 cihazlarındaki çok paylı yedekleme, BIP-39 değil SLIP-39'dur: 10 bitlik parçalar halinde okunan 1.024 kelimelik bir liste, 128 bitlik bir sır için pay başına 20 kelime ve 256 bitlik bir sır için 33 kelime verir. Bu paylar BIP-39'un PBKDF2 adımına hiç dokunmaz. SLIP-39, BIP-39'un kendi yazarları tarafından onun yerine geçecek bir standart olarak yayımlandı ve payların geri dönüştürülememesi gerçeğini “BIP-0039'un aşırı bağımlı tasarımı ve tek yönlü bir türetme fonksiyonu kullanması”na bağlar; diğer yönde gitmek işe yarar ancak hangi uzunluktan başlarsanız başlayın ortaya çıkan her payı 59 kelimeye zorlar.
Bu sitedeki Coldcard incelemesi, türetmenin sizin için neler yapamayacağını gösterir. Mart 2021 tarihindeki bir ürün yazılımı geçişi, tohum üretiminin donanım yerine bir yazılım sözde rastgele sayı üretecinden çekmesine yol açtı ve Coinkite duyurusunu 1 Ağustos 2026 tarihinde güncelledi. Türetmenin kendisi asla sarsılmadı. Zayıf bir sırrı, geçerli bir sağlama toplamının arkasında duran düzgün biçimli 64 baytlık bir tohuma dönüştürdü ve aşağı akıştaki hiçbir cüzdanın bunu fark etmesinin hiçbir yolu yoktu.
Fonksiyonun hiçbir şeyi riske atmadan nasıl çalıştığını görmek için BIP-39, entropiyi, anımsatıcıyı ve ortaya çıkan tohumu hizalayan test vektörleri yayımlar; her vektör için "TREZOR" parolası kullanılır.
Tohum türetme vs türetme yolu
Tohum türetme bir kez olur, tek bir anahtar var olmadan önce; türetme yoluna ise sonradan, bir adres her gerektiğinde başvurulur. Bu fark, boş görünen bir geri yüklemenin ne kadar kötü olduğuna karar verir. Yanlış bir yol bir ayardır: betik türünü değiştirin, yeniden tarayın ve bakiye ortaya çıkar. Yanlış bir parola tohumu değiştirir, bu da altındaki tüm ağacı değiştirir ve hiçbir yerdeki hiçbir ayar eskisini geri getirmez.