Dövrlər və yuvalar arasında: Ethereum istifadəçilərini daha sürətli əməliyyat təsdiqləmə vaxtları ilə təmin etməyin yolları

July 1, 2024

Blokçeyn istifadəçi təcrübəsinin əhəmiyyətli xüsusiyyətlərindən biri sürətli əməliyyat təsdiq müddətidir. Bu gün Ethereum beş il əvvəlki vəziyyətinə nisbətən çox daha yaxşı vəziyyətdədir. EIP-1559 və Merge-dən sonrakı sabit blok müddətlərinin birləşməsi sayəsində L1-də istifadəçilər tərəfindən göndərilən əməliyyatlar etibarlı şəkildə 5-20 saniyə ərzində təsdiqlənir. Bu, kredit kartı ilə ödəmə təcrübəsi ilə müqayisə edilə bilər. Bununla belə, istifadəçi təcrübəsini daha da yaxşılaşdırmaq və bəzi tətbiqlərin yüzlərlə millisaniyə və ya daha az gecikmə tələb etdiyi hallar üçün dəyərlidir. Bu yazıda Ethereum-un bəzi praktik seçimləri nəzərdən keçiriləcək.

Mövcud fikir və texnikaların ümumi icmalı

Tək Slot Sonluğu.

Bu gün Ethereum-un Gasper konsensus mexanizmi slot və epoch arxitekturasından istifadə edir. Hər 12 saniyəlik slotda təsdiqləyicilərin bir alt qrupu zəncirin başına səs verir və 32 slot (6.4 dəqiqə) ərzində bütün təsdiqləyicilər bir dəfə səs vermə şansı əldə edir. Bu səslər iki epoch (12.8 dəqiqə) sonra çox güclü iqtisadi təminat təmin edən və finallıq adlanan PBFT-yə bənzər konsensus alqoritmində mesajlar kimi yenidən şərh olunur.

Son bir neçə ildə mövcud yanaşmadan getdikcə daha çox narahat olmuşuq. Bunun əsas səbəbləri (i) mürəkkəb olması və slot əsaslı səsvermə mexanizmi ilə epoch əsaslı finallıq mexanizmi arasında bir çox qarşılıqlı əlaqə xətasının olması və (ii) 12.8 dəqiqənin çox uzun olması və heç kimin bu qədər gözləmək istəməməsidir.

Tək-slot finallığı bu arxitekturanı N bloku N+1 bloku yaradılmadan əvvəl sonlandığı Tendermint konsensusuna çox daha bənzər bir mexanizm ilə əvəz edir. Tendermint-dən əsas fərq, "hərəkətsizlik sızması" mexanizmini qorumağımızdır; bu, təsdiqləyicilərin 1/3-dən çoxu oflayn olsa belə zəncirin davam etməsini və bərpa olunmasını təmin edir.


Aparıcı tövsiyə olunan tək yuva dəqiqliyi dizaynının diaqramı!


SSF ilə bağlı əsas çətinlik, görünür ki, hər bir Ethereum steykerinin hər 12 saniyədə iki mesaj yayımlaması lazım olmasıdır ki, bu da zəncir üçün çox yük deməkdir. Bunun necə yüngülləşdirilməsi barədə ağıllı fikirlər var, bunların arasında çox yeni olan Orbit SSF təklifi də var. Lakin, bu istifadəçi təcrübəsini əhəmiyyətli dərəcədə yaxşılaşdırsa da "finallığın" daha tez gəlməsini təmin etsə də, istifadəçilərin yenə də 5-20 saniyə gözləməli olduğu faktını dəyişmir.

(Rollups) Qabaqcadan Təsdiqlər

Son bir neçə ildə Ethereum rollup-mərkəzli yol xəritəsini izləyərək, Ethereum əsas təbəqəsini (L1) məlumat əlçatanlığı və daha yüksək miqyasda təhlükəsizlik təmin edən rolluplar (həmçinin validiumlar və plasmalar) kimi ikinci təbəqə protokollarını dəstəkləyən funksiyalar ətrafında dizayn etməkdədir.

Bu, Ethereum ekosistemində bir narahatlıq bölgüsü yaradır: Ethereum L1 senzuraya davamlı, etibarlı, sabit və müəyyən bir əsas nüvə funksionallığını qorumağa və təkmilləşdirməyə diqqət yetirə bilər, L2-lər isə birbaşa istifadəçilərlə ünsiyyət qurmağa fokuslanа bilər - həm fərqli mədəni, həm də texnoloji kompromislər vasitəsilə. Lakin bu yolu seçsəniz, qaçılmaz bir problem ortaya çıxır: L2-lər istifadəçilərinə 5-20 saniyədən çox daha sürətli təsdiqləmələr təqdim etmək istəyəcəklər.

Bu günə qədər, ən azından ritorikada, L2-lərin öz "mərkəzləşdirilməmiş sıralama" şəbəkələrini yaratmaq məsuliyyəti olub. Daha kiçik bir təsdiqləyici qrupu blokları imzalayır, bəlkə də hər bir neçə yüz millisaniyədə bir və bu bloklara öz "stake"lərini qoyurlar. Nəticədə, bu L2 bloklarının başlıqları L1-ə yayımlanır.


