Walrus Oxumağı Sadələşdirmək: 2f+1 Slivers Toplayın və Təsdiqləyin

Walrus-dan bir blob oxumaq alqoritmik sadəlikdir. Müştəri yalnız iki hərəkət etməlidir: kifayət qədər fraqment toplamaq və onların düzgün bərpa olunduğunu təsdiqləmək. Protokol hər iki əməliyyatı şəffaf və səmərəli edir.

Oxuma bir hədəflə başlayır. Müştəri blob ID-sini və onu təsdiq edən on-chain PoA-nı bilir. Bu məlumatdan, eyni şəbəkə hesablamasından istifadə edərək hansı doğrulayıcıların hansı slivers-i saxladığını çıxarır. Müştəri doğrulayıcılarla əlaqə saxlayır və fraqmentlər tələb edir.

Müştəri doğrulayıcılardan cavablar toplayır. Bəzi fraqmentlər tez gəlir (cavab verən doğrulayıcılardan olan əsas slivers). Digərləri yavaş gəlir və ya heç gəlmir (ikinci dərəcəli və ya reaksiya verməyən düyünlər). Protokol bir eşik tələb edir: 2f+1 dürüst fraqment düzgünlüyü təmin etmək üçün tələb olunur, hətta f fraqmentlər korlanmış və ya Bizans olsa belə.

Müştəri kifayət qədər fraqmentə malik olduqda, bərpa prosesi sadədir. 2D şəbəkə strukturu istifadə edərək, fraqmentləri birləşdirir və nəticəni on-chain öhdəlik hash-ı ilə təsdiqləyir. Əgər bərpa olunan blob öhdəlik hash-ı ilə üst-üstə düşürsə, təsdiqləmə müvəffəq olur. Əks halda, müştəri bərpanın uğursuz olduğunu bilir və yenidən cəhd edə bilər və ya səhv bildirə bilər.

Gözəllik sadəlikdir. Heç bir mürəkkəb çoxtərəfli seçki. Heç bir lider seçkisi. Heç bir konsensus protokolu. Sadəcə: fraqmentləri toplayın, öhdəliklə təsdiqləyin, işiniz bitdi. Əgər təsdiqləmə uğursuz olursa, daha çox fraqment toplayın və yenidən cəhd edin. Sistem yavaş və ya yalançı doğrulayıcılara qarşı təbii olaraq davamlıdır.

Bu sadəlik oxumağı möhkəm edir. Müştərilər onu yerli olaraq digər oxucularla koordinasiya etmədən həyata keçirə bilərlər. Bizans doğrulayıcıları qeyri-müəyyənlik yarada bilmir, çünki hər oxucu müstəqil olaraq on-chain öhdəliyi ilə təsdiqləyir.

@Walrus 🦭/acc #Walrus $WAL