Sözlük / Adresler ve anahtarlar
P2SH çoklu imza
- P2SH çoklu imza nedir?
- P2SH çoklu imza, m-of-n kurtarma betiğini 3 ile başlayan bir adresin arkasına saklar ve betik için 520 baytlık üst sınır bunu on beş genel anahtarla sınırlar.
Tanımlandığı belge: BIP-16.
2-of-3 kurtarma betiği 105 bayttır: 2 için bir işlem kodu, itme önekleriyle birlikte üç adet 33 baytlık sıkıştırılmış anahtar, 3 için bir işlem kodu ve OP_CHECKMULTISIG. Bir girdiyi harcamak kabaca 297 vbyte tutar, bu da yerel SegWit tek anahtarlı bir girdinin yaklaşık üç katıdır. Bu, tanık verisi indirimi almadan önce 2012 yılından itibaren standart ortak saklama düzeniydi.
Nasıl çalışır
P2SH çoklu imza kurtarma betiği yeter sayıyı doğrudan listeler: gereken imza sayısı, ardından katılan her genel anahtar, ardından toplam anahtar sayısı ve son olarak OP_CHECKMULTISIG. Paralar harcanmadan durduğu sürece bunu kimse görmez, çünkü çıktı yalnızca 20 baytlık hash değerine bağlanır.
On beş anahtarlık tavan bir aritmetik sonucudur, politika icadı değildir. Her biri 34 bayt olan on beş sıkıştırılmış anahtar, itme öneki sayıldığında 510 bayt eder; iki sayım işlem kodu ile OP_CHECKMULTISIG eklendiğinde 513 değerine ulaşılır, bu da tek bir yığın öğesi için 520 baytlık sınırın içine sığar. On altıncı anahtar sığmaz. Bitcoin'in mutabakat kuralları OP_CHECKMULTISIG için 20 anahtara kadar izin verir, ancak bir P2SH kurtarma betiği fiziksel olarak bu kadarını taşıyamaz.
Harcama yolunda eski bir tuhaflık vardır. OP_CHECKMULTISIG kullandığından bir fazla yığın öğesi çıkarır; bu, sert çatallama olmadan hiçbir zaman kaldırılamayan, özgün uygulamadan kalan bir hatadır. İmzalayanlar bunu önce yer tutucu bir öğe iterek aşar ve BIP-147 bu öğenin boş olmasını zorunlu kıldı; bu kural SegWit ile birlikte 481.824 bloğunda etkinleşti. Bu nedenle tamamlanmış bir girdi şöyle okunur: boş itme, imza, imza, kurtarma betiği.
Nerede karşınıza çıkar
2013 ile 2018 arasında kurulan kurumsal hazineler, miras düzenlemeleri ve borsa soğuk saklaması büyük ölçüde P2SH çoklu imzadır. Eski eşler arası pazar yerlerindeki emanet (escrow), üçüncü anahtarı platformun elinde tuttuğu 2-of-3 kullanıyordu; böylece bir anlaşmazlık, ne alıcı ne de satıcı paraları doğrudan kontrol etmeden çözülebiliyordu.
Yedekleme zorunluluğu insanları hazırlıksız yakalar. Her ortak imzalayan, diğer tüm ortak imzalayanların genişletilmiş genel anahtarlarına ya da bunları kaydeden bir tanımlayıcıya ihtiyaç duyar, çünkü kurtarma betiği tek bir kurtarma ifadesinden yeniden oluşturulamaz. Üç özel anahtardan ikisini elinizde tutup genel anahtarların hiçbirine sahip olmamak, harcama yapamaz durumda kalmanız demektir. Tanımlayıcıyı kurtarma ifadesi yedekleriyle birlikte yazın ve düzen önem verdiğiniz bir şeyi tutmaya başlamadan önce bir kurtarmayı test edin.
Bugün yeni yeter sayılar bunun yerine P2WSH veya Taproot ile kuruluyor, çünkü aynı politikanın harcanması çok daha ucuzdur ve on beş anahtarla sınırlı değildir. Mevcut P2SH kasaları eskisi gibi tam olarak çalışmaya devam eder ve zorunlu bir geçiş yoktur.
P2SH çoklu imza vs çoklu imza
Çoklu imza politikadır ve P2SH çoklu imza bunu yazmanın bir yoludur. Aynı 2-of-3 gereksinimi Bitcoin'in en eski kurallarından çıplak bir çoklu imza çıktısında, bir P2SH kurtarma betiğinde, bir P2WSH tanık betiğinde ya da Taproot altında, sıradan bir ödeme gibi harcanan ve hiçbir yeter sayıyı açığa vurmayan tek bir birleştirilmiş anahtarın içinde bulunabilir. P2SH seçmek; ücretler, on beş anahtarlık tavan ve tüm imzalama düzeninizin paraları ilk kez taşıdığınızda kamuya açık bilgi hâline gelmesi hakkında bir karardır.