Dizayn diaqramı!


L2 təsdiqləyici dəstləri aldada bilər: əvvəlcə B1 blokunu imzalayıb, sonra B1-dən əvvəl zəncirə zidd olan B2 blokunu imzalayıb öhdəlik götürə bilərlər. Lakin bunu etsələr, yaxalanır və depozitlərini itirirlər. Praktikada bunun mərkəzləşdirilmiş versiyalarını gördük, ancaq rolluplar mərkəzləşdirilməmiş sıralama şəbəkələri inkişaf etdirməkdə ləng qaldılar. Və L2-lərdən bütün mərkəzləşdirilməmiş sıralamanı etmələrini tələb etməyin ədalətsiz bir razılaşma olduğunu deyə bilərsiniz: rolluplardan yeni bir L1 yaratmağın çoxunu etmələrini istəyirik. Bu səbəbdən və digər səbəblərdən, Justin Drake bütün L2-lərə (və L1-ə) Ethereum miqyasında ortaq bir ön-təsdiq mexanizmi təqdim etmə yolunu təşviq edir: daxili ön-təsdiqlər.

Əvvəlcədən təsdiqlərə əsaslanan

Daxili ön-təsdiq yanaşması, Ethereum təklifçilərinin MEV ilə əlaqəli səbəblərdən çox mürəkkəb aktyorlara çevriləcəyini fərz edir (MEV izahım üçün buraya baxın və həmçinin icra biletləri təklif xəttinə baxın). Daxili ön-təsdiq yanaşması bu mürəkkəb təklifçiləri istifadəçilərə xidmət olaraq ön-təsdiqləri təqdim etmə məsuliyyətini qəbul etməyə təşviq edir.


Dizayn diaqramı!


Əsas fikir, istifadəçinin əməliyyatın növbəti bloka daxil edilməsi və ehtimal ki, bu əməliyyatın icra nəticələrinə dair bir iddia üçün əlavə ödəniş təklif edə biləcəyi standart bir protokol yaratmaqdır. Təklifçi hər hansı bir istifadəçiyə verdiyi hər hansı bir vədi pozarsa, cəzalandırıla bilər.

Daxili ön-təsdiqlər L1 əməliyyatlarına zəmanətlər verir. Əgər rolluplar "daxili" olarsa, bütün L2 blokları L1 əməliyyatlarıdır və buna görə də eyni mexanizm hər hansı bir L2 üçün ön-təsdiqlər təmin etmək üçün istifadə edilə bilər.

Əslində burada nəyə baxırıq?

Tək slot finallığını tətbiq etdiyimizi fərz edək. Slot başına imza atan təsdiqləyici sayını azaltmaq üçün Orbit-bənzəri texnikalardan istifadə edirik, ancaq çox da yox, belə ki, 32 ETH steyk minimumunu azaltmaq əsas hədəfində də irəliləyə bilək. Nəticədə, bəlkə də slot müddəti 16 saniyəyə çıxır. İstifadəçilərə daha sürətli təminat vermək üçün ya rollup ön-təsdiqlərindən, ya da daxili ön-təsdiqlərdən istifadə edirik. İndi nəyə sahibik? Bir epoch və slot arxitekturası.


Dizayn diaqramı! Dizayn diaqramı!

Meme-in "eyni şəkil" olduğu artıq çox istifadə edildiyindən, Gasper-in slot və epoch arxitekturasını illər əvvəl təsvir etmək üçün çəkdiyim köhnə bir diaqramı və L2 ön-təsdiqlərinin bir diaqramını yan-yana qoyacağam və ümid edirəm ki, bu məsələni aydınlaşdırar.

Epoch və slot arxitekturalarından qaçınmanın bu qədər çətin olmasının dərin bir fəlsəfi səbəbi var: Bir şey üzərində təxmini razılığa gəlmək, maksimum dərəcədə sərtləşdirilmiş "iqtisadi finallıq" üzərində razılığa gəlməkdən daha az vaxt alır.

Sadə bir səbəb, düyün sayıdır. Köhnə xətti mərkəzsizləşmə / finallıq müddəti / ümumi xərc mübadiləsi, indi hiper-optimizasiya edilmiş BLS birləşdirmə və yaxın gələcəkdə ZK-STARK-lar sayəsində daha yüngül görünsə də, hələ də əsasən doğrudur:

  1. "Təxmini razılıq" sadəcə bir neçə düyün tələb edərkən, iqtisadi finallıq bütün düyünlərin əhəmiyyətli bir hissəsini tələb edir.

  2. Düyün sayı müəyyən bir ölçünü aşdıqda, imzaları toplamaq üçün daha çox vaxt sərf etməyiniz lazım olur.

