Ne, pokretanje decentralizirane aplikacije (dapp) na blockchainu neće dovesti do uspješnog poslovanja. Zapravo, većina korisnika niti ne razmišlja o tome radi li aplikacija na blockchainu - oni jednostavno izaberu proizvod koji je jeftiniji, brži i jednostavniji.
Nažalost, čak i ako blockchain ima svoje vlastite jedinstvene značajke i prednosti, većina aplikacija koje rade na njemu puno su skuplje, sporije i manje intuitivne od svojih centraliziranih konkurenata.
Vrlo često u whitepaperima aplikacija koje su izgrađene na blockchainu možete pronaći odlomak koji kaže: "Blockchain je skup i ne može podržati potreban broj transakcija u sekundi. Srećom, mnogi pametni ljudi rade na skaliranju blockchaina i do trenutka kad se naša aplikacija pokrene, postat će prilično skalabilna.”
U jednom jednostavnom odlomku, programer dappa može odustati od dublje rasprave o problemima skalabilnosti i alternativnim rješenjima problema. To često dovodi do neučinkovite arhitekture u kojoj pametni ugovori koji se izvode na blockchainu služe kao pozadina i jezgra aplikacije.
Međutim, još uvijek postoje neprovjereni pristupi decentraliziranoj arhitekturi aplikacija koji omogućuju mnogo bolju skalabilnost smanjenjem ovisnosti o blockchainu. Na primjer, Blockstack radi na arhitekturi u kojoj se većina podataka i logike aplikacije pohranjuje izvan lanca.
Pogledajmo najprije tradicionalniji pristup, koji koristi blockchain kao izravnog posrednika između korisnika aplikacije i koji se ne mjeri osobito dobro.
Pristup #1: Blockchain kao backend
Da stvar bude jasnija, uzmimo hotelsku industriju kao primjer. Ovo je velika industrija u kojoj posrednici poput Booking.com,
U svakoj situaciji u kojoj želimo poraziti takvog posrednika koristeći ovaj pristup, pokušat ćemo replicirati njegovu poslovnu logiku koristeći pametne ugovore na blockchainu kao što je Ethereum.
Pametni ugovori otvorenog koda koji se izvode na "svjetskom računalu" mogu povezati trgovce s potrošačima bez treće strane između, čime se u konačnici smanjuju naknade i provizije koje naplaćuje posrednik.
Kao što je prikazano na slici ispod, hoteli koriste decentraliziranu aplikaciju za objavljivanje na blockchainu informacija o sobama, njihovoj dostupnosti i cijenama radnim danima ili vikendima, a možda čak i opis soba sa svim drugim relevantnim informacijama.
Svatko tko želi rezervirati sobu koristi ovu aplikaciju za traženje hotela i soba hostiranih na blockchainu. Nakon što korisnik odabere sobu, rezervacija se vrši slanjem potrebne količine tokena u hotel kao polog. I kao odgovor, pametni ugovor ažurira informaciju u blockchainu da broj više nije dostupan.
Postoje dvije strane problema skalabilnosti kod ovog pristupa. Prvo, najveći broj transakcija u sekundi. Drugo, količina podataka koja se može pohraniti na blockchain.
Napravimo grube izračune. Booking.com kaže da kod njih ima registrirano gotovo 2 milijuna hotela. Recimo da prosječan hotel ima 10 soba i svaka je rezervirana samo 20 puta godišnje - to nam daje prosječno 13 rezervacija u sekundi.
Da bismo ovu brojku stavili u perspektivu, vrijedno je napomenuti da Ethereum može obraditi približno 15 transakcija u sekundi.
Istodobno, vrijedi uzeti u obzir da će naša aplikacija također sadržavati transakcije iz hotela - za preuzimanje i stalno ažuriranje informacija o njihovim sobama. Hoteli ažuriraju cijene soba vrlo često, ponekad čak i svakodnevno, a svaka promjena cijene ili opisa zahtijeva transakciju na blockchainu.
Ovdje također postoje problemi s veličinom - težina Ethereum blockchaina nedavno je prešla granicu od 2TB. Kad bi aplikacije s ovim pristupom postale doista popularne, Ethereum mreža bi postala iznimno nestabilna.
Takav sustav temeljen na blockchainu može isključiti autsajdere zbog svoje nepristranosti i nedostatka centralizacije, glavnih prednosti blockchain tehnologije. Ali blockchain ima i druge značajke - distribuira se i ne prepisuje, to su izvrsne karakteristike, ali za njih morate platiti brzinom i provizijom transakcija.
Stoga, programeri dappa moraju pažljivo procijeniti treba li svaka značajka koja koristi blockchain doista distribuciju i mogućnost pisanja.
Na primjer: koja je korist od distribucije podataka svakog hotela na stotine strojeva diljem svijeta i njihovog trajnog pohranjivanja? Je li doista važno da povijesni podaci o cijenama soba i dostupnosti uvijek budu uključeni u blockchain? Vjerojatno ne.
Ako počnemo postavljati pitanja poput ovih, počet ćemo uviđati da nam nisu nužno potrebne sve skupe značajke blockchaina za sve naše funkcije. Dakle, koja je alternativa?
Pristup #2: Arhitektura inspirirana Blockstackom
Iako je glavni naglasak
Lijevo: prvi pristup, u kojem korisnici komuniciraju putem blockchaina. Desno: Korisnici izravno komuniciraju jedni s drugima, a blockchain se koristi samo za identifikaciju i slično.
Vratimo se primjeru rezervacije hotela. Želimo nepristran, neovisan i otvoren protokol za povezivanje gostiju s hotelima. Drugim riječima, želimo ukloniti centraliziranog posrednika. Ne trebamo, na primjer, stalno pohranjivati cijene soba u zajedničkoj distribuiranoj knjizi.
Zašto jednostavno ne bismo omogućili gostima i hotelima izravnu interakciju umjesto putem blockchaina. Hoteli mogu pohraniti svoje cijene, raspoloživost soba i bilo koje druge podatke negdje gdje će biti dostupni svima - na primjer, IPFS, Amazon S3 ili čak vlastiti lokalni poslužitelj. To je upravo ono što je Blockstackov decentralizirani sustav pohrane nazvao
Kako bi se uspostavilo povjerenje, sve hotelske podatke kriptografski potpisuje sam hotel. Bez obzira na to gdje su ti podaci pohranjeni, njihov se integritet može provjeriti pomoću javnih ključeva povezanih s identitetom tog hotela koji su pohranjeni na blockchainu.
U slučaju Blockstacka, samo su vaši podaci o identitetu pohranjeni na blockchainu. Informacije o tome kako dobiti podatke svakog korisnika pohranjuju se u zonskim datotekama i distribuiraju kroz peer-to-peer mrežu pomoću čvorova. I još jednom, ne morate vjerovati podacima koje čvorovi daju, jer možete provjeriti njihovu autentičnost uspoređujući ih s hashovima koji su pohranjeni u blockchainu i drugim korisnicima.
U pojednostavljenoj verziji sustava, gosti će koristiti Blockstack peer-to-peer mrežu za traženje hotela i dobivanje informacija o njihovim sobama. Autentičnost i integritet svih podataka koje primite može se provjeriti korištenjem javnih ključeva i hashova pohranjenih u
Ova je arhitektura složenija od prvog pristupa i zahtijeva sveobuhvatniju infrastrukturu. Zapravo, upravo tu nastupa Blockstack, koji osigurava sve potrebne komponente za stvaranje takvog decentraliziranog sustava.
S ovom arhitekturom pohranjujemo samo podatke na blockchainu koji se zapravo trebaju distribuirati, a ne prebrisati. U slučaju Blockstacka, potrebne su vam samo transakcije na blockchainu da biste se registrirali i odredili gdje bi vaši podaci trebali biti pohranjeni. Možda ćete morati izvršiti više transakcija ako želite promijeniti bilo koju od ovih informacija, ali ovo se ne ponavlja.
Štoviše, logika aplikacije, za razliku od prvog pristupa, radi na strani klijenta, a ne na pametnim ugovorima. To razvojnom programeru omogućuje promjenu ove logike bez skupih ili ponekad čak nemogućih ažuriranja pametnih ugovora. A držanjem podataka aplikacije i logike izvan lanca, decentralizirane aplikacije mogu postići razinu performansi i skalabilnosti tradicionalnih centraliziranih sustava.
Zaključak
Aplikacije koje rade na Blockstacku mogu se skalirati puno bolje od konvencionalnih blockchain aplikacija, ali to je mlađi pristup sa svojim problemima i neodgovorenim pitanjima.
Na primjer, ako decentralizirana aplikacija ne radi na pametnim ugovorima, to smanjuje potrebu za uslužnim tokenima. To bi moglo uzrokovati probleme tvrtkama s obzirom na to da su ICO glavni izvor financiranja za decentralizirane aplikacije (uključujući sam Blockstack)
Ovdje ima i tehničkih problema. Na primjer, relativno je jednostavno implementirati funkciju hotelske rezervacije u pametnom ugovoru, gdje se u atomarnoj operaciji vrše rezervacije soba u zamjenu za tokene. I nije baš očito kako će rezerviranje funkcionirati u Blockstack aplikaciji bez pametnih ugovora.
Aplikacije koje ciljaju na globalna tržišta s potencijalom za milijune korisnika moraju se jako dobro skalirati da bi bile uspješne. Pogrešno je oslanjati se isključivo na lance blokova za postizanje ove razine skalabilnosti u bliskoj budućnosti. Kako bi se mogli natjecati s velikim centraliziranim tržišnim igračima kao što je Booking.com, programeri decentraliziranih aplikacija trebali bi razmotriti alternativne pristupe dizajniranju svojih aplikacija, poput onog koji nudi Blockstack.
Izvor: www.habr.com