Sözlük / Protokol ve güncellemeler
Erlay
- Erlay nedir?
- Erlay, düğümlerin gördükleri işlemleri her eşe her işlem hash'ini bağırarak değil, küçük taslaklar kullanarak karşılaştırmasının önerilen bir yoludur.
Tanımlandığı belge: BIP-330.
İşlemleri duyurmak, bir düğümün bant genişliğinin en büyük tek kullanımıdır ve maliyet eklenen her eşle birlikte artar. Tasarımı Gleb Naumenko ve Pieter Wuille BIP330 olarak kaleme aldı ve orada taslak olarak duruyor: Bitcoin Core sürümlerinin hiçbiri bunu etkinleştirmiyor. Önemli, çünkü kendi düğümünüzü çalıştırmanın ne kadar ucuza gelebileceğine karar veriyor.
Nasıl çalışır
Erlay, sayıldığında hemen görülen bir fazlalığı ele alıyor: bir düğüm şu anda duyduğu her işlemi eşlerinin her birine bildiriyor ve bu eşlerin çoğu zaten biliyordu.
Mevcut yöntem taşkın yayımdır. Her yeni işlem, bir tür kodu ve 32 baytlık bir tanımlayıcı taşıyan bir inv mesajıyla duyurulur, yani eş başına duyuru başına 36 bayt. Bitcoin Core, işlem aktarımı için varsayılan olarak 8 giden bağlantı açar ve toplam 125 sayısına kadar gelen eş kabul eder, bu yüzden iyi bağlantılı bir makine, nasıl olsa öğreneceği bir şey için aynı kısa mesajı onlarca kez gönderip alır. İsraf, bağlantı sayısıyla doğru orantılıdır ve bu da tam olarak ağı bölmeyi zorlaştıran davranışı cezalandırır.
Erlay, taşkın yayımın birazını korur ve geri kalanını küme uzlaşmasıyla değiştirir. Her eş çifti, diğeriyle henüz paylaşmadığı duyuruları izler. Belirli aralıklarla bir taraf o kümenin bir taslağını ister. Taslak, uzunluğu taraflardan birinin elinde tuttuğu işlem sayısına değil, kaç fark beklenmesine bağlı olan sabit boyutlu cebirsel bir özettir ve iki taslağı birleştirmek, bir eşte olup diğerinde olmayan girdileri tam olarak verir. Bitcoin Core kaynak ağacında yıllardır yer alan ama etrafındaki aktarım protokolü birleştirilmemiş olan minisketch kütüphanesi, yapıyı ve çözmeyi uygular.
Taslak boyutunu yanlış tahmin etmek ölümcül değildir. Fark tahmin edilenden büyük olduğu için çözme başarısız olduğunda, eşler sıfırdan başlamak yerine taslağı genişletip yeniden dener, böylece kötü bir tahmin tam bir yeniden eşitleme yerine biraz fazla bant genişliğine mal olur.
Nerede görürsünüz
Erlay'ı henüz göremezsiniz ve bir düğüm panelinde onu arayan herkes için dürüst yanıt budur.
Görebileceğiniz şey, hedeflediği sorundur. Kendi düğümünüzde getnettotals çağrısını yapın; bayt sayaçları, zincirin ilk indirilmesi dışında her şeye aktarım trafiğinin egemen olduğunu gösterir. Tarifeli bağlantılardaki operatörler zaten maxuploadtarget ile yüklemeyi sınırlayarak ya da tuttukları eş sayısını azaltarak karşılık veriyor ve her iki seçenek de bir faturayı düşürmek için ağı biraz zayıflatıyor.
Erlay'ın çözmeyi amaçladığı denge budur. Bant genişliği bağlantı sayısıyla ölçeklenmeyi bıraksaydı, bir düğüm çok daha fazla eşi güvenle tutabilirdi ve yoğun bağlantılı bir ağı bölmek ya da eclipse saldırısıyla yalıtmak çok daha zor olurdu. Tek ilgisi bir blok gezginine güvenmek yerine kendi bitcoinlerini doğrulamak olan biri için vaat dar ve gerçektir: daha ucuz bir bağlantı üzerinden aynı doğrulama.
Erlay vs kompakt blok aktarımı
Erlay, madenciliği yapılmadan önceki işlemleri ilgilendirir; kompakt blok aktarımı ise madenciliği yapıldıktan sonraki blokları. İkisi farklı darboğazlara yanıt verir ve farklı saatlerle değerlendirilmiştir. Blok yayılımı bir gecikme sorunudur, çünkü bir bloğun yolda geçirdiği her saniye, bir madenci tarafından artık var olmayan bir zincir ucunda harcanan bir saniyedir ve çözüm 2016 yılında yayımlandı. İşlem duyurusu bir hacim sorunudur, milisaniye yerine bir ay boyunca gigabaytla ölçülür, bu yüzden kimsenin acelesi olmadı ve öneri yıllardır taslak olarak bekliyor.