Bu gün Ethereum-da 12 saniyəlik bir slot üç alt slota bölünür: (i) blok yayımı və paylanması, (ii) təsdiq və (iii) təsdiq birləşdirməsi üçün. Təsdiqləyicilərin sayı çox daha aşağı olsaydı, iki alt slota düşə bilər və 8 saniyəlik slot müddətinə sahib ola bilərdik. Digər bir və reallıqda daha böyük faktor düyünlərin "keyfiyyəti"dir. Təxmini razılaşmalar üçün peşəkarlaşmış bir alt düyün dəstinə güvənə bilsək (və hələ də finallıq üçün tam təsdiqləyici dəstini istifadə etsək), bunu ~2 saniyəyə endirmək mümkün ola bilər.

Beləliklə, (i) slot və epoch arxitekturalarının açıq şəkildə doğru olduğu, lakin eyni zamanda (ii) bütün slot və epoch arxitekturalarının bərabər yaradılmadığı və dizayn sahəsini daha tam şəkildə kəşf etməyin dəyərli olduğu hissinə qapılıram. Xüsusilə, Gasper kimi sıx şəkildə iç-içə keçməmiş və iki mexanizm arasında daha güclü bir narahatlıq ayrılması olan seçənəkləri araşdırmağa dəyər.

L2'lər nə etməlidir?

Fikrimcə, hazırda L2-lərin həyata keçirə biləcəyi üç ağlabatan strategiya var:

  1. Texnoloji və mənəvi cəhətdən “əsas” olun. Yəni, Ethereum baza qatının spesifikasiyası və dəyərləri üçün miqrasiya yollarını optimallaşdırın (yüksək mərkəzsizləşdirmə, senzura müqaviməti və s.). Ən sadə formada, siz bu yığımları "markalı qırıqlar" kimi düşünə bilərsiniz, lakin onlar həm də daha iddialı və yeni virtual maşın dizaynları və digər texniki təkmilləşdirmələrlə kifayət qədər təcrübə edə bilərlər.

  2. Qürurla "blockchain iskele serveri" olun və ondan maksimum yararlanın. Əgər siz serverdən başlayırsınızsa və sonra (i) serverin qaydalara uyğun olduğunu yoxlamaq üçün STARK etibarlılıq sübutlarını əlavə edirsinizsə, (ii) istifadəçiyə sistemdən çıxmaq və ya hərəkətləri həyata keçirmək hüququna zəmanət verir və ola bilsin (iii) toplu seçim azadlığı, ya koordinasiya olunmuş toplu çıxış yolu ilə, ya da sequencer qabiliyyətini dəyişdirməklə, siz serverin səmərəliliyinin böyük hissəsini saxlayaraq zəncirdə olmağın bir çox üstünlüklərini əldə edirsiniz.

  3. Konsensus yanaşması: Ethereum əlavə qarşılıqlı fəaliyyət və təhlükəsizlik təmin etdiyi yüz qovşaqdan ibarət sürətli zəncir. Bu, bir çox L2 layihələri üçün cari faktiki yol xəritəsidir.

Bəzi proqramlar üçün (məsələn, ENS, açar anbarları, bəzi ödənişlər) 12 saniyəlik bloklama müddəti kifayətdir. Bu müddətin kifayət etmədiyi tətbiqlər üçün yeganə həll yolu slot və epoch arxitekturasıdır. Hər üç halda, “epoxalar” Ethereum-un SSF-dir (bəlkə də biz bu abbreviaturanı “tək yuva” əvəzinə başqa bir mənaya çevirə bilərik, məsələn, “Təhlükəsiz Sürətli Nəticə” mənasını verə bilər). Ancaq yuxarıdakı hər üç halda "yuvalar" fərqlidir:

  1. Ethereum-a xas slot və dövr arxitekturası

  2. Serverin əvvəlcədən təsdiqlənməsi

  3. Komitənin ilkin təsdiqləri

Əsas sual ondan ibarətdir ki, biz (1) kateqoriyasında nə qədər yaxşı iş görə bilərik? Xüsusilə, həqiqətən yaxşı olsaydı, kateqoriya (3) mənasını itirmiş kimi görünürdü. Kateqoriya (2) həmişə mövcud olacaq, ən azı ona görə ki, plazma və validiumlar kimi zəncirdən kənar data L2-lər üçün əsaslı heç bir şey işləmir. Ancaq Ethereum-a məxsus slot və dövr arxitekturası 1 saniyəlik “yuva” (yəni əvvəlcədən təsdiqləmə) vaxtına düşə bilsə, (3) kateqoriya üçün yer kifayət qədər kiçik olur.

Bu gün biz bu suallara yekun cavab verməkdən uzağıq. Əsas sual - blok təklif edənlərin necə inkişaf edəcəyi - olduqca qeyri-müəyyən bir sahə olaraq qalır. Orbit SSF kimi dizaynlar çox yenidir və Orbit SSF kimi bir şeyin epox olduğu yuva və dövr dizaynlarının dizayn sahəsi hələ də kifayət qədər araşdırılmamışdır. Nə qədər çox variantımız olsa, bu, həm L1, həm də L2 istifadəçiləri üçün bir o qədər yaxşıdır və L2 tərtibatçılarının işini bir o qədər sadələşdirə bilərik.


Bu məqalə Vitalik Buterin bloq yazısından alınaraq tərcümə edilərək yazılmışdır.