Çok fazla UTXO ile işlem imzalamanın cihaz arızalarına neden olabileceğini bilsek de, bu genel ifade hala bazı soruları bırakıyor: Bir donanım cüzdanının imzalama sırasında başarısız olmasına neden olacak belirli sayıda UTXO var mı? Bazı UTXO'lar diğerlerinden daha fazla zorluğa neden olabilir mi?
Bu tür soruların yanıtlarını araştırırken, bir donanım cüzdanının bir işlemi imzalamak için harcadığı zaman ve çabanın yalnızca gönderilen UTXO sayısına ve kaç alıcı adresi olacağına bağlı olmadığını keşfettim. Aynı zamanda, her UTXO'nun geldiği önceki işlemleri çevreleyen benzer ayrıntılara da bağlıdır; bu, benim "imzalama kitlesi" olarak adlandırdığım bir olgudur. Bu kavrama atıfta bulunan başka yayınların farkında değilim.
Başka bir deyişle, aşağıda daha ayrıntılı olarak açıklanan daha büyük imzalama kütlesine sahip UTXO'ların imzalanması diğerlerine göre daha zor olabilir. İki UTXO, blockchain üzerinde aynı miktarda veri kullansa da, bir donanım cüzdanı kullanarak imzalamak için çok daha fazla işlem yapılması gerekebilir.
Bu gerçek , adres türlerinin ve çoklu imza yeter sayılarının ötesine uzanır; 2/3 çoklu imza adresindeki bir UTXO'nun imzalanması, aynı adresteki (veya eşdeğer bir adresteki ve bitcoin miktarları ve hedef adresleri tam olarak aynı olsa bile) başka bir UTXO'ya göre çok daha fazla çaba gerektirebilir.
Benzer görünümlü iki UTXO'nun neden önemli ölçüde farklı imzalama kütlelerine sahip olabileceğini anlamak için, donanım cüzdanlarının internet bağlantısı olmadan giriş miktarlarını doğrulamak için kullandığı dolambaçlı yöntemi ve cüzdanınıza bitcoin almanın çeşitli yöntemleri arasında işlem karmaşıklığının nasıl farklılık gösterebileceğini anlamalısınız.
Herhangi bir bitcoin işlemi için girdi miktarlarının doğrulanması önemlidir; Aksi takdirde bitcoininizin büyük miktarları yanlışlıkla madencilere ödenebilir. Neden? Çünkü madencilerin aldıkları ücretler işlemde açıkça belirtilmez, ancak girdilerin değerinden çıktıların değeri çıkarılarak örtülü olarak hesaplanır . Dolayısıyla iki rakam arasında büyük bir fark varsa alınan ücret de büyük olacaktır.
Örnek olarak, toplam 0,8 BTC değerinde UTXO'larınız varsa ve bunları bir yere 0,3 BTC göndermek için kullandıysanız, kalan ~0,5 BTC'yi değişiklik olarak kendinize geri göndermediyseniz, blok madenci artık 0,5 BTC'yi bir ödül olarak talep edebilir. kazandıkları ücretlerin bir kısmı.
Merak etme! Tüm modern ve saygın bitcoin araçları otomatik güvenlik mekanizmaları içerir, dolayısıyla bu hatayı yapmak oldukça zor olacaktır (imkansız olmasa da). Süreç, girdilerin miktarını doğrulamak için blok zincirini aramak ve ardından ücretin makul olup olmadığını belirlemek için bunların toplamını seçilen çıktıların toplamı ile karşılaştırmak kadar basit olabilir.
Ancak elbette donanım cüzdanları internetten bağımsız çalışacak şekilde tasarlanmıştır, bu da özellikle hava boşluklu cihazlarda belirgindir. İnternet veya düğüm bağlantısı olmadan blockchain gözlemlenemez. Bu nedenle çoğu donanım cüzdanının, giriş tutarlarını doğrulamak için alternatif, dolambaçlı bir yöntem kullanması gerekir. Temel olarak cihazın yalnızca imzalayacağı işlemi açıklayan bilgileri içe aktarması gerekmiyor, aynı zamanda her girişin nereden geldiğine dair geçmişi de içe aktarması gerekiyor.
Başka bir deyişle, taşınan her UTXO için cihaz, işlem ayrıntılarını doğrudan önceden iki kez kontrol etmek isteyecek ve bu da o UTXO'nun oluşturulmasına yol açacaktır. Bu işlem karmaşık olsaydı, daha fazla verinin içe aktarılmasını gerektirebilirdi ve bu da PSBT dosyasının boyutu gibi bir şeye yansırdı. İşlem karmaşıklığına bir göz atalım.
Çoğu kişi bitcoin'i üç yoldan biriyle cüzdanına alır: bir borsadan, bir madencilik havuzundan veya eşler arası (P2P) işlemle doğrudan başka bir kişiden. Eşler arası işlemler genellikle çok düşük karmaşıklık içerir ve sonuçta ortaya çıkan UTXO'lar nispeten küçük bir imzalama kütlesine sahip olur.
Ancak borsalar ve madencilik havuzları, fonları gruplar halinde dağıtma ve aynı işlem içinde birçok kişiye aynı anda bitcoin gönderme eğilimindedir. Bu işlemler daha karmaşıktır ve sonuçta ortaya çıkan UTXO'lar daha büyük bir imzalama kitlesine sahip olacaktır.
Amerika'da popüler olan çeşitli madencilik havuzları ve borsaların dağıtım eğilimlerini araştırdım ve bulgularım aşağıdaki grafikte sunuluyor. Çıktıların sayısı, her dağıtımda genellikle bitcoin gönderen kişi sayısını gösterir. Daha yüksek bir sayı, daha fazla işlem karmaşıklığı ve alıcılar için daha önemli bir imza yükü anlamına gelir.
Bu rakamlar, bu yazının yazıldığı sırada yaklaşık değerlerdir ve her havuzun veya borsanın gelecekte nasıl dağıtım yapacağına göre değişebilir.
Madencilik havuzlarının dağıtımlarının genellikle borsalardan daha büyük olduğuna ve F2Pool gibi bazı madencilik havuzlarının olağanüstü derecede büyük dağıtımlar kullandığına dikkat edin. Sonuç olarak, doğrudan bir F2Pool ödemesinden bir UTXO alırsanız, bu UTXO'nun belirli donanım cüzdanlarında imzalama zorlukları yaşamasına neden olma olasılığı daha yüksektir.
2017 yılında, ayrılmış tanık yumuşak çatalı meydana geldi ve SegWit işlemleri için imzalama süreci değiştirildi. Kullanıcıların imzayla taahhüt ettiği verilere girdi miktarlarının dahil edilmesi zorunluluğu getirildi. Sonuç olarak, bir kullanıcıyı veya cihazı yanlışlıkla saçma derecede yüksek ücretlerle bir işlemi imzalaması için kandırmaya yönelik herhangi bir girişimin önleneceğine inanılıyordu. Çoğu donanım cüzdanı üreticisi buna göre hareket ederek giriş miktarı güvenlik kontrollerini kaldırdı ve SegWit işlemleri için imzalama sürecini basitleştirdi.
Ancak 2020'nin ortalarında BIP 143'te bir güvenlik açığı bulundu ve birçok donanım cüzdanı üreticisinin SegWit işlemleri için giriş miktarı güvenlik kontrollerini yeniden uygulamaya koymasına neden oldu. Bu yazının yazıldığı sırada, donanım cüzdanı imzası sırasında giriş miktarı güvenlik kontrolleri normal bir süreç olmaya devam ediyordu. Toplulukta, ücretlerin her işlemde örtük yerine açık hale getirilmesi gibi, girdi miktarı güvenlik kontrollerine olan ihtiyacı daha etkili bir şekilde ortadan kaldırabilecek gelecekteki değişiklikler hakkında bazı tartışmalar var.
İmzalama kütlesindeki farklılıklar, bitcoin'i kendi saklamalı soğuk depo cüzdanınızdan çekmeye çalıştığınızda, bitcoin'i ilk etapta nasıl aldığınızla bir miktar alakalı olduğu anlamına gelir. Bitcoin elde etmek için kullandığınız yöntemler, transferlerin onaylanması aşamasında farklılıklar yaratabilir.
Kontrol ettiğiniz farklı bir cüzdandan taşınan veya eşler arası bir işlemden alınan bir UTXO'ya sahipseniz, işlemin nispeten basit olma ihtimali yüksektir. UTXO'nun imza kütlesi daha küçük olacak ve gelecekteki harcamalarda imzalanması daha kolay olacak. Öte yandan, doğrudan bir madencilik havuzundan veya özellikle çok büyük dağıtımlar yapan bir madencilik havuzundan (önceki grafikte gösterildiği gibi) bir UTXO aldıysanız, UTXO'yu imzalamanın daha zor olmasını bekleyebilirsiniz.
Neyse ki, çok sayıda yüksek kütleli UTXO'yu aynı anda taşımaya çalıştığınız için donanım cüzdanınız imza atamıyorsa bu, bitcoin'inizin kalıcı olarak takılıp kaldığı anlamına gelmez. Hızlı ve kolay bir çözüm, işleminizi birkaç işleme bölerek bitcoininizi parçalar halinde taşımaktır. Her parça verinin yalnızca bir kısmını içerecektir ve cihazınızın başarılı bir şekilde imza sağlama olasılığı daha yüksektir.
Başka bir strateji, elinizde bulunan UTXO'ların sayısını ve bu UTXO'ların imzalama kütlesini kontrol ederek ilk etapta imzalama hatalarını önlemektir. Madencilik havuzlarının ve borsaların fonları dağıtma şeklini değiştiremeseniz de, bir UTXO'nun imza kütlesinin, ondan önceki herhangi bir işlem geçmişine göre değil, hemen önceki işleme göre belirlendiğini unutmamak önemlidir. Bu, bir madencilik havuzundan bir UTXO alabileceğiniz ve eşler arası bir işlemi taklit ederek onu anında kontrol ettiğiniz başka bir cüzdana veya adrese aktarabileceğiniz anlamına gelir. Yeni adreste ortaya çıkan UTXO, büyük bir imza kütlesi yerine küçük bir imza kütlesine sahip olacaktır.
İmzalama kütlesinin, ödeyeceğiniz ağ ücretlerini değil, yalnızca bir donanım cüzdanının bir işlemi imzalamak için ihtiyaç duyduğu zamanı ve çabayı etkilediğini vurgulamak önemlidir. Bunun nedeni, imzalama kitlesinin yalnızca imzalama süreciyle ilgili olması ve işleminizin blockchain üzerinde daha fazla veri almasına neden olmamasıdır.
Bu, F2Pool gibi bir madencilik havuzundan bitcoin alırsanız daha fazla işlem ücreti ödemeyeceğiniz veya dağıtımları için daha az çıktı kullanan bir hizmeti seçtiğinizde işlem ücretlerinizin düşmeyeceği anlamına gelir.
Çok fazla UTXO ile işlem imzalamanın cihaz arızalarına neden olabileceğini bilsek de, bu genel ifade hala bazı soruları bırakıyor: Bir donanım cüzdanının imzalama sırasında başarısız olmasına neden olacak belirli sayıda UTXO var mı? Bazı UTXO'lar diğerlerinden daha fazla zorluğa neden olabilir mi?
Bu tür soruların yanıtlarını araştırırken, bir donanım cüzdanının bir işlemi imzalamak için harcadığı zaman ve çabanın yalnızca gönderilen UTXO sayısına ve kaç alıcı adresi olacağına bağlı olmadığını keşfettim. Aynı zamanda, her UTXO'nun geldiği önceki işlemleri çevreleyen benzer ayrıntılara da bağlıdır; bu, benim "imzalama kitlesi" olarak adlandırdığım bir olgudur. Bu kavrama atıfta bulunan başka yayınların farkında değilim.
Başka bir deyişle, aşağıda daha ayrıntılı olarak açıklanan daha büyük imzalama kütlesine sahip UTXO'ların imzalanması diğerlerine göre daha zor olabilir. İki UTXO, blockchain üzerinde aynı miktarda veri kullansa da, bir donanım cüzdanı kullanarak imzalamak için çok daha fazla işlem yapılması gerekebilir.
Bu gerçek , adres türlerinin ve çoklu imza yeter sayılarının ötesine uzanır; 2/3 çoklu imza adresindeki bir UTXO'nun imzalanması, aynı adresteki (veya eşdeğer bir adresteki ve bitcoin miktarları ve hedef adresleri tam olarak aynı olsa bile) başka bir UTXO'ya göre çok daha fazla çaba gerektirebilir.
Benzer görünümlü iki UTXO'nun neden önemli ölçüde farklı imzalama kütlelerine sahip olabileceğini anlamak için, donanım cüzdanlarının internet bağlantısı olmadan giriş miktarlarını doğrulamak için kullandığı dolambaçlı yöntemi ve cüzdanınıza bitcoin almanın çeşitli yöntemleri arasında işlem karmaşıklığının nasıl farklılık gösterebileceğini anlamalısınız.
Herhangi bir bitcoin işlemi için girdi miktarlarının doğrulanması önemlidir; Aksi takdirde bitcoininizin büyük miktarları yanlışlıkla madencilere ödenebilir. Neden? Çünkü madencilerin aldıkları ücretler işlemde açıkça belirtilmez, ancak girdilerin değerinden çıktıların değeri çıkarılarak örtülü olarak hesaplanır . Dolayısıyla iki rakam arasında büyük bir fark varsa alınan ücret de büyük olacaktır.
Örnek olarak, toplam 0,8 BTC değerinde UTXO'larınız varsa ve bunları bir yere 0,3 BTC göndermek için kullandıysanız, kalan ~0,5 BTC'yi değişiklik olarak kendinize geri göndermediyseniz, blok madenci artık 0,5 BTC'yi bir ödül olarak talep edebilir. kazandıkları ücretlerin bir kısmı.
Merak etme! Tüm modern ve saygın bitcoin araçları otomatik güvenlik mekanizmaları içerir, dolayısıyla bu hatayı yapmak oldukça zor olacaktır (imkansız olmasa da). Süreç, girdilerin miktarını doğrulamak için blok zincirini aramak ve ardından ücretin makul olup olmadığını belirlemek için bunların toplamını seçilen çıktıların toplamı ile karşılaştırmak kadar basit olabilir.
Ancak elbette donanım cüzdanları internetten bağımsız çalışacak şekilde tasarlanmıştır, bu da özellikle hava boşluklu cihazlarda belirgindir. İnternet veya düğüm bağlantısı olmadan blockchain gözlemlenemez. Bu nedenle çoğu donanım cüzdanının, giriş tutarlarını doğrulamak için alternatif, dolambaçlı bir yöntem kullanması gerekir. Temel olarak cihazın yalnızca imzalayacağı işlemi açıklayan bilgileri içe aktarması gerekmiyor, aynı zamanda her girişin nereden geldiğine dair geçmişi de içe aktarması gerekiyor.
Başka bir deyişle, taşınan her UTXO için cihaz, işlem ayrıntılarını doğrudan önceden iki kez kontrol etmek isteyecek ve bu da o UTXO'nun oluşturulmasına yol açacaktır. Bu işlem karmaşık olsaydı, daha fazla verinin içe aktarılmasını gerektirebilirdi ve bu da PSBT dosyasının boyutu gibi bir şeye yansırdı. İşlem karmaşıklığına bir göz atalım.
Çoğu kişi bitcoin'i üç yoldan biriyle cüzdanına alır: bir borsadan, bir madencilik havuzundan veya eşler arası (P2P) işlemle doğrudan başka bir kişiden. Eşler arası işlemler genellikle çok düşük karmaşıklık içerir ve sonuçta ortaya çıkan UTXO'lar nispeten küçük bir imzalama kütlesine sahip olur.
Ancak borsalar ve madencilik havuzları, fonları gruplar halinde dağıtma ve aynı işlem içinde birçok kişiye aynı anda bitcoin gönderme eğilimindedir. Bu işlemler daha karmaşıktır ve sonuçta ortaya çıkan UTXO'lar daha büyük bir imzalama kitlesine sahip olacaktır.
Amerika'da popüler olan çeşitli madencilik havuzları ve borsaların dağıtım eğilimlerini araştırdım ve bulgularım aşağıdaki grafikte sunuluyor. Çıktıların sayısı, her dağıtımda genellikle bitcoin gönderen kişi sayısını gösterir. Daha yüksek bir sayı, daha fazla işlem karmaşıklığı ve alıcılar için daha önemli bir imza yükü anlamına gelir.
Bu rakamlar, bu yazının yazıldığı sırada yaklaşık değerlerdir ve her havuzun veya borsanın gelecekte nasıl dağıtım yapacağına göre değişebilir.
Madencilik havuzlarının dağıtımlarının genellikle borsalardan daha büyük olduğuna ve F2Pool gibi bazı madencilik havuzlarının olağanüstü derecede büyük dağıtımlar kullandığına dikkat edin. Sonuç olarak, doğrudan bir F2Pool ödemesinden bir UTXO alırsanız, bu UTXO'nun belirli donanım cüzdanlarında imzalama zorlukları yaşamasına neden olma olasılığı daha yüksektir.
2017 yılında, ayrılmış tanık yumuşak çatalı meydana geldi ve SegWit işlemleri için imzalama süreci değiştirildi. Kullanıcıların imzayla taahhüt ettiği verilere girdi miktarlarının dahil edilmesi zorunluluğu getirildi. Sonuç olarak, bir kullanıcıyı veya cihazı yanlışlıkla saçma derecede yüksek ücretlerle bir işlemi imzalaması için kandırmaya yönelik herhangi bir girişimin önleneceğine inanılıyordu. Çoğu donanım cüzdanı üreticisi buna göre hareket ederek giriş miktarı güvenlik kontrollerini kaldırdı ve SegWit işlemleri için imzalama sürecini basitleştirdi.
Ancak 2020'nin ortalarında BIP 143'te bir güvenlik açığı bulundu ve birçok donanım cüzdanı üreticisinin SegWit işlemleri için giriş miktarı güvenlik kontrollerini yeniden uygulamaya koymasına neden oldu. Bu yazının yazıldığı sırada, donanım cüzdanı imzası sırasında giriş miktarı güvenlik kontrolleri normal bir süreç olmaya devam ediyordu. Toplulukta, ücretlerin her işlemde örtük yerine açık hale getirilmesi gibi, girdi miktarı güvenlik kontrollerine olan ihtiyacı daha etkili bir şekilde ortadan kaldırabilecek gelecekteki değişiklikler hakkında bazı tartışmalar var.
İmzalama kütlesindeki farklılıklar, bitcoin'i kendi saklamalı soğuk depo cüzdanınızdan çekmeye çalıştığınızda, bitcoin'i ilk etapta nasıl aldığınızla bir miktar alakalı olduğu anlamına gelir. Bitcoin elde etmek için kullandığınız yöntemler, transferlerin onaylanması aşamasında farklılıklar yaratabilir.
Kontrol ettiğiniz farklı bir cüzdandan taşınan veya eşler arası bir işlemden alınan bir UTXO'ya sahipseniz, işlemin nispeten basit olma ihtimali yüksektir. UTXO'nun imza kütlesi daha küçük olacak ve gelecekteki harcamalarda imzalanması daha kolay olacak. Öte yandan, doğrudan bir madencilik havuzundan veya özellikle çok büyük dağıtımlar yapan bir madencilik havuzundan (önceki grafikte gösterildiği gibi) bir UTXO aldıysanız, UTXO'yu imzalamanın daha zor olmasını bekleyebilirsiniz.
Neyse ki, çok sayıda yüksek kütleli UTXO'yu aynı anda taşımaya çalıştığınız için donanım cüzdanınız imza atamıyorsa bu, bitcoin'inizin kalıcı olarak takılıp kaldığı anlamına gelmez. Hızlı ve kolay bir çözüm, işleminizi birkaç işleme bölerek bitcoininizi parçalar halinde taşımaktır. Her parça verinin yalnızca bir kısmını içerecektir ve cihazınızın başarılı bir şekilde imza sağlama olasılığı daha yüksektir.
Başka bir strateji, elinizde bulunan UTXO'ların sayısını ve bu UTXO'ların imzalama kütlesini kontrol ederek ilk etapta imzalama hatalarını önlemektir. Madencilik havuzlarının ve borsaların fonları dağıtma şeklini değiştiremeseniz de, bir UTXO'nun imza kütlesinin, ondan önceki herhangi bir işlem geçmişine göre değil, hemen önceki işleme göre belirlendiğini unutmamak önemlidir. Bu, bir madencilik havuzundan bir UTXO alabileceğiniz ve eşler arası bir işlemi taklit ederek onu anında kontrol ettiğiniz başka bir cüzdana veya adrese aktarabileceğiniz anlamına gelir. Yeni adreste ortaya çıkan UTXO, büyük bir imza kütlesi yerine küçük bir imza kütlesine sahip olacaktır.
İmzalama kütlesinin, ödeyeceğiniz ağ ücretlerini değil, yalnızca bir donanım cüzdanının bir işlemi imzalamak için ihtiyaç duyduğu zamanı ve çabayı etkilediğini vurgulamak önemlidir. Bunun nedeni, imzalama kitlesinin yalnızca imzalama süreciyle ilgili olması ve işleminizin blockchain üzerinde daha fazla veri almasına neden olmamasıdır.
Bu, F2Pool gibi bir madencilik havuzundan bitcoin alırsanız daha fazla işlem ücreti ödemeyeceğiniz veya dağıtımları için daha az çıktı kullanan bir hizmeti seçtiğinizde işlem ücretlerinizin düşmeyeceği anlamına gelir.