Uvod u blockchain — kako se postiže konsenzus u decentralizovanom sistemu?

Drugi tekst u serijalu posvećenom blockchain tehnologiji.

Nikola Milinković - 11. Decembar, 2017.

U prošlom tekstu smo se upoznali sa osnovnim konceptom blockchaina, glavnom inovacijom koju donosi i videli smo u čemu se razlikuje od klasične baze podataka. Zbog svoje decentralizovane prirode i nepostojanja jednog autoriteta koji upravlja sistemom, poverenje je od ogromnog značaja u jednom ovakvom sistemu. U ovom tekstu ćemo se pozabaviti upravo temom postizanja poverenja i konsenzusa u blockchainu.

Konsenzus i različite metode

Usled činjenice da je u pitanju decentralizovan i raspodeljen sistem, informacije koje se unose na blockchain moraju biti nepromenljive tj. ne smeju se naknadno menjati. Transakcije koje su dodate stoga moraju biti kriptografski zaštićene čime su izmene onemogućene.

Nepromenljivost se često pominje kao karakteristika blockchain tehnologije, jer pravi bitnu razliku u odnosu na uobičajene baze podataka gde informacije možemo da menjamo i brišemo po potrebi. Postavlja se pitanje kako i pod kojim uslovima se ova karakteristika postiže? U tome ujedno leži razlog zašto se ovi sistemi nazivaju i sistemima dokazivanja (systems of proof).

Konsenzus kod blockchaina predstavlja proces kojim su transakcije i njihova evidencija u okviru cele mreže i kod svih učesnika sinhronizovani, kako bi se osiguralo da su knjige ažurirane samo onda kada su verifikovane od strane učesnika i da su ažurirane uvek sa istim transakcijama i u istom redosledu.

Nedostatak poverenja koji je inherentan blockchain sistemima čini okosnicu potrebe za postizanjem konsenzusa u okviru mreže. Zbog toga što jednom uneti podaci u blockchain postaju nepromenljivi i zato što svaki učesnik mreže može da unese nove, neophodno je da se svi koji učestvuju u održavanju mreže (odnosno vrše validaciju) slože pre unosa podataka.

Od velike je važnosti da se prethodno svi podaci provere kroz pronalaženje konsenzusa, zbog toga što učesnici i njihove namere mogu biti nepoznate.

Postoji nekoliko metoda na osnovu kojih se postiže konsenzus u blockchain sistemima. Nesumnjivo je da će novi nastati kroz eksperimente sa velikim brojem kriptovaluta i blockchain sistema kao i da će postojeće metode vremenom biti usavršene. Treba imati u vidu da su izmene i nadogradnje ovih metoda česte.

Dokaz o radu — Proof of Work (PoW)

Ovo je prvi metod postizanja konsenzusa koji je ujedno i najviše korišćen. Kako bi verifikovao “stranicu knjige” odnosno block, učesnik koji održava mrežu — čvor (node) mora da reši veoma kompleksan matematički zadatak.

Svrha rešavanja ovih matematičkih zadataka se krije samo u tome da simulira rad odnosno da uređaj troši električnu energiju. Zauzvrat, čvor je nagrađen određenom količinom kriptovalute uključujući i cenu transakcija. Taj proces predstavlja “mining” tj. rudarenje.

Učesnici mreže bazirane na ovom metodu mogu da odaberu da budu mineri tj. rudari. Utrošak električne energije je ujedno dobar podsticaj za rudare da ne varaju sistem. Jedini način kako bi rudari tj. učesnici koji održavaju mrežu mogli da varaju sistem je sa 51% ukupne računarske snage cele mreže. Čak i tada je nemoguće menjati već unete transakcije i samo je moguće zaustaviti naredne transakcije. Uzevši u obzir količinu kapitala koji je potrebno uložiti, nema nikakve ekonomske logike ići protiv sistema.

Što više računarske snage čvor ima, verovatnije je da će prvi rešiti matematički zadatak, i zauzvrat dobiti nagradu brže. Ovo je ujedno razlog zašto u blockchain sistemima koji su PoW bazirani dolazi do velikog udruživanja (u mining pool).

Ipak ovaj metod ima svoje mane jer što je mreža veća, potrebno je više enegije za potvrđivanje transakcija, više vremena kako bi se transakcije potvrdile što dalje znači manji broj transakcija u sekundi. Ove mane su i razlog zašto se ovaj metod dovodi u pitanje, kao i da li za kriptovalute koje su na njemu bazirane postoji ekomomski smisao da budu korišćene za razmenu. On je ipak najrasprostranjeniji. Te kriptovalute su npr: Bitcoin, Litecoin, Bitcoin Cash, Ethereum, GameCredits i druge.

Prevazilaženje ovih mana odnosno problema koji su inherentni ovom metodu direktno zavisi od sve veće računarske snage uređaja koje ljudi poseduju širom sveta.

Dokaz o ulogu — Proof of Stake (PoS)

Kod ovog metoda ne postoji rudarenje, već kao što naziv kaže postoji dokaz o ulogu. Neki čvorovi će obrađivati transakcije dok će ih drugi potvrđivati. Kako bi se izbegli ili kaznili pokušaji varanja čvorovi moraju da zaključaju jedan deo svojih sredstava u virtuelni sef sa jednostavnim digitalnim potpisom o vlasništvu.

