Bitcoin Core, ödeme hedefini korumasız bırakabilecek dar kapsamlı bir PSBT imzalama durumunu engelleyen güvenlik önlemini 25 Eylül'de ana geliştirme dalına ekledi. Sorun, normalde bir girdiyi aynı konumdaki çıktıya bağlayan imzalama modu SIGHASH_SINGLE ile ilgili. Bu çıktı yoksa imza, hedeflenen alıcıya bağlanmadan da geçerli kalabiliyor.
Neden önemli?
Bu açık özel anahtarları ortaya çıkarmıyor. Ancak bir yetkilendirme riski yaratıyor: Belirli koşullarda bir cüzdan veya imzalama cihazı bir alıcı gösterebilirken, üretilen imza işlemin ödemeyi hâlâ o alıcıya yaptığını güvence altına almayabilir. Bitcoin Core geliştiricileri, etkilenen eski tip imzaların aynı yapısal koşullar geçerliyken aynı anahtarın kontrolündeki başka harcanmamış çıktılara karşı yeniden kullanılabileceğini belirtti. SegWit v0 belirli bir coin ve tutar için taahhüt içermeye devam ediyor, ancak hedef çıktı yine de bağlanmamış kalabiliyor.
PSBT'ler, özel anahtarları işlem oluşturucuya vermeden yazılım cüzdanlarının, donanım cihazlarının ve çevrimdışı imzalayıcıların işlemleri koordine etmesini sağlıyor. Bu nedenle imzalama sınırı önemli: Geçerli bir imza, kullanıcının onayladığı ayrıntılara bağlı olmalı. BIP 174, imzalayanlara kabul edilemez imzalama modlarını reddetmelerini zaten tavsiye ediyor ve başka bir seçenek belirtilmediğinde SIGHASH_ALL kullanılmasını öneriyor.
Piyasa etkisi
Bitcoin Core, bu uç durumu ham işlem imzalama arayüzü üzerinden zaten reddediyordu. Ancak walletprocesspsbt dâhil PSBT yolu hâlâ bu imzayı oluşturabiliyordu. Birleştirilen değişiklik, denetimi ortak imza oluşturma mantığına taşıyarak etkilenen eski tip ve SegWit v0 girdilerini engelliyor, aynı PSBT'deki diğer geçerli girdilerin işlenmesine ise izin veriyor.
Güvenlik önlemi geliştirme dalına eklendi, ancak 4 Ekim itibarıyla bunu içeren bir üretim sürümünün çıktığı doğrulanmamıştı. Bu nedenle kullanıcılar sürüm veya geriye taşıma beklerken cüzdan sağlayıcılarının ve donanım imzalama entegrasyonlarının SIGHASH_SINGLE isteklerini nasıl ele aldıklarını gözden geçirmeleri gerekiyor.
Sıkça sorulan sorular
-
Bitcoin Core'un güvenlik önlemi hangi riski ele aldı?
İmza, kullanıcının onayladığı ödeme hedefine bağlanmadığı hâlde bir PSBT imzalanabiliyordu. Sorun özel anahtarları açığa çıkarmıyordu.
-
SIGHASH_SINGLE'ın eksik çıktı durumuyla ilişkisi nedir?
SIGHASH_SINGLE, bir girdiyi aynı konumdaki çıktıya bağlamak üzere tasarlanmıştır. Bu çıktı yoksa imza hedeflenen hedefi korumayabilir.
-
Sorun eski tip ve SegWit v0 girdilerini aynı şekilde mi etkiledi?
Hayır. Geliştiricilere göre etkilenen eski tip imzalar, koşullar eşleştiğinde başka harcanmamış çıktılara karşı yeniden kullanılabilir. SegWit v0 coin ve tutara bağlı kalıyor, ancak hedef bağlanmamış kalabiliyor.
-
PSBT imzalama yolu cüzdan kullanıcıları için neden önemli?
PSBT'ler yazılım cüzdanları, donanım cihazları ve çevrimdışı imzalayıcılar arasında işlemleri koordine eder. İmzalayıcı, işlem ayrıntılarının kullanıcının onayladıklarıyla eşleştiğinden emin olmalıdır.
-
Güvenlik önlemi Bitcoin Core'un üretim sürümünde kullanılabilir miydi?
Değişiklik 25 Eylül'de Bitcoin Core'un geliştirme dalına eklendi. 4 Ekim itibarıyla bunu içeren bir üretim sürümü veya doğrulanmış geriye taşıma tespit edilmemişti.
CryptoSlate