Zilliqa ağının 3 Ocak 2024'te v9.3.0 sürümüne yükseltilmesinin ardından ZilBridge platformu, birçok işlemin onaylanmamasına ve kullanıcıların platformu kullanamamasına neden olacak uzun süreli bir kesinti yaşadı.

Bu sorun, 27 Mart 2024'te platforma tam işlevsellik geri yüklendiğinde çözüldü.

ZilBridge, Carbon ve Poly Network tarafından desteklenen bir Ethereum-Zilliqa Köprüsüdür ve ZRC-2 değiştirilebilir tokenlerinin hem Zilliqa hem de Ethereum arasında kolayca köprülenmesini sağlar.

Zilliqa teknik ekibi, sorunun ayrıntılı bir analizini ve nasıl çözüldüğünü sağlayan bu kesintinin temel neden analizini gerçekleştirdi.

PIR-219 olarak etiketlenen ZilBridge'deki kesinti, prensip olarak ZilBridge aktarma altyapısının v9.3.0 ağ yükseltmesi uygulandığında kapatılmaması ve bunun köprü altyapısı üzerinden yanlış blok başlıklarını aktarmasına neden olmasından kaynaklandı.

Bu sorunun çözümündeki gecikmelere katkıda bulunan faktörler arasında Zilliqa ağ yükseltmelerinin uygulanma şekli, PolyNetwork'ün işlem bloklarını nasıl doğruladığına ilişkin özellikler, aktarma programındaki hataların keşfedilmesi ve yeni bir oluşum bloğu oluşturmak için gereken süre yer alıyor. ve geçmiş işlemleri PolyNetwork ile senkronize edin.

27 Mart itibarıyla bu engeller aşılarak platforma tam işlevsellik kazandırıldı. ZilBridge artık tekrar çevrimiçi ve önceden takılı kalan tüm işlemler senkronize edildi ve onaylandı.

Kök Neden Analizi - ZilBridge Kesintisi

ZilBridge (kısmen), uygun işlemleri ve blok başlıklarını PolyNetwork'e aktarmak için bir aktarma programı kullanıyor; PolyNetwork daha sonra isteklerin Carbon'a ve ardından teslimat için diğer zincirlere aktarılmasını yönetiyor.

Zilliqa ağında bir ana ağ yükseltmesi uygulandığında aşağıdakiler meydana gelir:

  • Eski ağ erişilemez hale getirildi

  • Eski ağın kalıcılığından yeni bir ağ oluşturulur.

  • Yeni ağ eskisinin yerini alıyor.

  • Yeni ağ erişilebilir hale getirildi.

Zilliqa ekibi, planlanmış bir ağ yükseltmesinden önce iş ortaklarını bilgilendirir, böylece eski ağ erişilemez hale getirilirken altyapılarını duraklatabilirler. Bu kusurlu süreç, Zilliqa 2.0'ın piyasaya sürülmesiyle iyileştirilecek ve daha dinamik ve esnek hale getirilecek.

Zilliqa v9.3.0 yükseltmesinde ZilBridge altyapısı bu süreçte duraklamadı ve eski ağın ürettiği boş bloklardan başlıklar biriktirmeye devam etti ve bunları PolyNetwork'e aktardı.

Bu, ağ v9.3.0 sürümüne geri döndüğünde PolyNetwork'ün kendisini çatallanmış bir DS komite üyeliğiyle bulduğu ve yeni ağ ile senkronizasyonu reddettiği anlamına geliyordu.

PolyNetwork, Zilliqa blok zinciri tarafından bildirilen DS blok başlıklarından DS (Dizin Hizmeti) komitesini yeniden oluşturarak bir işlem bloğunun doğru şekilde imzalanıp imzalanmadığını kontrol eder. Yalnızca en son DS komitesi PolyNetwork tarafından saklanır ve önceki DS blokları için önceki DS komitesi üyelerinin hesaplanması imkansızdır.

Bu, PolyNetwork için oluşum bloğunu yeniden oluşturmamız gerektiği anlamına geliyordu; bu, mevcut DS bloğundan daha erken bir zamanda başlamamız gereken, zaman alıcı bir süreçtir.

Önceki bloklar için DS komite üyeliklerini hesaplamak mümkün olmadığından Zilliqa ekibi, ısrarı azaltan ve zincirin herhangi bir noktasında bir oluşum bloğunu yeniden oluşturmak için ileriye doğru çalışan bir araç yarattı. Bu daha sonra ağ yükseltmesinden hemen sonra blok yüksekliğinde bir blok oluşturmak ve imzalamak için kullanıldı.

Ağ sürümleri arasındaki koruma düğümlerindeki değişikliği hesaba katmak için birkaç oluşum senkronizasyonunun tamamlanması gerekiyordu ve daha sonra aktarma programında, işlem bloklarının PolyNetwork ile senkronize edilmemesine neden olan hatalar keşfedildi.

Bu hatalar düzeltildi ve daha sonra PolyNetwork'ün, halihazırda karma değerini depoladığı bir DS bloğu için DS komite üyeliğini depolayamamasından kaynaklanan bir sorunla karşılaştık.

Bu, aktarıcının çalışmayı durdurmasına neden oldu ve PolyNetwork'ün gördüğü son DS bloğu ile olağanüstü köprü işlemine sahip ilk DS bloğu arasında bir oluşum bloğunun oluşturulmasını gerektirdi.

Aktarıcı, bu senkronizasyonu hızlandırmak için optimize edildi; bu, tamamlandıktan sonra PolyNetwork'ün Zilliqa ağıyla uyum sağlaması ve ZilBridge işlevselliğinin 27 Mart 2024'te tamamen geri yüklenmesiyle sonuçlandı.