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

Tehnologija

Modrić, papige i printeri znaju da nas roboti neće zamijeniti

Poplava GPT-4 gurua i Microsoft vs Google utrke stvara dojam friške revolucije, no umjetna inteligencija već desetljećima skriva iste kosture u ormaru. Dobrih ideja i rješenja ima mnogo. Lovaca u mutnom vjerojatno i više. Pitanje je samo - tko će biti glasniji?

Društvene mreže

Sve više mama-influencerica skriva lica svoje djece s interneta. I to je ispravna odluka.

Djeca influencera i djeca influenceri koja su odrasla na internetu danas na pragu zrelosti osvještavaju da im se zapravo nije sviđalo djetinjstvo pred kamerama i u suradnjama s brendovima. Ujedno je i sve više i daleko ozbiljnijih situacija gdje iskorištavanje djece na internetu graniči s kaznenim djelima.

Panel

Tri godine poslije pandemije: Jesmo li doista promijenili modele rada ili smo se vratili u urede?

Globalni tehnološki divovi skoro pa na silu vraćaju zaposlenike u urede, jesu li domaće IT tvrtke prigrlile fleksibilnost analiziramo uz primjere iz Photomatha, Combisa, Endave i Ars Future...

Što ste propustili

Intervju

Andrea Knez Karačić: Broj godina iskustva ne određuje nečiji senioritet

U seriji intervjua s iskusnim inženjerima domaće IT industrije otkrivamo kako su izgledali njihovi karijerni putovi, kako se postaje senior i ostaje u tijeku s novim tehnologijama, je li bolje specijalizirati se za određenu tehnologiju ili biti generalist i - što bi savjetovali juniorima.

Panel

Je li doktorski studij korak na koji se isplati odvažiti – dok radite?

Ivan, Petar, Tomislav i Goran iz Poslovne inteligencije opisali su nam svoj put do doktorske titule: zašto su upisali doktorski studij, što im je pomoglo kad je bilo najteže te koliko im je na kraju donio znanja koja danas mogu koristiti na poslu.

Mobilne aplikacije

Zašto (i) Spotify želi postati TikTok?

Spotify je najavio velike promjene unutar aplikacije koje narušavaju korisničko iskustvo samog slušanja glazbe. Zašto se podigla tolika prašina, što nam donose nove funkcionalnosti i hoće li Spotify izgubiti vjerne korisnike?

Digitalni marketing

ChatGPT je novi makretinški mesija. Ili?

Svake godine, a ponekad, ako smo dovoljno dobri, i dva puta godišnje pojavi se novi mesija marketinga koji je došao odagnati apsolutno sve naše marketinške muke, promijeniti svijet marketinga i dati nam odrješenje svih naših marketinških grijeha. Trenutno, po nekima, to je ChatGPT.

Tvrtke i poslovanje

Hrvatska platforma GameBoost osigurala 2 milijuna eura od Fil Rouge Capitala i Feelsgooda

GameBoost planira pobijediti globalnu konkurenciju u ponudi gaming usluga poput treniranja igrača i zajedničkog igranja u popularnim online multiplayer video igrama. Korak bliže tome dovodi ih nova investicijska runda.

Novost

Infobip imenovao Richarda Krasku na mjesto financijskog direktora

Richard Kraska je iskusni financijski stručnjak, koji je prije dolaska u Infobip obnašao dužnosti financijskog direktora u nekoliko brzorastućih softverskih tvrtki.