Sözlük / Adresler ve anahtarlar
P2TR
Diğer adları: Taproot adresi, Pay-to-Taproot, bc1p adresi, Taproot.
- P2TR nedir?
- P2TR, tek bir 32 baytlık ayarlanmış genel anahtara ödeme yapar; böylece zincir üstünde bir anahtar harcaması, ister tek bir kişi imzalamış ister karmaşık bir sözleşme işbirliğiyle sonuçlanmış olsun aynı görünür.
Tanımlandığı belge: BIP-341.
Pay to taproot, tanık sürümü 1 olup 14 Kasım 2021 tarihinde 709.632 numaralı bloktan itibaren etkindir ve bc1p ile başlayan 62 karakterlik bir adres olarak yazılır. İşbirliğine dayalı bir harcama tek bir 64 baytlık Schnorr imzası yayımlar ve girdi başına yaklaşık 57,5 vbyte tutar, yani Bitcoin'deki en ucuz girdidir. Çıktıya yerleştirilmiş alternatif kurallar, biri gerçekten kullanmadıkça görünmez kalır.
Nasıl çalışır
Bir P2TR çıktısı, OP_1 ve ardından 32 baytlık bir veri itmesidir, toplam 34 bayt eder ve bu baytlar yalnızca x koordinatından oluşan (x-only) bir genel anahtardır. X-only, y koordinatının bırakılıp çıkarımsandığı anlamına gelir; bu da her yerde kullanılan 33 baytlık sıkıştırılmış anahtarlara göre bir bayt tasarruf sağlar.
Gördüğünüz anahtar, kimsenin elinde tuttuğu anahtar değildir. Kendisinin ve alternatif scriptlerden oluşan bir ağacın merkle kökünün hash'iyle ayarlanmış bir iç anahtardır; böylece yayımlanan değer hem işbirliği yolunu hem de her yedek yolu tek seferde taahhüt eder. Harcama daha sonra iki yoldan birini izler. Anahtar yolu, ayarlanmış anahtar üzerinde tek bir imza üretir ve başka hiçbir şeyi açığa çıkarmaz. Script yolu, ağacın bir yaprağını ve o yaprağın ağaca ait olduğunu kanıtlayan dal hash'lerini açığa çıkarır, ağacın geri kalanını ise sonsuza dek gizli bırakır.
BIP-340 kapsamındaki Schnorr imzaları anahtar yolunu ucuz ve gizli kılar. DER ile kodlanmış bir ECDSA imzasının 71 veya 72 baytına karşılık 64 bayttırlar ve doğrusal olarak toplandıkları için birkaç imzalayan anahtarlarını birleştirip MuSig2 kapsamında tek bir imza üretebilir. İşbirliği yapan 2-of-2 bir düzen, tek bir kişinin fatura ödemesinden ayırt edilemez hale gelir.
Tanık sürümü 1 bech32m gerektirdiği için bir bc1p adresi, özgün bech32 sabiti yerine BIP-350 sağlama toplamı sabitini kullanır.
Nerede görülür
Varsayılan olarak Taproot kullanan cüzdanlar, m/86'/0'/0' konumundaki BIP-86 dalından türetir. Bitcoin Core, kodlamayı 22.0 sürümünde ekledi ve 23.0 sürümünde yeni descriptor cüzdanları için tr() descriptor'ları üretmeye başladı.
Inscription'lar, keyfi veriyi bir Taproot script yolu tanığına yerleştirir; bc1p etkinliğinin büyük bir bölümünün ödemelerle hiçbir ilgisi olmamasının nedeni budur. Bu, adres türünün bir özelliği değil, tanık verisindeki indirimin bir yan etkisidir.
Sürtünme kenarlarda yaşanır. Bazı borsalar hâlâ bc1p para çekme adreslerini reddeder, bazı eski ödeme terminalleri de reddeder. Cüzdanınızın içinde bir çözüm yolu yoktur: aynı kurtarma ifadesinden gelen bir bc1q adresi kullanın ve her şeyi Taproot altında toplamak istiyorsanız daha sonra birleştirin.
P2TR vs Taproot
Taproot yükseltmedir, P2TR ise onun oluşturduğu çıktı türüdür. Yumuşak çatallanma üç şartnameyi bir araya getirdi: BIP-340 Schnorr imzalarını tanımladı, BIP-341 çıktı biçimini ve harcama kurallarını tanımladı, BIP-342 ise ağacın içinde kullanılan ayarlanmış script dili tapscript'i tanımladı. P2TR, etkileşimde bulunduğunuz kısımdır, yani bc1p ile başlayan adrestir. “Taproot kullanıyorum” demek neredeyse her zaman “cüzdanım bana P2TR adresleri veriyor” anlamına gelir, ancak yükseltme hiç dokunmayabileceğiniz scriptler içinde imzaların nasıl kontrol edildiğini de değiştirdi.