Kısa özet. Kurulumunuzda çoklu imza, Taproot script yolu veya Miniscript miras politikası varsa, kurtarma cümleniz (seed) tek başına tam bir yedek değildir. Output descriptor'ı da checksum'ıyla saklamanız gerekir. Politikayı değiştirirseniz yeni descriptor farklı bir adres demektir; onu da yedeklemelisiniz.
21 BTC yerine 15 BTC gören geri yükleme tatbikatı (regtest)
Bitcoin Core 31.1 regtest ağında (gerçek para yok) tek bir cüzdanı üç farklı descriptor altında fonladım: özgün politikada 15 BTC, iki varyantın her birinde 3 BTC. Özgün cüzdan 21,0 BTC gösterdi. Sonra sıfırdan boş bir cüzdanı yalnızca özgün descriptor ile geri yükledim (baştan tarama). 3 UTXO'da 15,0 BTC gördü. Kalan 6 BTC, yalnızca diğer iki descriptor'ın türetebildiği adreslerdeydi; geri yüklenen cüzdan onları göremedi.
Hiç descriptor'ı olmayan boş bir cüzdan ise 0 gördü.
Neden oluyor?
- Seed (veya anahtar) yalnızca bir bileşendir. Script'i ve dolayısıyla adresi politika (hangi anahtarlar, eşikler, zaman kilitleri) belirler.
- Farklı politika = farklı script = farklı adres = farklı descriptor; anahtarlar aynı olsa bile.
- Descriptor olmadan yazılım hangi adreslere bakacağını bilemez.
Checksum önemlidir ve doğrulanır
Descriptor'lar 8 karakterlik bir checksum ile biter (BIP-380). Bitcoin Core 31.1, yanlış checksum'lı descriptor'ı şu hatayla reddetti:
Provided checksum 'aaaaaaaa' does not match computed checksum '…'. Elle yazılmış bir yedekteki yazım hatasına karşı istediğiniz koruma budur. Her kütüphane bunu zorunlu tutmaz; kullanacağınız yazılımla doğrulayın.
Ne saklanmalı?
- Seed'ler, kâğıt/metal, ayrı yerlerde.
- Fonladığınız her descriptor, checksum'lı. Politika değişince yenisini ekleyin.
- Köken bilgili xpub'lar (
[parmakizi/yol]xpub…) ve yazılım adı+sürümü. - Mirasçı için kısa yazılı not. Seed'i bu nota yazmayın.
- Yılda bir, küçük tutar veya test ağıyla geri yükleme tatbikatı.
Sınırlar
Sahte coinlerle regtest, tek düğüm, Bitcoin Core 31.1. Yatırım, hukuk veya vergi tavsiyesi değildir.