İstemci çeşitliliği
Son düzenleme: @Berke37(opens in a new tab), 9 Ağustos 2024
Ethereum düğümünün davranışı, çalıştırdığı istemci yazılımı tarafından kontrol edilir. Her biri farklı dillerde ayrı takımlar tarafından geliştirilen ve sürdürülen birden çok kullanılabilir seviyede Ethereum istemcisi bulunmaktadır. İstemciler, istemcilerin birbiriyle kesintisiz biçimde iletişim kuracağı, aynı fonksiyonelliğe sahip olacağı ve eş değer bir kullanıcı deneyimi sunacağı ortak özellikler üzerine kurulmuştur. Ancak, şu anda düğümler arasında istemcilerin dağıtımı ağ güçlendirmenin tam potansiyeline erişmesi için yeterince eşit değildir. İdeal olarak kullanıcılar ağa olabildiğince istemci çeşitliliği getirmek için farklı istemciler arasında aşağı yukarı eşit olarak dağılırlar.
Ön koşullar
Düğümlerin ve istemcilerin ne olduğu konusunda henüz bir fikriniz yoksa, düğümler ve istemciler kısmına bakın. ve katmanları sözlükte tanımlanmıştır.
Neden birden fazla istemci var?
Birden fazla, bağımsız geliştirilen ve sürdürülen istemci bulunmaktadır çünkü istemci çeşitliliği ağı saldırılara ve hatalara karşı daha dayanıklı hale getirir. Birden fazla istemci Ethereum'a özel bir güçtür - diğer blok zincirler tek bir istemcinin yanılmazlığına güvenir. Ancak, sadece birden fazla istemci olması yetmez, topluluk tarafından benimsenmiş ve toplam aktif düğümlerin onların arasında neredeyse eş olarak dağıtılmış olması gerekir.
İstemci çeşitliliği neden önemli?
Birçok bağımsız geliştirilen ve sürdürülen istemci olması merkeziyetsiz bir ağın iyi durumu için hayatidir. Hadi sebeplerini öğrenelim.
Hatalar
Tekil bir istemcideki hata Ethereum düğümlerinin azınlık bir kısmını temsil ediyorken ağ için daha küçük bir risktir. Birçok istemci arasında kabaca eşit bir düğüm dağılımı ile, çoğu istemcinin paylaşılan bir sorundan muzdarip olma olasılığı düşüktür ve sonuç olarak ağ daha sağlamdır.
Saldırılara karşı dayanıklılık
İstemci çeşitliliği saldırılara karşı da dayanıklılık sağlar. Örneğin, spesifik bir istemciyi(opens in a new tab) zincirin özel bir dalına doğru kandıran bir saldırının başarılı olma ihtimali düşüktür çünkü diğer istemcilerin aynı şekilde saldırılabilir olması muhtemel değildir ve normal zincir bozulmamış şekilde durur. Düşük istemci çeşitliliği, baskın istemciye yönelik bir saldırıyla ilişkilendirilen riski arttırır. İstemci çeşitliliği, ağdaki kötü niyetli saldırılara karşı önemli bir savunma olduğunu zaten kanıtlamıştır, örneğin 2016'daki Şanghay hizmet reddi saldırısı, saldırganların baskın istemciyi (Geth) blok başına on binlerce kez yavaş bir disk girdi/çıktı işlemi yürütmesi için kandırabilmeleri nedeniyle mümkün oldu. Çünkü açığı paylaşmayan alternatif istemciler de çevrimiçiydi, Geth'teki açık kapatılırken Ethereum saldırıya karşı koymayı ve çalışmaya devam etmeyi başarmıştı.
Hisse kanıtı nihayeti
Ethereum düğümlerinin %33'ünden fazlasına sahip olan bir fikir birliği katmanındaki bir açık fikir birliği katmanının kesinleşmesini engelleyebilirdi, yani kullanıcılar işlemlerin bir noktada geri alınmayacağına veya değiştirilmeyeceğine güvenemezdi. Bu özellikle DeFi gibi Ethereum üzerinde inşa edilmiş birçok uygulama için bayağı sıkıntılı olurdu.
Daha kötüsü, üçte ikilik bir çoğunluğa sahip olan bir istemcideki kritik bir hata zincirin hatalı biçimde ayrılmasına ve kesinleşmesine(opens in a new tab) yol açabilirdi, bu da doğrulayıcıların büyük bir kısmının geçersiz bir zincirde takılı kalmasına sebep olurdu. Eğer doğru zincire geri katılmak isterlerse, bu doğrulayıcılar ya cezalandırma ile ya da yavaş ve pahalı bir gönüllü çekilme ve yeniden aktifleştirme ile karşı karşıya kalırlardı. Bir kesintinin büyüklüğü maksimum olarak üçte ikilik bir çoğunluk cezalandırılacak şekilde (32 ETH) sorunlu düğümlerin sayısı ile ölçeklendirilir.Bunlar muhtemel olmayan senaryolar olsa da, Ethereum ekosistemi istemcilerin aktif düğümler arasındaki dağıtımını eşitleyerek riski azaltabilir. İdeal olarak, hiçbir fikir birliği istemcisi, toplam düğümlerin %33'lük bir kısmına sahip olamaz.
Ortak sorumluluk
Çoğunluk istemciye sahip olmanın bir insan maliyeti de vardır. Küçük bir geliştirme ekibine aşırı baskı ve sorumluluk yükler. İstemci çeşitliliği ne kadar azsa, çoğunluk istemciyi koruyan geliştiricilerin sorumluluk yükü o kadar büyük olur. Bu sorumluluğu birden fazla ekibe yaymak, hem Ethereum'un düğüm ağının hem de insan ağının durumu için için iyidir.
Mevcut istemci çeşitliliği
ethernodes.org(opens in a new tab) ve clientdiversity.org(opens in a new tab) diyagram verisi
Yukarıdaki iki pasta grafiği yürütüm ve fikir birliği katmanları için mevcut istemci çeşitliliğini resmetmektedir (yazıldığı Ocak 2022 esnasında). Yürütüm katmanı büyük oranda Geth(opens in a new tab) tarafından domine edilmiştir, uzak ikinci sırada Open Ethereum(opens in a new tab) gelir, Erigon(opens in a new tab) üçüncü ve Nethermind(opens in a new tab) dördüncüdür, diğer istemciler de ağın %1'den azını kapsar. Fikir birliği katmanında en yaygın kullanılan istemci - Prysm(opens in a new tab) - Geth kadar baskın olmasa da yine de ağın %60'tan fazlasını temsil eder. Lighthouse(opens in a new tab) ve Teku(opens in a new tab) sırasıyla 20% ve 14% civarını kapsar ve diğer istemciler nadiren kullanılır.
Yürütüm katmanı verileri, 23 Ocak 2022 tarihinde Ethernodes(opens in a new tab)'tan alınmıştır. Fikir birliği istemcileri hakkındaki veriler Micheal Sproul(opens in a new tab)'dan alınmıştır. Fikir birliği istemcisi verilerinin elde edilmesi daha zordur çünkü fikir birliği katmanı müşterileri her zaman onları tanımlamak için kullanılabilecek açık izlere sahip değildir. Veri bazen azınlık istemcilerin bazılarını karıştıran bir sınıflandırma algoritması tarafından oluşturulmuştur (daha fazla ayrıntı için buraya(opens in a new tab) bakın). Yukarıdaki diyagramda, bu karışık sınıflandırmalar bir ya/veya etiketiyle işlem görmüştür (ör. Nimbus/Teku). Yine de, ağın çoğunluğunun Prysm çalıştırdığı açıktır. Veri belirli bir blok dizisinin anlık çekimidir (bu durumda 2048001 ila 2164916 arası yuvalardaki İşaret blokları) ve Prysm'in baskınlığı bazen %68'i geçecek şekilde daha yüksek olmuştur. Sadece anlık çekimler olmasına rağmen, diyagramdaki değerler mevcut istemci çeşitliliği durumu hakkında iyi bir genel algı sağlamaktadır.
Fikir birliği katmanı için güncel istemci çeşitliliği verileri artık clientdiversity.org(opens in a new tab) adresinde mevcuttur.
Yürütüm katmanı
Şimdiye kadar, istemci çeşitliliği etrafındaki konuşmalar esas olarak fikir birliği katmanına odaklandı. Ancak, yürütüm istemcisi Geth(opens in a new tab) şu anda tüm düğümlerin yaklaşık %85'ini oluşturmaktadır. Bu yüzde, fikir birliği istemcileri için olduğu gibi aynı nedenlerle sorunludur. Örneğin, Geth'de işlemlerin ele alınmasını veya yürütme yüklerinin oluşturulmasını etkileyen bir hata fikir birliği istemcilerinin sıkıntılı veya hatalı işlemleri sonlandırmasına yol açabilir. Bundan dolayı, Ethereum daha eşit bir yürütüm katmanı dağılımı ile, ideal olarak hiçbir istemcinin ağın %33'ünden fazlasını temsil etmediği bir durum ile daha sağlıklı olurdu.
Azınlık istemcisi kullanın
İstemci çeşitliliğini ele almak, azınlık istemcileri seçmek için bireysel kullanıcılardan daha fazlasını gerektirir - madencilik/doğrulayıcı havuzları ve büyük dapp'ler ve borsalar gibi kurumların da istemcileri değiştirmesini gerektirir. Ancak tüm kullanıcılar tüm mevcut Ethereum yazılımlarının kullanımını normalleştirerek mevcut eşitsizliği ortadan kaldırmaya katkı sağlayabilirler. Birleşimden sonra, tüm düğüm operatörlerinin, bir yürütüm istemcisi ve bir fikir birliği istemcisi çalıştırmaları gerekecektir. Aşağıda önerilen istemci kombinasyonlarını seçmek, istemci çeşitliliğini artırmaya yardımcı olacaktır.
Yürütüm istemcileri
Nethermind(opens in a new tab)
Go-Ethereum(opens in a new tab)
Mutabakat istemcileri
Lighthouse(opens in a new tab)
Teknik kullanıcılar azınlık istemcileri için daha fazla öğretici ve doküman yazarak ve düğüm yöneten yakınlarını baskın istemcilerden ayrılmaya yönlendirerek bu süreci hızlandırmaya yardımcı olabilirler. Bir azınlık fikir birliği katmanına geçiş için kılavuzlar clientdiversity.org(opens in a new tab) adresinde mevcuttur.
İstemci çeşitliliği gösterge panelleri
Birden fazla gösterge paneli yürütüm ve fikir birliği katmanları için gerçek zamanlı istemci çeşitliliği istatisikleri verir.
Fikir birliği katmanı:
clientdiversity.org(opens in a new tab) Yürütüm katmanı:
Daha fazla okuma
- Ethereum'un fikir birliği katmanında istemci çeşitliliği(opens in a new tab)
- Ethereum Birleşimi: Çoğunluk istemcisini sorumluluğunu alarak çalıştırın!(opens in a new tab) – Dankrad Fiest, 24 Mart 2022
- İstemci çeşitliliğinin önemi(opens in a new tab)
- Ethereum düğüm hizmetleri listesi(opens in a new tab)
- İstemci çeşitliliği sorununun "Beş Nedeni"(opens in a new tab)
- Ethereum Çeşitliliği ve Bunun İçin Nasıl Çözüm Buluruz (YouTube)(opens in a new tab)
- clientdiversity.org(opens in a new tab)