İçeriğe geçin
buybitcoinsmart

Sözlük / Adresler ve anahtarlar

Çıktı tanımlayıcısı

Diğer adları: Tanımlayıcı, Tanımlayıcı cüzdan, Output descriptor.

Çıktı tanımlayıcısı nedir?
Çıktı tanımlayıcısı, bir cüzdanın hangi script türünü, hangi anahtarları ve hangi türetme dalını kullanacağını belirten ve sonunda bir sağlama toplamı taşıyan tek satırlık bir metindir.

Tanımlandığı belge: BIP-380.

Tanımlayıcılar, tek başına bir genişletilmiş anahtarın belirsiz olması nedeniyle vardır. Aynı xpub eski (legacy), iç içe SegWit, yerel SegWit veya Taproot adresleri üretebilir ve bu soruyu yalnızca onu saran fonksiyon netleştirir. Bitcoin Core, Nisan 2022'de yayımlanan 23.0 sürümünden beri varsayılan olarak tanımlayıcı cüzdanları oluşturur ve tanımlayıcısı olmayan bir çoklu imza yedeği çoğu zaman kurtarılamaz.

Nasıl çalışır

Bir tanımlayıcı, bir anahtar ifadesine uygulanan, ardından bir kare işareti ve sekiz sağlama toplamı karakteri gelen bir fonksiyondur. Fonksiyon script türünü adlandırır: eski tür için pkh, iç içe SegWit için sh(wpkh(...)), yerel SegWit için wpkh, Taproot için tr ve 3'te 2 kasa için wsh(sortedmulti(2,...)).

Geri kalanı anahtar ifadesi taşır. Köşeli parantezler kökeni, yani ana anahtarın parmak izini ve o anahtara ulaşmak için kullanılan yolu tutar, örneğin [1a2b3c4d/84h/0h/0h] gibi. Ardından genişletilmiş anahtar gelir, sonra /0/* gibi bir sonek; buradaki yıldız, her adres dizinini sırayla temsil eden bir joker karakterdir. Joker karakter içeren tanımlayıcıya aralıklı denir ve ondan 0 ile 999 arasındaki adresleri istemek, bin içe aktarma yerine tek bir RPC çağrısıdır.

Alma ve para üstü iki ayrı tanımlayıcıdır, tek değil; bu yüzden cüzdanlar bunları /0/* ve /1/* ile biten çiftler halinde içe aktarır. BIP-389 bunu çoklu yol gösterimiyle düzene soktu ve çifti tek bir dizede /<0;1>/* şeklinde yazar.

Sağlama toplamı küçüktür ama kritik bir işlev görür. BIP-380, tanımlayıcı metni üzerinde sekiz karakterlik bir kod tanımlar; bu kod, uzun bir dizede gerçekten olan hasar türlerini yakalamak için tasarlanmıştır: yer değiştirmiş bir karakter, kesilerek yapıştırılmış bir metin, bir e-posta istemcisinin eklediği satır sonu. Bitcoin Core, sağlama toplamı eşleşmeyen hiçbir tanımlayıcıyı kabul etmez ve getdescriptorinfo, kendi yazdığınız bir dize için doğru olanı hesaplar.

Nerede karşınıza çıkar

Tanımlayıcılar, tek bir kurtarma ifadesinden daha karmaşık her şeyin yedekleme biçimidir. Sparrow, Nunchuk ve Specter, oluşturdukları her cüzdan için bir tanımlayıcı dışa aktarır ve bir Coldcard, çoklu imza kurulumu sırasında tanımlayıcıyı microSD karta yazar, böylece düzen orijinal koordinatör yazılımı olmadan yeniden kurulabilir.

Bitcoin Core, bunların standart hale geldiği yerdir. Ekim 2018'de yayımlanan 0.17.0 sürümü bunları tarama ve adres üretimi için tanıttı; importdescriptors ve listdescriptors onları cüzdanın yerel diline dönüştürdü; ve tanımlayıcı cüzdan artık yazılımın oluşturduğu tek tür. Bir Core cüzdanını bir tanımlayıcı ve yeniden tarama ile geri yüklemek desteklenen bir yoldur ve bu yol, yazılım sıfırdan yeniden kurulsa bile geçerliliğini korur.

Sade tek imzalı bir cüzdanda genellikle hiç görmeden idare edebilirsiniz, çünkü kurtarma ifadeniz ve standart yol yeterlidir. Çoklu imzada ise tanımlayıcı, yedeğin eksik yarısıdır: script türünün, anahtar sırasının veya her ortak imzacının kökeninin kaydı olmayan üç kurtarma ifadesi, bitcoinlerinizin durduğu adresleri yeniden oluşturamamanıza yol açabilir.

Çıktı tanımlayıcısı vs genişletilmiş anahtar

Genişletilmiş anahtar bir malzemedir ve tanımlayıcı tariftir. xpub yazılıma hangi anahtarların var olduğunu söyler; tanımlayıcı ise bunlardan ne kurulacağını ve saymaya nereden başlanacağını söyler. Bu yüzden bir xpub'ı iki farklı uygulamaya aktarmak iki farklı adres listesi üretebilirken aynı tanımlayıcıyı aktarmak üretemez. İkisi de gizlilik açısından aynı şeyi açığa çıkarır: ikisinden birini elinde tutan herkes dalınızı numaralandırabilir, bu yüzden bir tanımlayıcı, içindeki anahtar kadar özen ister.

Karıştırılmaması gerekenler

Sık sorulan sorular

Kurtarma ifademin yanı sıra bir tanımlayıcıyı da yedeklemem gerekir mi?

Standart bir yoldaki olağan tek imzalı bir cüzdan için kurtarma ifadesi yeterlidir. Çoklu imzada veya herhangi bir özel kurulumda tanımlayıcıyı da yedekleyin, çünkü ifadeler tek başına script türünü, ortak imzacı anahtarlarını veya anahtar sırasını kaydetmez.

Bir tanımlayıcıyı paylaşmak güvenli mi?

Yalnızca tüm işlem geçmişinizi emanet edeceğiniz biriyle. Genişletilmiş bir genel anahtar içeren bir tanımlayıcı, onu elinde tutanın o daldaki her adresi türetmesine ve sonsuza kadar izlemesine olanak tanır, ancak harcama yapmasına asla izin vermez.

İlgili terimler

Daha fazlası: Adresler ve anahtarlar

Bu sayfayı İngilizce okuyun