Po čemu se arhitektura web 3.0 aplikacija razlikuje od web 2.0?
Džambo film

Po čemu se arhitektura web 3.0 aplikacija razlikuje od web 2.0?

Mislav Tomić, suvlasnik, suosnivač i COO tvrtke Blank, suosnivač projekta dobartek.hr te Endemica, hrvatskog NFT "marketplacea" na mreži Aurora, pojasnio je developerima na konferenciji The Geek Gathering razliku u arhitekturi web 3.0 i 2.0 aplikacija.

“Mnogi developeri ne znaju ili ne shvaćaju što su aplikacije na blockchainu, a i zabrinuti su hoće li njihovo web 2.0 znanje biti suvišno, ako sve zamijeni web 3.0″, naveo je razloge iza načina na koji je koncipirano njegovo predavanje. S obzirom na njegovu posjećenost, tema je to koja kopka mnoge koji se bave razvojem aplikacija.

Arhitektura web 2.0 aplikacija

Na početku je, stoga, Mislav prikazao osnovnu arhitekturu jedne web aplikacije, koja je mnogima poznata.

Frontend(s)

Backend service(s)

Data Storage

    • Baze podataka
    • File storage

Communication protocol, koji se koristi za komunikaciju među komponentama

    • HTTP REST API
    • graphQL
    • MQ

Kako se u tu sliku uklapa web 3.0?

Prije no što je prešao na arhitekturu web 3.0 aplikacija, Mislav je dao mali uvod u svijet ulančanih blokova. Opisao ga je kao distribuiranu glavnu knjigu (ledger) koju ne održava kakav centralni entitet/server, nego distribuiran sustav koji se dogovara oko ispravnosti podataka. Samim time je blockchain struktura podataka koja kontinuirano raste, na nju se dodaju blokovi koji su sigurno povezani korištenjem kriptografije. Zahvaljujući hashovima ne može se mijenjati povijesni zapis jer u slučaju takve promjene cijeli lanac prestane funkcionirati.

Mislavovo predavanje privuklo je mnoge developere na konferenciji The Geek Gathering. Džambo film

Objasnio je i osnovne karakteristike blockchaina, poput decentraliziranosti, distribuiranosti, transparentnosti, javnosti, transakcije su provjerljive i zapisane, sprječava duple transakcije, lako je potvrditi vlasništvo… A tu su i pametni ugovori, glavna stvar koja razlikuje Bitcoin i Ethereum.

Ethereum adrese (računi) dijele se na externally owned adresu (vlasnik je osoba ili računalo, poznat je privatni ključ, služi za iniciranje transakcija ili održavanje stanja tokena) i adresu koja sadrži pametni ugovor – odnosno, komad koda/program koji može kreirati pametne ugovore. Riječ je o programu u kojemu je ugrađena logika kojom se definira što se događa ako na tu adresu stignu tokeni.

Program se izvršava na blockchainu, održavaju ga nodovi, odnosno čvorovi. Kad transakcija stigne na ugovor, čvorovi provjeravaju što će se dogoditi. Ethereum je, samim time, decentralizirana mreža u kojoj su transakcije okidači za promjenu stanja.

Ovaj je uvod bio potreban da se naglasi kako je za web 3.0 aplikacije prvo potrebno izraditi pametne ugovore, a potom slijedi frontend.

Kako izgleda frontend web 3.0 aplikacija?

Web frontend najčešće se izrađuje koristeći neki od JS frameworka. Izgradnja frontenda za ovakve aplikacije identična je web 2.0 aplikacijama, osim spajanja na ugovor i libraryja koji pomaže u pripremi transakcija.

U ovom koraku, arhitektura stranice izgleda ovako:

Frontend

    • Standard JS framework
    • Sending transactions
    • Contract ABI (Application Binary Interface)
    • Library
      • Ethers.js
      • Web3.js