Mreža po sistemu lutrije bira učesnika da potvrdi podatke unete u bazu na osnovu njegovog uloga. U slučaju da čvor pokuša da prevari sistem, njegov ulog će mu biti oduzet. Slično rudarenju, što je veći ulog veće su šanse da taj neko validira blok transakcija i kreira naredni, te samim tim ima više da izgubi ako pokuša da vara. Ovakav sistem je često na meti kritike da je zapravo centralizovan, jer što je neko duže na mreži ima veći udeo, te samim tim ima veću kontrolu nad mrežom.

Najpoznatije kriptovalute bazirane na ovom metodu su: DASH, NEO, PIVX, NXT… Prednosti ovog metoda su što donosi veći broj transakcija u sekundi uz brže potvrđivanje transakcija.

(Praktični) Practical Byzantine Fault Tolerance (PBFT)

PBFT je nazastupljeniji metod postizanja konsenzusa u tzv. industrijskim odnosno privatnim blockchain sistemima i jedno od mogućih rešenja prethodno navedene alegorije.

Ovim metodom svaki učesnik mreže održava svoje interno stanje. Kada dobije poruku od “glasnika” on koristi informacije iz poruke uporedo sa svojim internim stanjem i izvršava operaciju. Izvršena operacija omogućava učesniku da donese zaključak o primljenoj poruci. Nakon toga on deli svoju odluku sa ostalim učesnicima sistema i konsenzus je postignut na osnovu svih odluka koje su učesnici poslali.

Upotrebom ovog metoda se mnogo lakše postiže konsenzus, ali nauštrb anonimnosti. To je razlog zašto ga koriste blockchain sistemi bazirani na članstvu — permissioned. Neki od primera su Hyperledger (Linuxova inicijativa za razvoj industrijskih blokchain sistema sa velikim brojem Fortune 500 kompanija koje su članovi) i Ripple (privatni i zatvoreni blockchain sistem za finansijske transakcije koji trenutno implementiraju mnoge banke).

Delegirani dokaz o ulogu — Delegated Proof of Stake (dPoS)

dPoS je izmislio Dan Larimer, tvorac nekoliko blockchain mreža i kriptovaluta — Steemit, BitShares, EOS. U ovom metodu postoje dve vrste čvorova: svedoci i delegati. Svedoci potvrđuju transakcije i dobijaju isplatu provizije, dok delegati donose odluke o pravilima, provizijama, veličini blokova i drugim karakteristikama. Obe vrste čvorova se biraju na osnovu glasanja većinom i pritom se biraju odvojeno što potencijalno rešava sukob interesa dve strane.

Samo top 20 svedoka su čak plaćeni od strane mreže za svoj rad. Zato što mnogo ljudi želi da budu svedoci, postoje uvek stotine rezervnih. Delegati glasaju i snaga njihovog glasa zavisi od broja tokena odnosno kriptovalute te mreže koju imaju u svom posedu. Konkurencija i veliki broj učesnika koji čeka u redu da budu svedoci doprinosi tome da postoji pritisak na svedoke da što više i posvećeno doprinose mreži. Recimo da neko prestane da doprinosi ili odluči da radi nešto na svoju ruku, zbog stalnog i redovnog glasanja taj učesnik može vrlo lako izgubiti mesto svedoka.

Dokaz o važnosti — Proof of Importance (PoI)

Interesantna verzija PoS metoda kojom svaki učesnik ulaže fiksni iznos svoje valute kako bi postao čvor. Verovatnoća da će njega mreža izabrati da kreira novi blok i dobije nagradu zavisi od dokaza o važnosti na koji direktno utiče to koliko neko zapravo koristi mrežu koja je u pitanju. Veliki broj transakcija velike vrednosti podiže učesniku, odnosno čvoru, ocenu važnosti.

Ovakav metod navodi korišćenje kriptovalute čija je osnova, nagrađuje učesnike koji aktivno doprinose sistemu i daje utisak veće skalabilnosti. Trenutno je poznato da ovaj sistem koristi kriptovaluta NEM.

Tangle*

Tangle trenutno koristi samo jedna kriptovaluta — IOTA. Sukobljena su mišljenja da li je ovaj metod konsenzusa uopšte blockchain, ali raspodeljena mreža svakako jeste, stoga ćemo je navesti. U ovom metodu svaki učesnik je čvor. Pre nego što njegova transakcija može da se potvrdi, učesnik mora da potvrdi prethodne dve ili više transakcija. Nakon toga će ostali učesnici potvrditi njegovu.

Ovim sistemom se ne dobija zapravo “lanac blokova” već mreža transakcija.

Ovo omogućava značajno brže transakcije i potencijalno najveću skalabilnost. Transakcije su praktično momentalne, besplatne, skoro ne zahtevaju računarsku snagu pa zato postoji veliki potencijal za mikrotransakcije. IOTA za cilj ima da bude valuta za automatske transakcije između uređaja i predstavlja obećavajući projekat.

Interesantno je da je IOTA u poslednjem talasu rasta vrednosti kriptovaluta zabeležila značajan skok u obimu i tržišnoj vrednosti. Koliko to ima veze sa razvojem same mreže i uspehom tima koji stoji iza mreže ili sa špekulacijama na tržištu kriptovaluta ostaje da se vidi.

Tema narednog teksta će biti ovogodišnji fenomen Ethereum, glavne inovacije ove blockchain mreže, prednosti i trendovi kojia ga okružuju. Potrudićemo se i da objasnimo zašto je upravo Ethereum odgovoran za sve veću popularizaciju kriptovaluta u poslednje vreme.

Pridruži se → prvo predstavljanje rada Tesla Nationa