Ethereum birleştirme test ağı Kintsugi hataya göre bölündü, işte nedeni

Ethereum ağındaki birleştirme olayı, şu anda kullanılan Proof-of-Work modelinden Proof-of-Stake konsensüs modeline geçiştir. Bu birleşme, mevcut Ethereum ana ağ sistemi ile genellikle Ethereum 2.0 olarak adlandırılan yeni Beacon zincirinin tek bir blok zincirinde birleşeceği anlamına geliyor.

Birleşmeyi test etmek için Kintsugi test ağı Aralık ayında devreye alındı. Test ağının amacı farklı uç durumları çalıştırmak ve sistemin nasıl davrandığını gözlemlemektir. Kintsugi'de testlerin yürütülmesine katılan geliştiricilerden biri Marius van der Wijden'ın fotoğrafı., Geth (Go-Ethereum) müşteri ekibiyle çalışan Ethereum çekirdek geliştiricisi.

“Test ağı birkaç hafta boyunca kusursuz bir şekilde çalıştı. Geçen hafta geçersiz bloklar gönderecek bir fuzzer oluşturdum. Marius van der Wijden, bir blokta işlemler, önceki bloğun hash'i, gas limiti vb. gibi pek çok bilgi bulunduğunu söylüyor.

Bazı uygulamalar bloğu yürütmedi ve doğrulamadı

Fuzzer, geliştiriciler arasında işlevlere veya diğer kod parçalarına rastgele girdiler oluşturmak ve bunları bir şekilde kırmaya çalışmak için kullanılan yaygın bir test aracı türüdür. Yanlış biçimlendirilmiş ve beklenmedik girdiler oluşturmak ve sisteme ne olacağını izlemekle ilgilidir.

Van der Wijden tarafından oluşturulan fuzzer geçerli bir blok üretir ve onun bir öğesini geçersiz hale getirecek şekilde değiştirir. Kullandığı tekniklerden biri, bir öğeyi diğerine değiştirmektir. Bu durumda fuzzer, blok karmasını ana karma olarak değiştirdi.

“Düğümler böyle değiştirilmiş bir bloğu reddetmelidir. Bununla birlikte, ana karma geçerli bir bloğun kendisine işaret ettiğinden, bazı uygulamalar aslında bloğu yürütüp doğrulamadı, bunun yerine önbellekte aradı. Önceki blok geçerli olduğundan ve önbellekte olduğundan, yeni bloğun da geçerli olduğunu varsaydılar," diye açıklıyor van der Wijden.

Ağ iki kez bölündü

Sonuç olarak, ağın yarısı olan Geth istemcileri bloğu reddetti, diğer yarısı ise Nethermind ve Besu istemcileri bunu kabul etti ve artık doğru duruma ilişkin iki farklı görüşe sahip olduğumuz için zincirin bölünmesine neden oldu. İşleri daha da kötüleştiren, üstte başka bir sorun daha vardı.

Van der Wijden'e göre Lighthouse-Geth, Prysm-Geth, Lodestar-Geth, Nimbus-Geth ve Teku-Geth'ten oluşan Geth zinciri düğümleri de kendi aralarında bölünmüş durumda.

Van der Wijden, "Bu bölünme hala araştırılıyor, ancak Teku'nun başarısız olan bir önbellek mekanizmasına sahip olabileceği anlaşılıyor" diyor.

Yazma sırasında Kintsugi test ağının birkaç farklı çatalı mevcut olduğundan ve her düğüm kendisinin doğru çatalda olduğunu düşündüğünden, ağ artık sonlandırılmıyor.

“Ağı tekrar bir araya getirmek için bir şeyler bulacağız. Nethermind istemcisini zaten güncelledik ve bu düğümler artık doğru zincirde. Düğümlerin yüzde 33'ünden fazlası Teku olduğundan hâlâ Teku'nun düzeltilmesine ihtiyacımız var, aksi halde zincir tamamlanmayacaktır" diyor van der Wijden.

Olay bazı iyi şeyleri getirir

Van der Wijden'e göre bu olay, Ethereum birleşmesinin daha fazla test edilmesini yasaklamıyor veya geciktirmiyor ya da birleşmenin kendisini geciktirmiyor. Aslında van der Wijden, olayın aslında ağın düzgün çalışıp çalışmadığını test etmesi zor olan uç durumların test edilmesine yardımcı olduğunu söylüyor.

“Uzun sürelerin sonlandırılmaması düğümler için zorlayıcıdır ve onların şu anda nasıl davrandıklarını görmek bizim için çok önemlidir. Test ağının eninde sonunda yeniden bir araya geleceğini düşünüyoruz ancak bunu manuel olarak düzeltmeye çalışacağımızı düşünmüyorum çünkü bu bize ilginç uç durumları test etme fırsatı veriyor."

“Birleşme henüz planlanmadığı için bunun birleşmeyi geciktireceğini düşünmüyorum. Ancak testlerin ne kadar önemli olduğunu gösteriyor. Birleşmenin gerçekten iyi ilerlediğini düşünüyorum. Yazılımı kabul edilebilir bir duruma getirmek için birkaç haftaya daha ihtiyacımız var ve ardından onu test etmek için de birkaç aya ihtiyacımız var," diyor van der Wijden.

Ya bu ana ağda olursa?

İlginç bir soru, ana zincirde böyle bir hata meydana gelseydi ne olurdu?

"Testlere oldukça erken başladık, dolayısıyla buna benzer birkaç hata bekliyorduk. Ana ağda böyle bir hata oldukça kötü olurdu, çünkü hatayı bulup düzeltmemiz gerekecek ki bunda oldukça iyiyiz, kodu yayınlıyoruz ve ardından tüm stakerlara düğümlerini güncellemeleri gerektiğini bildirmeliyiz. Bana göre son kısım zor kısım çünkü bazı kullanıcılar gelişmeyi çok yakından takip etmiyor," diyor van der Wijden.

Daha fazla ayrıntı için ilgili okuyucunun Marius van der Wijden'i okuması tavsiye edilir. tweets olay üzerine.

CryptoSlate Bülteni

Kripto, DeFi, NFT'ler ve daha fazlası dünyasındaki en önemli günlük hikayelerin bir özetini içerir.

alın bir kenar kripto varlık piyasasında

Ücretli bir üye olarak her makalede daha fazla kripto içgörüsüne ve içeriğe erişin CryptoSlate Kenar.

Zincir üzerinde analiz

Fiyat anlık görüntüleri

Daha fazla bağlam

Ayda 19$'a şimdi katılın Tüm avantajları keşfedin

Kaynak: https://cryptoslate.com/ethereum-merge-testnet-kintsugi-split-by-bug-heres-why/