Arhitektura blokčejna: Slojevito obučena tehnologija
Sve zadivljujuće osobine blokčejna: transparentnost, decentralizacija, nepostojanje posrednika, anonimnost, efikasnost, itd, znače jedno: tehnologija koja to omogućava mora biti složena. I zaista, šta je blokčejn nego spoj velikih ideja iz različitih oblasti: kriptografije, teorije igara, softverskog inženjerstva i distribuiranih mreža. U zbiru kompleksna celina.
Da bi ta celina funkcionisala efikasno iz vizure krajnjeg korisnika, bekstejdž mora da bude organizovan besprekorno. Popularni mim sa ledenim bregom je dosta dobar primer samo što je ispod površine još složenije. Breg je slojevit i svaki nivo igra bitnu ulogu kako bi ono na površini radilo kako treba.
Slojevi arhitekture
Blokčejn dolazi u prilično varijeteta. Javni, privatni, hibrini. Postoje i konzorcijumski čejnovi gde više entiteta/organizacija kontroliše konsenzusni mehanizam.
Struktura blokčejna se može razlikovati od slučaja do slučaja, ali za potrebe ovog teksta naš fokus će biti na javnim blokčejnovima.
Ne postoji apsolutna saglasnost — dosta zavisi od ugla posmatranja — ali najčešće se smatra da je arhitektura blokčejna takva da ga možemo podeliti u pet celina.
Layer 1 — Hardver i infrastruktura
Temelj. Beton i armatura. Izvor kapaciteta blokčejna.
Ako posmatramo blokčejn sa PoW (Proof-of-Work) konsenzus mehanizmom, videćemo sve one umrežene mašine (nodove) koji gutaju električnu energiju kako bi efikasno i pouzdano kreirali nove blokove u lancu. Infrastrukturno, blokčejn je ogromna distribuirana mreža računara koji međusobno (peer-2-peer) komuniciraju. Rezultat takve komunikacije je izvršavanje, validiranje i javno beleženje transakcija po utvrđenom redosledu.
Svi podaci koji nastanu kreiranjem novih blokova moraju biti negde smešteni. Zbog toga se i serveri i data centri širom sveta smatraju integralnim delom layera.
Layer 2 — Informacije
Blokčejn je distribuirana knjiga transakcija koje se konsenzusom utvrđenom redosledu trajno beleže u neprekidni lanac događaja. Informacije o transakcijama predstavljaju suštinu blokčejna.
Sve informacije se nalaze u blokovima, osnovnim gradivnim jedinicama blokčejna koji su redno povezani. Treba napomenuti da u zavisnosti od funkcije blokčejna, blokovi mogu sadržati različite informacije.
Svaki blok sadrži krucijalne informacije o valuti koja učestvuje u transakciji (vrsta, količina), privatni ključ pošiljaoca i javni ključ primaoca. Ovaj segment se naziva telo bloka (body).
Da blok ne bi bio muva bez glave, on ima i header. Ovaj deo bloka sadrži drugi tip informacija. Kako bi lanac uopšte bio formiran, svaki blok (sem genesis bloka) sadrži hash prethodnog bloka, informacija o vremenu nastanka bloka (timestamp), potom nonce, automatski generisan jednokratni broj koji majneri treba da pogode. Na kraju tu je i root hash Merkle stabla, specifične kriptografske strukture podataka zadužene za verifikaciju autentičnosti.
Ako je Layer 1 temelj blokčejna, onda je Layer 2 sinonim za integritet, bezbednost i privatnost.
Sve transakcije na blokčejnu se digitalno potpisuju i to je još jedna funkcija ovog sloja. Za tu operaciju enkripcije se koriste javni i privatni ključevi, svakom ko je koristio digitalne novčanike dobro poznati pojmovi. Jedino korisnik sa pristupom privatnom ključu može potpisati transakciju dok svako sa javnim ključem može verifikovati potpisivača.
Layer 3 — Mreža
Ukoliko bismo nastavili analogiju sa arhitekturom jedne stambene zgrade, treći sloj je sve ono što čini nesmetanu komunikaciju korisnika (stanara): stepenište, liftovi, hodnici i prolazi. Blokčejn je distribuirana p2p mreža gde je svaki korisnik povezan i može da komunicira sa svakim.
Takođe, uloga ovog nivoa je i takozvana propagacija blokova, doslovno nastajanje novih blokova i njihovo dodavanje u lanac.
Layer 4 — Konsenzus
Svi su jednaki, ali neki su jednakiji. Naravno da su svi slojevi blokčejna bitni za njegovo funkcionisanje, ali konsenzualni nivo je centar gravitacije. Bez ovog sloja transakcije ne bi mogle da budu izvršavane niti bi ijedan blok mogao biti validiran.
Dakle, glavna svrha ovog dela blokčejn globalne mašine je da potvrđuje blokove i integriše ih u lanac na način da se svi nodovi na mreži bezuslovno slažu oko redosleda. Odatle i naziv konsenzus nivo ili češće konsenzus mehanizam.
Bitnost ovog nivoa se ogleda u onim krajnjim, rizičnim situacija kada se na primer više transakcija simultano desi usled zagušenja na mreži. Tada ovaj layer presuđuje koji blok će biti uvršten u lanac.
Osobine ovog nivoa možemo predstaviti i na sledeći način, Konsenzus layer je zadužen za:
- definisanje preciznog skupa pravila i kriterijuma kojim se povinuju svi nodovi u p2p mreži
- egzekuciju transakcija i validaciju blokova spram pomenutog seta pravila
- očuvanje decentralizacije i distribucije moći na mreži tako da nijedan pojedinalan entitet ne može kontrolisati mrežu
- definisanje i očuvanje jedinstvenog lanca na mreži
- Nepogrešivost. Konsenzus layer je neporecivi i jedinstveni izvor istine (single source of truth)
Postoji više konsenzus mehanizama. Osim Proof of Work i Proof of Stake kao najzastupljenijih, neke mreže koriste i Proof of Activity, Proof of Capacity, Proof of Burn.
Layer 5 —Aplikacioni sloj
Isplivali smo na površinu. Na ovom nivou se odigrava neposredni dodir krajnjih korisnika i blokčejn tehnologije. Najgrublje gledano, korisnici interaguju sa mrežom putem decentralizovanih aplikacija za koje se uobičajeno kaže da se nalaze na “vrhu” blokčejna.
Takođe, ovaj nivo koriste i developeri kako bi kreirali razne vrste aplikacija na koje se preslikavaju neke od inherentnih osobina blokčejna poput transparentnosti i bezbednosti.
Ukoliko malo zumiramo, možemo zaključiti da je ovaj sloj podeljen na egzekucioni i aplikacioni podnivo. Izvršni deo čine pametni ugovori kao i još neki programi koji se bave biznis logikom. Sa druge strane aplikacioni podnivo mogu da čine frejmvorci, skripte, API-ji kao i korisnički interfejs.
Slojevi funkcionalnosti
Blokčejn možemo posmatrati i drugačije. Sa aspekta funkcionalnosti, na primer. Ali kako god da se postavimo da ga proučavamo, uvek dobijamo slojevitu strukturu u kojoj se nivoi međusobno ispomažu i nadgrađuju. Tehnološki fascinantno, inženjerski izazovno. Iz ugla običnog korisnika ne baš lako dokučivo, a ipak vrlo bitno za efikasno korišćenje.
Začkoljica je u tome da se neće uvek svi složiti da li je određeni protokol pripadnik baš tog sloja; neki su višefunkcionalni, nezahvalni za mapiranje i njihova definicija zavisi od konteksta. Opet, ovo je najčešća podela.
Layer 0
Ponovo se vraćamo u same temelje blokčejna. Layer 0 predstavlja infrastrukturu na kojima mogu da nastaju Layer 1 blokčejni. Dakle mogu, nije nužno da moraju. Zvuči zapetljano, ali mogućnosti nultog nivoa je možda najlakše shvatiti ako zavirimo u slogane njegovih najpoznatijih predstavnika.
Avalanche — Create without limits
Polkadot — The blockspace ecosystem for boundless innovation
Cosmos — Build on the interchain
Venom — Secure by design. Scalable by nature. (kopirajterski wet dream prim. aut.)
Može se reći da su usled svojih karakteristika i prednosti, Layer nula lanci pogodna infrastruktura za stvaranje blokčejnova specifične namene. Ono što krasi L0 je mogućnost izbegavanja/rešavanja značajnih izazova koji guše tradicionalne L1 lance kao što je Ethereum.
Interoperabilnost
Različiti lanci ne mogu jednostavno da komuniciraju međusobno usled tehnoloških i ekonomskih razlika. Razlike u konsenzus mehanizmima, programskim jezicima i uopšteno pravilima koje svaki lanac ima onemogućavaju da se L1 čejnovi međusobno “razumeju”, tj. da transakcije direktno izvršavaju. Da bi to uopšte uspeli potrebno je korišćenje bridge-ova, namenskih protokola koji spajaju dva lanca. Očekivano, ova usluga košta i usporava korisničko iskustvo.
Nasuprot L1 lancima, L0 inherentno podržavaju interoperabilnost. Koristeći cross-chain mogućnosti blokčejni izgrađeni na L0 nivou mogu da razvijaju specifične karakteristike i opcije za korisnike.
Skalabilnost
Propusna moć je ahilova peta monolitno dizajniranih blokčejnova kakav je Ethereum. L0 dopušta lancima koji su na njemu izgrađeni veću fleksibilnost u pogledu optimizacije broja transakcija u jedinici vremena.
Fleksibilnost za developere
Smatra se da su developerski spoftverski kitovi (SDK) i interfejsi Layer 0 protokola sveobuhvatni i jednostavni za korišćenje što programerima daje obilje mogućnosti da skockaju blokčejn prema unikatnim kriterijumima i potrebama.
Layer 1
The blockchain. Peta avenija. Epicentar najbitnijih dešavanja. Bitcoin, Ethereum, Cardano, Solana...
Ovaj nivo reguliše procese konsenzus mehanizma, razrešava sporove, određuje vreme validiranja transakcije i uvođenja bloka na mrežu (block time) i brine o funkcionalnosti mreže. Često se naziva i implementacionim nivoom.
Kao glavne karakteristike ovog nivoa uočavamo bezbednost, nepromenljivost, osobinu da ono što se desi ostaje trajno u neizmenjenoj formi, kao i otvorenost, nepostojanje barijera za pristup. Tipičan L1 lanac u sebi sadrži sve slojeve arhitekture koje smo pomenuli u prvom delu teksta.
Glavna mana L1 blokčejna je skalabilnost. Sa rastom broja korisnika na lancu dolazi do zagušenja jer mreža nema kapacitet da reši sve zahteve u realnom vremenu. To se naročito ogleda u PoW mehanizmu u kom se rešavanjem kriptografskih šifri validiraju transakcije. No, ni sam prelazak na PoS ne rešava pitanje skalabilnosti u meri koja je lancima prvog nivoa potrebna. Jedan od načina za poboljšanje propusnog opsega mreže je sharding, o čemu smo ranije pisali.
Inače, postojanje problema skalabilnosti L1 mreža izrodilo je čitav ekosistem rešenja koja obitavaju na narednom nivou.
Layer 2
Nivo u potpunosti posvećen lečenju nedostatka skalabilnosti prethodnog sloja uz (idealno bi bilo) očuvanje decentralizacije i bezbednosti. Posledično dovodi do bržeg, masovnijeg i jeftinijeg izvršavanja transakcija.
Postoji više pristupa kojim L2 lanci skaliraju transakcije sa L1. Gotovo čitav jedan tekst smo posvetili zero-knowledge rollup-ovima koji su jedna od varijanti L2 modela. Druga verzija su optimistični rollup-ovi i detljnija komparacija ovih tehnologija se takođe nalazi na prethodnom linku.
Pristupa za skaliranje blokčejna ne manjka pa tako imamo plazma lance, state channel-e, sidechain-ove koji u praksi često dolaze sa određenim kompromisima, ponekad žrtvujući bezbednost, ponekad decentralzaciju u određenoj meri.
Layer 3
Volstrit. Las Vegas. Pijaca. Praktična vrednost blokčejna za najveći broj korisnika. Paleta različitih aplikacija za još različitije svrhe. DeFi menjačnice i lending protokoli, igre, “jpeg sličice” od 300k dolara i još štošta. Zanimljivo je da na ovom nivou postoje aplikacije koje mogu da kreiraju sopstvene blokčejnove, tzv. appchains.
Kako mašte u svetu blokčejnu tehnologije ne manjka, rađaju se ideje ka razvoju Layer 3 ekosistema koji skaliraju već skalirano i drastično povećavaju broj transakcija u jedinici vremena. Jedan od prototipova takve ideje, takozvani hiperčejn najavljen je iz zkSync kuhinje. No, različita su viđenja, za neke je to treći sloj, za neke i dalje drugi. Za treće nešto između.
A možda se nekad stvara i bespotrebna presija da se sve definiše. A opet, Vitalik je još pre godinu dana pomenuo i L4.
Konfuzno? Verovatno i dalje pomalo. Zabavno? Veoma.