HD Cüzdanlar Açıklandı: BIP-32, BIP-39 ve BIP-44
Tek bir tohum. Ondan belirlenimci olarak türetilmiş bütün bir anahtar ağacı; aynı tohum, standardı doğru uygulayan her cüzdanda her zaman aynı ağacı üretir. Bu bir hiyerarşik belirlenimci cüzdandır, yani HD cüzdan, ve on iki ya da yirmi dört sözcüklük bir ifadenin yalnızca bir tanesini değil bütün bir cüzdan dolusu hesabı ve adresi yedekleyebilmesinin sebebidir.
Mekanizma, herhangi bir tekil cüzdan satıcısının icadı değildir. Her biri adı belirtilmiş yazarları olan ve her biri problemin farklı bir parçasını çözen üç ayrı Bitcoin İyileştirme Önerisidir: BIP-39 rastgeleliği bir insanın yazabileceği bir sözcük listesine çevirir. BIP-32 o sözcük listesini bir anahtar ağacına çevirir. BIP-44 ağacın hangi dalının ne anlama geldiğini tanımlar. Solidus Wallet bu standartları bir araya getirir; onları yazmadı ve bu sayfa Solidus'a özgü bir uygulama iddiasını değil şartnameleri tarif eder.
BIP-39: tohum ifadesinin kendisi
Kurulumda yazmanız istenen sözcükler, "abandon ability able about above absent..." tarzı listeler, BIP-39'un katkısıdır: 2013'te Marek Palatinus, Pavol Rusnak, Aaron Voisine ve Sean Bowe tarafından yazılan "Mnemonic code for generating deterministic keys".
Kaputun altında gerçekte olan şey: cüzdan bir blok rastgele entropi (128 ila 256 bit) üretir, bir sağlama toplamı ekler ve sonucun sabit uzunluktaki parçalarını standart 2048 sözcüklük bir listeye eşler. BIP-39 uyumlu her cüzdanın kullandığı aynı liste, ki sözcüklerin farklı cüzdan markaları arasında tanınabilir olmasının sebebi budur. On iki sözcük 128 bit entropi kodlar; yirmi dört sözcük 256. Sağlama toplamı, bir cüzdanın yanlış yazılmış ya da yanlış hatırlanmış bir sözcüğü, siz bir yazım hatası yüzünden erişimi kaybettikten sonra değil önce yakalayabilmesi demektir.
Sözcükleri yazmak son adım değildir. BIP-39 ayrıca sözcük listesinin nasıl kriptografik bir tohuma geri çevrileceğini de belirtir: PBKDF2 ile 2048 tur boyunca gerilerek, ki bu zincirdeki bir sonraki önerinin asıl girdisidir.
İsteğe bağlı parola uzantısı dahil tam mekanizma için bkz. Tohum İfadesi (BIP-39).
BIP-32: türetme matematiği
"Hierarchical Deterministic Wallets" başlıklı BIP-32, Pieter Wuille'in 2012 önerisidir ve asıl ağaç matematiğidir: bir tohum verildiğinde bir ana anahtar türetin; ağaçtaki herhangi bir anahtar verildiğinde (bir "ebeveyn"), ondan belirlenimci olarak istediğiniz kadar "çocuk" anahtar türetin ve çocukların çocuklarını, süresiz olarak. Her türetme tek yönlüdür, bir çocuk anahtar ebeveynini açığa çıkarmaz ve her türetme yeniden üretilebilirdir: aynı tohum ve aynı türetme yolu, doğru olan her uygulamada, her zaman aynı anahtarı üretir.
Yedeklemeyi anlamlı kılan özellik budur. Bir cüzdanın üreteceği her adresi yazmanız gerekmez; tek kök tohuma ihtiyacınız vardır, çünkü cüzdanın size gösterdiği ya da göstereceği her anahtar ondan sabit ve açık bir algoritmayla türetilmiştir. Cüzdan yazılımını kaybedin, tohumu saklayın ve BIP-32 uyumlu farklı bir cüzdan birebir aynı ağacı yeniden kurar.
BIP-32 tek başına, o ağacın hangi dalının "Bitcoin için" ve hangisinin "başka bir şey için" olduğu hakkında hiçbir şey söylemez. O gelenek ayrı bir öneridir.
BIP-44: standart türetme yolu
"Multi-Account Hierarchy for Deterministic Wallets" başlıklı BIP-44, 2014'te Marek Palatinus ve Pavol Rusnak (Trezor donanım cüzdanının yapımcıları SatoshiLabs) tarafından yazılmıştır ve HD cüzdanları yalnızca belirlenimci değil birlikte çalışabilir kılan kısımdır. Bir yol yapısı sabitler:
m / purpose' / coin_type' / account' / change / index
purpose', "bu BIP-44'tür" diye işaretleyen bir sabittir. coin_type', dalın hangi zincirin
geleneğini izlediğini seçer (bunları bir sicil atar). account', tek bir tohumun birden fazla bağımsız
hesap tutmasını sağlar. change, alma adreslerini para üstü adreslerinden ayırır. index, o dal
içindeki tekil adresleri sayar. Yol, cüzdan başına bir gelenek değil açık bir standart olduğu için,
aynı tohum verilen BIP-44 uyumlu herhangi bir cüzdan, farklı bir cüzdanın ondan türettiği aynı hesapları
bulabilir: yol ona ağaçta tam olarak nereye bakacağını söyler.
BIP-32 ile BIP-44'ün nasıl bir araya geldiği dahil tam ayrıntı HD Cüzdan (BIP-32/44) sayfasında yaşar.
Şartnameleri kendiniz kontrol etmek
Yukarıdaki üç numaranın hiçbiri Solidus belgesi değildir. Tamamı okunmaya açık, açık Bitcoin İyileştirme Önerileridir:
git clone https://github.com/bitcoin/bips
cat bips/bip-0039.mediawiki
cat bips/bip-0032.mediawiki
cat bips/bip-0044.mediawiki
Bir özetin sözüne güvenmek yerine asıl şartname metnini okumak, mekanizmayı uzaktan tarif etmek yerine depoyu doğrudan bağlamanın amacıdır.
Solidus'un yeri
Solidus Wallet saklamasızdır: anahtarlar tasarım gereği kullanıcının kendi cihazında üretilir ve imzalar. O istemci tarafı anahtar ele alışının özellikle BIP-32/39/44'e uyup uymadığı, bu sayfanın iki yönde de iddia etmediği bir mühendislik ayrıntısıdır: o iddia için bulunan tek atıf, doğrulanmış bir uygulama olgusu değil, arzu belirten ve teyit edilmemiş bir ürün belgesiydi ve bu sayfa tahmin yürütecek yer değil. Açıkça söylenebilecek olan şudur: yukarıdaki standartlar öz saklama cüzdanı alanında belirlenimci anahtar türetmesinin sektör temelidir, Solidus'tan çok öncedirler ve hangi cüzdanı kullandığınızdan bağımsız olarak, bunu hiç kullanmasanız bile onları anlamak yararlıdır. Tohumun yalnızca açıklanması değil gerçekten kaybedilmesi hâlinde ne olduğu için bkz. Bir Tohum İfadesini Kaybettiğinizde Ne Olur; Solidus Wallet'ın anahtarları mimari olarak nasıl ele aldığı için bkz. Solidus Wallet Anahtarlarınızı Nasıl Ele Alır.