Sözlük / Adresler ve anahtarlar
Anahtar parmak izi
- Anahtar parmak izi nedir?
- Anahtar parmak izi, bir genel anahtarın Hash160 değerinin ilk 32 bitidir ve sekiz onaltılık karakter olarak yazılır; cüzdanlar bir türetme yolunun hangi anahtardan başladığını etiketlemek için bunu kullanır.
Tanımlandığı belge: BIP-32.
Parmak izi, bir anahtar için sabit genişlikte bir etikettir ve genişliği bir görüntüleme tercihi değil, formatın parçasıdır. BIP-380, bir tanımlayıcının köşeli parantezleri içinde tam olarak 8 onaltılık karakter ister ve kendi test vektörleri yedi karakterlik bir parmak izini, dokuz karakterlik olanı ve onaltılık dışında bir harf taşıyanı reddeder. Cüzdanınız tanımlayıcınızı içe aktarmayı reddettiğinde önce o alanı sayın.
Nasıl çalışır
BIP-32, genişletilmiş bir anahtara farklı uzunlukta iki kimlik verir ve parmak izi kısa olanıdır. Tanımlayıcı, serileştirilmiş genel anahtarın Hash160 değeridir, yani SHA-256 üzerinde RIPEMD-160, zincir kodu dikkate alınmaz ve bu tanımlayıcının yalnızca ilk 32 bitine parmak izi denir. Diğer 128 bit atılmaz: BIP-32, tam 160 bitlik tanımlayıcının dahili olarak kullanılabileceğini, kısa biçimin ise yalnızca üst ve alt düğümleri hızlı saptamanın bir yolu olarak hizmet ettiğini söyler, bu yüzden yazılım çakışmalarla baş etmeye istekli olmalıdır.
Bir parmak izi alanı ile çevresindeki anahtar arasındaki tutarlılık bir gelenek değil, bir geçerlilik kuralıdır. Ana anahtarın üst anahtarı yoktur ve üst parmak izi alanına 0x00000000 yazar; BIP-32'nin beşinci test vektörü, yani geçersiz olarak tanınması gereken anahtarları kapsayan küme, hem sıfır derinlik ve sıfırdan farklı üst parmak izi taşıyan bir xprv hem de bir xpub listeler. Bu iki dizgeden birini itiraz etmeden içe aktaran yazılım şartnameye uymuyordur; bunu ona bir geri yükleme emanet etmeden önce bilmekte yarar var.
Nerede görülür
Anahtar parmak izleri her şeyden önce iki makine tarafından okunabilir formatta yaşar: çıktı betiği tanımlayıcıları ve kısmen imzalanmış Bitcoin işlemleri; her ikisinde de hemen bir türetme yolunun önünde yer alır.
BIP-380, anahtar kökeni bilgisini anahtarın önünde köşeli parantez içine koyar ve genişlik konusunda katıdır: tam olarak 8 onaltılık karakter, ardından sertleştirilmiş ve sertleştirilmemiş adımlar. Geçersiz ifade listesi bu tek alanın üç hatasını adlandırır: yedi karakterle deadbef, dokuzla deadbeeef ve onaltılık basamak olmayan bir harfle başlayan gaaaaaaa. Üçü de doğrudan reddedilir, yani yanlış yazılmış bir parmak izi size sessizce yanlış dalı izleyen bir cüzdan değil, bir içe aktarma hatası olarak mal olur.
BIP-174, 4 baytlık bir parmak izini 32 bitlik little endian tam sayı olarak yazılmış bir yolla eşleştirir ve global genişletilmiş genel anahtar girdisi için bu tam sayıların sayısı, xpub'ın kendisinin bildirdiği derinlikle eşleşmelidir. Bu sayı, bir imzalayanın alıntılanan yolu kendisine verilen anahtarla karşılaştırmasını sağlar; etiketi olduğu gibi kabul etmesini değil.
Bir cihaz ekranında aynı sekiz karakter tek bir soruyu yanıtlar: bu hangi kurtarma ifadesi. Harcanabilir hiçbir şeyi açığa vurmazlar, çünkü kısaltılmış bir hash bir anahtara ya da adrese geri döndürülemez. Yine de bir tanımlayıcıdırlar, bu yüzden aynı sekiz karakteri taşıyan iki tanımlayıcı, o iki dal arasında görünür bir bağdır.
Anahtar parmak izi vs Bitcoin adresi
Bir anahtar parmak izi ile bir Bitcoin adresi aynı hash'te başlar ve hemen sonrasında karşılaştırılabilir olmaktan çıkar. BIP-32, genişletilmiş bir anahtarın tanımlayıcısının geleneksel Bitcoin adreslerinde kullanılan veriyle tam olarak örtüştüğünü belirtir, ardından bu tanımlayıcının base58 ile yazılmamasını önerir, çünkü bir adres olarak okunur ve cüzdan yazılımının zincir anahtarının kendisine ödeme kabul etmesi gerekmez. Bir parmak izi, tanımlayıcının 20 baytından 4 baytını korur ve düz onaltılık olarak yazılır, yani kazara bile bir ödeme hedefiyle karıştırılamayacak kadar kısadır. Bir tanımlayıcıdaki sekiz onaltılık karakter, bir yolun hangi anahtarda başladığını söyler; bir adres ise bitcoinlerin nereye gitmesine izin verildiğini söyler.