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

Kolumna

Od Yahooa do ChatGPT-ja: Strategije uspjeha na tražilicama koje vrijede i danas

Neke strategije za pozicioniranje na internetskim tražilicama još funkcioniraju i nakon 10 godina. U ovom povratku u prošlost, prisjećamo se raznih praksi, što se od njih zadržalo, a što ne - te što je novo ušlo u igru...

Tehnologija

Tomislav Tipurić uoči ATD-a: Moramo poraditi na promjeni definicije junior developera

Uoči 18. konferencije Advanced Technology Days porazgovarali smo s osobom zaduženom za program, Tomislavom Tipurićem, o svemu što ne smijete propustiti na samom događaju, a i u svijetu tehnologije posljednjih godina i dana. Naravno, AI je neizostavna tema.

Netokracija Podcast

Ovo je email strategija kojom je Burazin privukao investitore poput direktora Stack Overflowa

U novoj epizodi ulazimo u detalje o: (vjerojatno) najvećoj pre-seed rundi u hrvatski startup; tome kako SAD namjerava kontrolirati AI sustave koji bi mogli napraviti atomsku bombu te zašto osnivača Netokracije Ivana Brezaka Brkana izbacuju iz zagrebačkih kavana?

Što ste propustili

Kolumna

Od Yahooa do ChatGPT-ja: Strategije uspjeha na tražilicama koje vrijede i danas

Neke strategije za pozicioniranje na internetskim tražilicama još funkcioniraju i nakon 10 godina. U ovom povratku u prošlost, prisjećamo se raznih praksi, što se od njih zadržalo, a što ne - te što je novo ušlo u igru...

Tehnologija

Najveća hrvatska luka u Pločama postat će pametna, uz sufinanciranje iz EU od skoro milijun eura

Luka Ploče postat će prva hrvatska pametna luka. Ujedno je ovo jedini projekt iz Hrvatske koji je Europska Komisija odobrila u sklopu fonda 5GSC - od ukupno 14 odobrenih u cijeloj Uniji.

Tvrtke i poslovanje

Bajke u digitalnom svijetu: Pinokio djeci priča o lažnom predstavljanju, a tri praščića o slabim lozinkama

Stotine ljudi podržale su humanitarnu akciju tvrtke Combis i Centra za nestalu i zlostavljanu djecu.

Digitalni mediji

Upoznajte Retriever, platformu FER-ovog TakeLaba koja rudari po 30 domaćih web portala

Retriever zagrebačkog TakeLaba može analizirati milijune članaka objavljenih na hrvatskome u posljednjih 20 godina, a sprema se i na iskorak u regiju. 

Prikaz

Od 1. siječnja država nadzire Wolt, Bolt, Glovo… – što to znači?

Teško je regulirati segment tržišta o kojem nemate konkretnih saznanja, srećom, za tzv. GIG ekonomiju to će se uskoro promijeniti. Više saznajemo u razgovoru s ravnateljom Uprave za rad i zaštitu na radu u Ministarstvu rada, mirovinskoga sustava, obitelji i socijalne skrbi.

Tvrtke i poslovanje

“Infrastruktura kao kod” izazov je s kojim se isplati uhvatiti u koštac, pogotovo za ogromne okoline

Što je sustav veći, to IaC (Infrastructure-as-Code) donosi više prednosti. Kako to izgleda u praksi?