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

Veliki intervjui

Upoznajte Hrvata koji je napravio nastavak Tetrisa (i dobio blagoslov originalnog tvorca)!

Nevjerojatne priče ne susrećemo svaki dan, a upravo vam donosimo jednu takvu koja se kuhala 12 godina na dva kontinenta, u čijem se središtu nalazi nastavak jedne od najpoznatijih igara ikada napravljenih.

Obrazovanje

Maturanti, pazite koje AI alate koristite za pripremu mature, nisu svi pouzdani…

Jeste primijetili kako je sve više raznih AI alata koji obećavaju uspjeh u školi i pomoć na maturi? Iako imamo pozitivne primjere, nisu svi od povjerenja.

Analiza

Kad im USB-om procure podaci milijun građana – javne institucije mogu proći bez sankcija?!

Sa stručnjacima raspravljamo o nedavnom curenju podataka vlasnika svih registriranih vozila u Hrvatskoj i zašto je ono problematično na više razina. Može li ovaj slučaj biti poruka javnim institucijama za ubuduće?

Što ste propustili

Veliki intervjui

“Kao Engineering Manager nisam izgubio dodir s inženjerstvom, naprotiv – naučio sam još više”

Kako izgleda posao Engineering Managera kad radiš za tvrtku koja nezaustavljivo raste saznali smo od Antonia Krističevića. Prošle je godine postao EM u Fonoi, tvrtki koja je prva na svijetu razvila cloud platformu za automatizaciju obračuna poreza na globalnoj razini.

Digitalni mediji

Uloženo je 280 milijuna eura u digitalno oglašavanje u Hrvatskoj u 2023. godini

Hrvatska udruga digitalnih izdavača (HUDI) objavila je rezultate najnovijeg istraživanja HUDI Digitalni AdEx za 2023. godinu.

Startupi

Kako vam HR i financije olakšavaju rast, otkriva Infobipov CBO

Infobipov Chief Business Officer Ivan Ostojić podijelio je iskustva iz procesa skaliranja hrvatskog jednoroga te što im je pomoglo da rast učine održivim.

Startupi

Stižu bolja vremena za SaaSove! Paddleov CMO savjetuje kako ih iskoristiti

Od Paddleovog Chief Marketing Officera na konferenciji SaaStanak 2024 saznali smo kako prebroditi ova neizvjesna vremena na tržištu.

Startupi

Što smo dosad saznali o hrvatskim SaaS tvrtkama? 60% ispitanika navodi da su profitabilni!

Polovica hrvatskih SaaS tvrtki iz istraživanja postoji manje od 5 godina, otprilike jednako toliko ih ima manje od 1 milijun eura ponavljajućeg godišnjeg prihoda (ARR), a 80 % njih ima manje od 50 zaposlenih.

Novost

Korisnici Revoluta u Hrvatskoj od sada mogu ulagati i u obveznice

Revolut, financijska aplikacija s više od 40 milijuna korisnika diljem svijeta, svojoj je investicijskoj ponudi u Hrvatskoj dodala obveznice.