Razumijevanje decentraliziranih aplikacija
Standardne web-aplikacije rade na računalnom sustavu koji je u vlasništvu i pod upravom organizacija, dajući im punu ovlast nad aplikacijama i njihovim radom. Može postojati više korisnika na jednoj strani, ali pozadinu uvijek kontroliraju organizacije.
DApp-i mogu raditi na P2P mreži ili blockchain mreži. Više sudionika konzumira sadržaj, unosi ili dijeli sadržaj ili istovremeno obavlja obje funkcije.
U kontekstu kriptovaluta, dApp-i rade na blockchain mreži u javnom, decentraliziranom okruženju otvorenog koda i slobodni su od kontrole i uplitanja bilo koje vlasti. Programer može stvoriti dApp sličan Twitteru i staviti ga na blockchain, gdje svaki korisnik može objavljivati poruke. Nakon objavljivanja, nitko, pa ni kreatori te aplikacije, ne može izbrisati objavljene poruke.
Ethereum dApp-i
Ethereum je fleksibilna platforma za stvaranje novih dApp-a, pružajući infrastrukturu potrebnu razvojnim programerima da usmjere svoje napore na pronalaženje inovativnih upotreba za digitalne aplikacije. To bi moglo omogućiti brzu implementaciju decentraliziranih aplikacija u raznim industrijama, uključujući bankarstvo i financije, igre, društvene mreže i online kupnju. Ethereum dApp-i koriste pametne ugovore za svoju logiku. Oni su raspoređeni na Ethereum mreži i koriste blockchain platforme za pohranu podataka.
Razlike između centraliziranih i decentraliziranih aplikacija
Neka centralizirana aplikacija u vlasništvu je jedne tvrtke. Aplikacijski softver za takvu centraliziranu aplikaciju nalazi se na jednom ili više poslužitelja koje kontrolira tvrtka. Korisnik komunicira s aplikacijom preuzimanjem njezine kopije, a zatim slanjem i primanjem podataka naprijed i natrag s poslužitelja tvrtke.
Decentralizirana aplikacija radi na blockchainu ili peer-to-peer mreži računala. Omogućava korisnicima da se uključe u transakcije izravno jedni s drugima, za razliku od oslanjanja na neko središnje tijelo. Korisnik dApp-a programeru plaća određeni iznos kriptovalute za preuzimanje i korištenje izvornog koda programa. Izvorni kod poznat je kao pametni ugovor i korisnicima omogućava dovršavanje transakcija bez otkrivanja osobnih podataka.
Primjeri centraliziranih i decentraliziranih aplikacija
Dobro poznati primjeri centraliziranih aplikacija jesu Twitter, Facebook, Instagram i Netflix. Banke i druge financijske institucije koriste centralizirane aplikacije kako bi svojim klijentima omogućile online pristup njihovim računima.
Peepeth, društvena mreža koja je alternativa Twitteru, primjer je decentralizirane aplikacije. Cryptokitties je dApp igra koja korisnicima omogućava kupnju i prodaju virtualnih mačaka. MakerDAO decentralizirana je kreditna usluga koja podržava stablecoin Dai i omogućava korisnicima otvaranje kolateralizirane dužničke pozicije (CDP-a).
Prednosti dApp-a
Mnoge prednosti dApp-a usredotočene su na sposobnost programa da zaštiti privatnost korisnika. S decentraliziranim aplikacijama korisnici ne moraju slati svoje osobne podatke da bi koristili funkciju koju neka aplikacija pruža. DApp-i koriste pametne ugovore za dovršetak transakcije između dvije anonimne strane, bez potrebe za oslanjanjem na središnje tijelo.
Zagovornici zainteresirani za slobodu govora ističu da se dApp-i mogu razviti kao alternativne platforme društvenih medija. Decentralizirana platforma društvenih medija bila bi otporna na cenzuru jer nijedan sudionik na blockchainu ne bi mogao brisati poruke ili blokirati njihovo objavljivanje.
Nedostaci dApp-a
Korištenje dApp-a još je u ranoj fazi, stoga je eksperimentalno i podložno određenim problemima i nepoznanicama. Postoje dvojbe hoće li se aplikacije moći učinkovito skalirati, osobito ako zahtijevaju značajna izračunavanja i preopterećuju mrežu, uzrokujući njezino zagušenje.
Sposobnost razvijanja korisničkog sučelja još je jedna briga. Većina korisnika aplikacija koje su razvile tradicionalne centralizirane institucije očekuje jednostavnost upotrebe koja ih potiče na korištenje i interakciju s aplikacijom. Poticanje ljudi da prijeđu na dApp-e zahtijevat će od razvojnih programera da stvore iskustvo krajnjeg korisnika i razinu performansi koja se može mjeriti s već popularnim i etabliranim programima.
Izazov modificiranja koda još je jedno ograničenje dApp-a. Nakon implementacije dApp će vjerojatno trebati stalne promjene u svrhu poboljšanja ili ispravljanja grešaka ili sigurnosnih rizika. Prema Ethereumovom timu, razvojnim programerima može biti teško izvršiti potrebna ažuriranja dApp-a jer je teško modificirati podatke i kod objavljene u blockchainu.