Razumijevanje Blockchain-ovih osnova, drugi dio: Dokaz rada i dokaz uloga

Članci u ovoj seriji Razumijevanje Blockchain Fundamentals:

  1. 1. dio: Tolerancija bizantske greške
  2. 2. dio: Dokaz o radu i dokaz o ulozi
  3. Dio 3: Delegirani dokaz uloga

U prvom dijelu smo razgovarali o problemu vizantijskih generala, kako postići toleranciju bizantske pogreške i kako se sve to odnosi na blok-lanac.

Algoritam u prethodnom članku zapravo je rješenje kojim se postiže tolerancija bizantske pogreške. Međutim, to rješenje nije dovoljno učinkovito, a njegove varijacije imaju ograničenja, naime da je manje od trećine mreže mreže nepošteno.

Vrijeme trajanja rješavanja problema vizantijskih generala s algoritmom koji su predložili Lamport, Shostak i Pease (n = broj aktera, m = broj izdajnika)

To nas vodi do klasičnog pitanja iz informatike:

Možemo li bolje?

Tema ovog članka će se raspravljati o alternativnim algoritmima kojima se postiže tolerancija bizantske greške.

Napomena: Molimo imajte na umu pojedinih pojednostavljenja. Ovi algoritmi iza sebe imaju mnoštvo složenih istraživanja. Pružit ću linkove dok nastavimo zainteresiranom čitatelju da napravi svoje daljnje istraživanje.

Blockchaini koriste algoritme konsenzusa za odabir voditelja koji će odlučiti sadržaj sljedećeg bloka.

Taj voditelj je odgovoran i za emitiranje bloka na mrežu, kako bi ostali vršnjaci mogli provjeriti valjanost njegovog sadržaja.

Dokaz o radu (PoW)

Ovo je najpopularniji algoritam koji koriste valute poput Bitcoin i Ethereum, a svaka ima svoje razlike.

Prije nastavka, za netehničke čitatelje:

Hash funkcija je svaka funkcija koja se može upotrijebiti za mapiranje podataka proizvoljne veličine u podatke fiksne veličine¹.
Ako je hash funkcija sigurna, njezin se izlaz ne razlikuje od slučajnog.
Primjer:
keccak256 ("zdravo") = 1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8
keccak256 ("hello1") = 57c65f1718e8297f4048beff2419e134656b7a856872b27ad77846e395f13ffe

U dokazu rada, da bi glumac bio izabran za vođu i izabrao sljedeći blok koji će se dodati blok-lancu, oni moraju pronaći rješenje određenog matematičkog problema.

Neka taj matematički problem bude:

S obzirom na podatke X, pronađite broj n kao što je to što je hash n dodan u X rezultate broj manji od Y.
Primjer - hash je hipotetička hash funkcija koja ima izlaze navedene u nastavku
Y = 10, X = 'test'
hash (X) = hash ('test') = 0x0f = 15> 10
hash (X + 1) = hash ('test1') = 0xff = 255> 10
hash (X + 2) = hash ('test2') = 0x09 = 9 <10 OK, riješeno.

S obzirom da je upotrijebljena hash funkcija kriptografski sigurna [1,2], jedini način za pronalazak rješenja je problem bruteforce (isprobavanje svih mogućih kombinacija). Drugim riječima, vjerovatno gledano, glumac koji će većinu vremena prvo riješiti spomenuti problem onaj je koji ima pristup većini računalnih snaga. Ti se glumci nazivaju i rudari.

Dobio je veliki uspjeh prije svega zbog sljedećih svojstava:

  1. Teško je pronaći rješenje za taj zadani problem
  2. Kada se dobije rješenje tog problema, lako je provjeriti je li točan

Kad god se novi blok minira, taj rudar dobiva nagradu nekom valutom (nagrada za blok, naknada za transakcije) i tako se potiče da zadrži rudarstvo. U dokazu rada, drugi čvorovi provjeravaju valjanost bloka provjeravanjem da je hash podataka bloka manji od unaprijed postavljenog broja.

Zbog ograničene ponude računske snage, rudari su također potaknuti da ne varaju. Napadanje na mrežu skupo će koštati zbog propuštenih visokih troškova hardvera, energije i potencijalnog profita od rudarstva.

Slika vrlo dobro ilustrira kako Bitcoin i bilo koji drugi novčić koji koristi Dokaz rada, obeshrabruju zlonamjerno ponašanje.

Za čitatelje koji su zainteresirani za način razdvajanja lanca (v.k.a. vilice ili reorganizacije lanca u slučaju neslaganja, predlažem ovaj članak.

Dokaz o radu pruža potrebnu sigurnost i do sada je dokazano da djeluje prilično dobro. Međutim, potrošnja energije je:

Gotovo sve afričke države (odvojeno) troše manje električne energije od Bitcoin rudarske industrije

Dokaz uloga (PoS)

Prije nego što nastavim, dopustite mi da napravim analogiju izbora za vođu (glumca koji će odabrati sljedeći blok) kao lutriju:

Na lutriji, vjerovatno, ako Bob ima više karata od Alice, vjerojatnije je da će pobijediti.

Na vrlo sličan način:

Ako se radi o dokazu posla, ako Bob ima više računske snage i energije od Alice - i tako može proizvesti više posla - vjerojatnije je da će pobijediti (moj sljedeći blok).

Slično, ali opet:

Ako je dokaz o ulozi, ako Bob ima više udjela od Alice, vjerojatnije je da će pobijediti ("mine" sljedeći blok).

Dokaz uloga uklanja energiju i računsku snagu PoW-a i zamjenjuje ga ulogom. Ulog se naziva iznosom valute koji je glumac spreman zaključati na određeno vrijeme. Zauzvrat, oni dobivaju priliku proporcionalnu svom udjelu da budu sljedeći vođa i odaberu sljedeći blok. Postoje razne postojeće kovanice koje koriste čisti PoS, kao što su Nxt i Blackcoin.

Glavni problem PoS-a je takozvani problem o kojem se ne radi. U osnovi, u slučaju vilice, ulagači nisu onemogućeni ulaganju u oba lanca, a opasnost od problema s dvostrukom potrošnjom povećava se. Više o tome ovdje.

Da bi se to izbjeglo, pojavili su se hibridni algoritmi za konsenzus, poput kombinacije PoW-PoS koju koristi Decred. Aktivno istraživanje prema sigurnom i decentraliziranom protokolu Proof of Stake provodi Ethereum Foundation s Casper The Friendly Ghost i Casper The Friendly Finality Gadget.

Zaključak

U ovom ćemo članku razgovarati o Proof of Work & Proof of Stake, koji su trenutno algoritmi konsenzusa kojim se postiže tolerancija bizantske pogreške i koji se praktički koriste u današnjim blockchain sustavima.

Postoje i drugi algoritmi konsenzusa, kao što su praktična tolerancija bizantske greške (nežna mrlja) ili distribuirana tolerancija vizantijske greške (NEO). Sjajnu usporedbu PBFT-a i Caspera možete pronaći ovdje.

Loom Network je blockchain platforma izbora za ozbiljne programere dapp - Universal Layer 2 koji programerima pruža alate potrebne za izgradnju funkcionalnih dapova koji su okrenuti korisniku danas.

Novo je za Loom? Započni ovdje.

Želite uložiti svoje LOOM tokene i pomoći u sigurnoj mreži Loom-a? Saznajte kako.

A ako ste uživali u ovom članku i želite ostati u petlji, nastavite i prijavite se za našu privatnu poštu.