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

Infobip ❤️ Netokracijašto akvizicija znači za vas - i nas?

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

Novost

Što se događa u tech industriji? Masovna otpuštanja, kripto-burza propala preko noći, a tek Twitter…

Malo je reći kako ovaj tjedan nije bio dobar za IT industriju. Zapravo, poprilično je kaotičan i čini se kako stabilnost neće doći uskoro...

Zabava i zanimljivosti

Marin u San Franciscu: TechCrunch Disruptom kruže roboti, na Golden Gateu nema signala

"I Left My Heart In San Francisco" pjevao je kultni američki pjevač Tony Bennett. Mogu li ja uskliknuti isto? Ne baš, ali San Francisco je grad koji će mi definitivno ostati u sjećanju do kraja života...

Društvene mreže

Gdje ćemo se družiti i raspravljati ako propadne Twitter?

Bilo da vas brine koliko dugo će još Twitter funkcionirati (što nije čudo s obzirom na svakodnevne vijesti o zbunjujućim poslovnim potezima) ili da ne želite biti dio Muskovog Twittera, evo što se nudi od alternativa.

Što ste propustili

Intervju

Hrvatski Meddox digitaliziranjem zdravstvenih nalaza privukao 10 tisuća aktivnih korisnika

Novi hrvatski healthtech projekt grabi naprijed. U prvoj godini, nakon investicije od 1,5 milijun kuna, došli su do 10 tisuća aktivnih korisnika, a za iduću godinu im je plan doći do 50 tisuća. Što ih čeka prije toga i kako su došli do trenutnih rezultata, otkrivaju nam suosnivačice.

Tvrtke i poslovanje

Engineering Management lekcije o Performance Managementu: kako izvući maksimum iz svog tima?

Ako ste vodili ljude, na pamet vam sigurno često padne ona poznata: sto ljudi - sto ćudi. A vi ste jedan menadžer! Kako izbalansirati različit učinak, očekivanja i mogućnosti kolega u timu otkrivamo ususret posljednjeg Photomathovog Engineering Management meetupa ove godine.

Tvrtke i poslovanje

Može li softver doista pomoći zviždačima koji upozoravaju na nepravilnosti u tvrtkama? Da, ali…

Iako može igrati važnu ulogu u poticanju prijava nepravilnosti i zaštiti identiteta, softver ne može riješiti ključne probleme s kojima se zviždači susreću.

Tehnologija

Zašto svaki NBA klub zapošljava podatkovne znanstvenike? Ispričat će Iztok Franko na Advanced Technlogy Days

Što stručnjak za digitalni marketing radi kao predavač na konferenciji koja se zove Advanced Technology Days? I kakve veze s tim ima košarka?

Digitalni marketing

Maja Bilić iz Googlea savjetuje kako se pripremiti za ukidanje kolačića treće strane

U novoj epizodi Netokracijinog podcasta ugostila sam - svoju sestru! Ne samo jer mi je sestra :D, nego jer je Maja odlična sugovornica na temu o kojoj intenzivno razmišljaju svi koji se bave digitalnim marketingom, e-commerceom ili rade u digitalnim medijima.

Društvene mreže

Gdje ćemo se družiti i raspravljati ako propadne Twitter?

Bilo da vas brine koliko dugo će još Twitter funkcionirati (što nije čudo s obzirom na svakodnevne vijesti o zbunjujućim poslovnim potezima) ili da ne želite biti dio Muskovog Twittera, evo što se nudi od alternativa.