Espresso, HotShot'ın blok kesinleştirme sürecini değiştirerek iki oylamanın aynı turda tamamlanmasını sağladı. Önceki yöntemde, gerekli oy sayısına ulaşmış blokların kesinleşmesi için sonraki liderin önerisi ve oylaması da gerekiyordu.
Espresso Systems, 20'sinde yayımladığı teknik açıklamada geçen eylül ana ağ yükseltmesine eklenen konsensüs yönteminin nasıl çalıştığını anlattı. TokenPost daha önce, eylül ayındaki ana ağ yükseltmesinin ardından işlemlerin kesinleşme süresinin 1 saniyenin altına indiğini bildirmişti. Yeni açıklama, bu hızı destekleyen konsensüs kurallarını ele alıyor.
Konsensüs turu, liderin blok önerdiği ve doğrulayıcıların oy kullandığı bir birimdir. Yeter sayı, konsensüs için gereken asgari oy sayısını ifade eder. HotShot'ın önceki sürümünde, bir turda yeterli oy toplansa bile blok hemen kesinleşmiyordu; bunun yerine kanıtlar zincirleme biçimde aktarılıyordu.
Bir turdaki oy sertifikası sonraki turun önerisine ekleniyor, ardından sonraki turun sertifikası da iletilince önceki blok kesinleşiyordu. Her turda bir öneri ve bir oylama yapılıyordu.
Blokların kesinleşmesi, sonraki turların sorunsuz ilerlemesine bağlıydı. Sonraki turun lideri gecikir ya da çevrim dışı kalırsa, yeterli oyu toplamış blok da kesinleşmeyi bekleyebiliyordu.
Yeni yöntemde lider, bloğu silinti kodlamasıyla parçalara ayırıp doğrulayıcılara gönderiyor. Silinti kodlaması, parçaların bir bölümü kullanılarak özgün verinin yeniden oluşturulmasını sağlayan bir yöntemdir.
Kendi parçasını alan doğrulayıcı, ilk oylamayı diğer tüm doğrulayıcılara iletiyor. İlk oylama yeter sayıya ulaşırsa herhangi bir düğüm ilk sertifikayı oluşturabiliyor, bloğu kilitleyebiliyor ve ikinci oylamayı gönderebiliyor.
İkinci oylama da yeter sayıya ulaşırsa düğüm ikinci sertifikayı oluşturup bloğu kesinleştiriyor. İki oylama da aynı turda tamamlandığı için sonraki liderin durumu artık bloğun kesinleşmesini etkilemiyor.
Oyların iletilme biçimi de değişti. Önceki yöntemde doğrulayıcılar oylarını bir lidere gönderiyor, sertifikayı lider oluşturuyordu. Yeni yöntemde doğrulayıcılar oyları birbirlerine iletiyor. Yeterli oyu gören herhangi bir düğüm sertifika oluşturabiliyor.
Doğrulayıcı sayısı n olarak alındığında mesaj karmaşıklığı önceki O(n) düzeyinden O(n²) düzeyine çıkıyor. Buna karşılık oyların toplanması tek bir liderin yanıtına bağlı kalmıyor; böylece tek bir düğümdeki gecikme veya arızanın yol açtığı tıkanıklık azalabiliyor.
Espresso Systems, yaklaşık 100 doğrulayıcının bulunduğu mevcut ölçekte oy mesajlarının küçük olduğunu ve bu yükün yönetilebilir kaldığını belirtti. Doğrulayıcı sayısı 10 kat veya daha fazla artarsa komite seçimi, imza toplama ve aşamalı oy iletimi gibi ek önlemler gerekebileceğini de ekledi.
Oyların doğrulayıcılar arasında iletilmesi ve her düğümün sertifika oluşturabilmesi, önceki tur senkronizasyonu alt protokolünü de gereksiz kıldı. Bazı oyları kaçıran düğümler, başka bir düğümün oluşturduğu sertifikayı aldıklarında karar verebiliyor. Lider çevrim dışı kalır ya da kötü niyetli davranırsa zaman aşımı sertifikası kullanılıyor.
Veri kullanılabilirliğinin doğrulanması da konsensüs oylamasına eklendi. Önceki yöntemde ayrı bir veri kullanılabilirliği komitesi, konsensüs oylamasından önce blok verisini alıyor, oy veriyor ve sertifika oluşturuyordu.
Yeni yöntemde lider, blok parçalarını doğrulayıcılara stake paylarına göre dağıtıyor. Yalnızca parça alan doğrulayıcılar ilk oylamaya katılabiliyor. Stake'in üçte ikisine karşılık gelen doğrulayıcıların oy vermesi, bloğu yeniden oluşturmak için yeterli sayıda parçanın bulunduğuna kanıt oluşturuyor. Böylece ayrı veri kullanılabilirliği komitesi ve onun oylama süreci kaldırıldı.
CometBFT de blokları kesinleştirirken iki tür oylama kullanıyor. Ancak CometBFT'de oylamaya bloğun tamamı konu olurken, yeni HotShot yönteminde silinti kodlamasıyla parçalara ayrılmış veriler dağıtılıyor ve oylama veri kullanılabilirliğini kanıtlamak için de kullanılıyor.
Espresso Systems, kötü niyetli doğrulayıcıların stake payı üçte birin altında kaldığında birbiriyle çelişen iki bloğun aynı anda kesinleşmesini önleyen güvenlik özelliğinin korunduğunu açıkladı. Espresso'da kesinleşme, rollup'ın ilettiği verileri ve işlem sırasını kesinleştiriyor; rollup işlemlerinin yürütüldüğü veya Ethereum (ETH) gibi üst zincirlerde mutabakatın tamamlandığı anlamına gelmiyor.
Yorum 0