Ono što nedostaje su čvorovi (nodeskoji održavaju ledger distribuiranim, ali održavaju i komunikacijske hubove. Uz pomoć ABI-ja konstruira se transakcija, a uz pomoć JSON RPC protokola poziva se funkcija na pametnom ugovoru.

Kako doći do čvora? Opcije su ili self hosted ili vanjski davatelji usluga (Infura, Alchemy, Quicknode).

Wallet, potreban za potpisivanje

Da bi se mogla potpisati transakcija, potrebni su softveri za digitalni novčanik, wallet. Na frontendu se priprema transakcija, potom se ona šalje u novčanik koji pravi potpis s privatnim ključem korisnika. To se šalje u čvor koji prosljeđuje informaciju u pametni ugovor. Neki od softvera za digitalni novčanik, koji se mogu koristiti za ovu svrhu, su MetaMask ili Wallet Connect.

Problem spremanja i pretraživanja zapisa

Spremanje podataka na blockchain je skupo – čitanje podataka je besplatno, ali svaka promjena stanja košta. Iz tog se razloga izbjegava spremanje veće količine podataka, a najpopularnije rješenje koje tome može pomoći je IPFS (InterPlanetary File System), pojasnio je Mislav. Primjer korištenja IPFS-a su NFT-ovi (samo link na sliku je zapisan na blockchainu, a one su pohranjene negdje drugdje).

Kako funkcionira query? Odnosno, kako dobiti listu svih transakcija koje su se događale? Mislav je otkrio nekoliko trikova. U blokovima su zapisane transakcije, ali kako je zapisa mnogo, prolaženje kroz sve njih nije efikasno. U svijetu Ethereuma osim transakcija postoji i koncept događaja – oni se zapisuju u blok uz transakcije. Puno upita koji se šalju na čvorove košta, a i sporo je, stoga je efikasniji koncept koji se zove indekser. On skenira blockchain i sprema podatke u formatiranom obliku koji nam odgovara na takozvanom off-chainu.

Standardni pristup je protokol koji se zove The Graph koji je napravio indekser. Pomoću njega može se definirati model podataka koji želite pratiti, kao i što želite pratiti, a The Graph sve sprema. Dobiva se baza podataka iz koje se može izvući sve što se dogodilo na blockchainu.

Najčešća su rješenja – hibridna

Ovaj zadnji primjer pokazuje da postoji niz međurješenja za proizvode na blockchainu. Mislav je naveo nekoliko poznatih proizvoda i objasnio koji od njih su potpuno centralizirani, a koji – nimalo. Tako je Binance potpuno centraliziran, Uniswap je potpuno decentraliziran, dok je OpenSea hibridno rješenje – samo se trgovanje NFT-ovima odvija kroz blockchain, dok su slike pohranjene negdje drugdje.

“Najčešće i najbolje rješenje, ovisno o situaciji, je kroz hibridan pristup. Informacije koje su osjetljive i sama logika ostaju na blockchainu, a ostalo ide centralizirano na backend servise”, zaključio je na kraju svog predavanja Mislav.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Umjetna inteligencija

Europa gradi AI tvornice vrijedne milijarde eura. Zašto Hrvatska nema nijednu?

Hrvatska će izdvojiti 39 milijuna eura za AI tvornicu, ali ta "domaća" tvornica inteligencije možda uopće neće biti izgrađena u Hrvatskoj.

Umjetna inteligencija

AI krade tekstove, ignorira pravila interneta i zakone

Umjetna inteligencija olakšala je krađu sadržaja u digitalnom svijetu. Kako se boriti protiv agregatora koji se predstavljaju kao news portali, ali ne poštuju pravila prenošenja i izdavačima uskraćuju pravednu naknadu, pitali smo prvog čovjeka HUDI-ja.

Umjetna inteligencija

CTO Netlifya: Više ćeš naučiti izradom 30 nesavršenih aplikacija nego tutorijalom

Umjetna inteligencija toliko je snizila prag za razvoj softvera da je najbolji način učenja postalo baciti se na posao, izrađivati i objavljivati nesavršene aplikacije te ih usput poboljšavati, smatra Dana Lawson, tehnološka direktorica Netlifyja.

Što ste propustili

Umjetna inteligencija

CTO Netlifya: Više ćeš naučiti izradom 30 nesavršenih aplikacija nego tutorijalom

Umjetna inteligencija toliko je snizila prag za razvoj softvera da je najbolji način učenja postalo baciti se na posao, izrađivati i objavljivati nesavršene aplikacije te ih usput poboljšavati, smatra Dana Lawson, tehnološka direktorica Netlifyja.

Veliki intervjui

Muška usamljenost – kako je prepoznati i ne produbljivati u IT kolektivima?

Najopasnija rečenica u muškoj ekipi glasi : "Sve pet”, a koliko često samo to čujete? Skoro svaki dan! Kad je ona znak za alarm, što to muškarci ne razumiju jedni o drugima te kako u IT kolektivima nehotično ne njegovati toksičnost, razgovaramo sa Sandrom Kraljevićem.

Turizam

Hrvatski hoteli gube prihod zbog loših web stranica i digitalnog iskustva

Hoteli ne iskorištavaju potencijal svog najvažnijeg prodajnog kanala, dapače, ne doživljavaju ga i gube prihode. Benefite iz programa vjernosti nude prekasno, a eure iz džepa izbija im i komplicirani booking engine. Na čemu bi trebali poraditi hrvatski hoteli, piše u svojoj kolumni Domagoj Razum, direktor poslovanja u Laurisu by BID.

Umjetna inteligencija

Tekstovi će imati oznaku koja odaje jesu li pisani pomoću AI-ja

Tekst generiran Claudeom imat će nevidljivi vodeni žig koji bi trebao preživjeti copy/paste, nova pravila vrijedit će i za datoteke. Iako je to način da se AI div uskladi s europskim regulativama o transparentnosti, učinak je vrlo upitan.

Umjetna inteligencija

OpenAI-jev Luis Velasco dolazi na Infobip Shift u Zadru

OpenAI na Infobip Shift ove godine prvi put šalje svog predstavnika. Luis Velasco, forward deployed engineer u OpenAI-ju, u Zadru će govoriti o AI agentima i novoj fazi razvoja umjetne inteligencije.

Analiza

Procurili podaci 88.000 hrvatskih građana: Što hakeri mogu napraviti s OIB-om i JMBG-om?

Podaci 88 000 hrvatskih građana preuzetih iz hrvatskih pravosudnih sustava objavljeni su na internetu i može ih se besplatno preuzeti. Što je točno objavljeno i ima li razloga za paniku?