Sadržaj
- Razumijevanje Blockchaina
- Suočavanje s dvostrukom potrošnjom
- Dokaz o radu i 'rudarstvu'
Jedna od glavnih briga bilo kojeg proizvođača kriptovaluta je pitanje dvostruke potrošnje. To se odnosi na učestalost da pojedinac troši ravnotežu te kripto valute više nego jednom, čime se učinkovito stvara nesklad između evidencije o potrošnji i količine raspoložive kripto valute, kao i načina na koji se distribuira.
Pitanje dvostruke potrošnje problem je što novca nema; Ako za sendvič platite račun od 10 USD, pretvorite li ga u onaj koji stvara sendvič, ne možete se okrenuti i potrošiti tih 10 dolara drugdje. Transakcija koja koristi digitalnu valutu poput bitcoina odvija se, međutim, u cijelosti digitalno. To znači da je moguće kopirati detalje o transakciji i ponovno ih emitirati tako da je jedan BTC mogao potrošiti više puta od strane jednog vlasnika. U nastavku ćemo istražiti kako su programeri kriptovaluta osigurali dvostruko trošenje.
Ključni odvodi
- Tehnički problem koji se javlja s pojmom digitalne valute je mogućnost da netko duplicira digitalni novac i troši ga istovremeno na dva ili više mjesta. Ovaj problem "dvostrukog trošenja" spriječen je u kripto valutama sa sjedištem u blockchainu, poput Bitcoina koristeći mehanizam konsenzusa poznat kao provjera rada (PoW). Ovog PoW-a provodi decentralizirana mreža 'rudara' koja ne samo da osigurava vjernost prošlih transakcija na poslovnoj knjizi blockchaina, već otkriva i sprečava dvostruko trošenje,
Razumijevanje Blockchaina
Blok-lanac koji podcjenjuje digitalnu valutu poput bitcoina ne može sam spriječiti dvostruku potrošnju. Umjesto toga, sve različite transakcije koje uključuju relevantnu kripto valutu knjiže se u blockchain, gdje se zasebno provjeravaju i štite postupkom potvrde. U slučaju bitcoina i mnogih drugih kripto valuta, transakcije koje su na ovaj način potvrđene postaju nepovratne; objavljuju se javno i održavaju se u vječnosti.
Bitcoin je prva glavna digitalna valuta koja je riješila pitanje dvostruke potrošnje. To je učinila uvođenjem ovog mehanizma potvrde i održavanjem zajedničkog, univerzalnog sustava knjige. Na ovaj način, bitcoin blockchain čuva evidenciju vremenski označenih transakcija koje sežu još do osnivanja kripto valute 2009. godine.
U Bitcoin smislu, "blok" je datoteka trajno zabilježenih podataka. Sve nedavne transakcije pišu se u blokove, slično kao i knjiga dionica na burzi. Podaci iz blokova dodaju se u knjigu svakih nekoliko minuta; svi čvorovi na mreži održavaju kopiju knjige. Korisnici mogu kretati po blockchainu za bitcoin i pregledavati transakcije samo u pogledu količine. Pojedinosti o identitetu kupca i prodavatelja u bilo kojoj transakciji zaštićeni su enkripcijom visoke razine koja također štiti knjigu od neovlaštenog vanjskog izvora. Kada se knjiga blokade ažurira, svi su bitcoin novčanici također.
Suočavanje s dvostrukom potrošnjom
Zamislite da imate 1 BTC i pokušate ga potrošiti dva puta u dvije odvojene transakcije. To biste mogli pokušati poslati tako da isti BTC pošaljete na dvije odvojene adrese bitcoin novčanika. Obje će ove transakcije ući u bazen nepotvrđenih transakcija. Prva transakcija bi bila odobrena putem mehanizma za potvrdu i zatim verificirana u sljedeći blok. Međutim, druga bi transakcija prepoznala kao nevažeću procesom potvrde i ne bi bila ovjerena. Ako se obje transakcije povuku iz bazena radi potvrde istovremeno, transakcija s najvećim brojem potvrda bit će uključena u blockchain, dok će se druga odbaciti.
Iako se ovo učinkovito bavi pitanjem dvostruke potrošnje, nije bez problema. Na primjer, namjeravani primatelj druge (neuspjele) transakcije ne bi sudjelovao u propadu same transakcije, a ipak ta osoba ne bi primila bitcoin koji je ili ona predvidjela. Mnogi trgovci čekaju najmanje 6 potvrda transakcije (što znači da je 6 blokova transakcija dodano u blockchain nakon dotične transakcije). U ovom trenutku, trgovac može sa sigurnošću pretpostaviti da je transakcija valjana.
U ovom sustavu postoje i druge ranjivosti koje bi mogle omogućiti napade dvostrukog trošenja. Na primjer, ako napadač nekako uspije kontrolirati barem 51% snage mreže, može izvršiti dvostruko trošenje. Ako bi napadač na neki način uspio dobiti kontrolu nad tolikom računarskom snagom, mogao bi preokrenuti transakcije i stvoriti zaseban, privatni blockchain. Međutim, brz rast bitcoina gotovo je osigurao da je takva vrsta napada nemoguća. (Za više, pogledajte Pazite na ovih pet bitcoin prevara)
Objašnjenje rada i „rudarstva“
Ajmo sada malo više tehničkog. Način na koji korisnici otkriju diranje, poput pokušaja dvostrukog trošenja u praksi, je putem heševa, dugih nizova brojeva koji služe kao dokaz rada (PoW). Stavite zadani skup podataka putem hash funkcije (bitcoin koristi SHA-256) i on će ikada generirati samo jedan hash. Zbog "efekta lavine", čak i sitna promjena bilo kojeg dijela originalnih podataka rezultirat će potpuno neprepoznatljivim hash-om. Bez obzira na veličinu izvornog skupa podataka, hash generiran određenom funkcijom bit će iste dužine. Hash je jednosmjerna funkcija: on se ne može koristiti za dobivanje izvornih podataka, samo za provjeru podudaraju li se podaci koji su stvorili hash izvornim podacima.
Generiranje bilo kojeg hash-a za skup bitcoin transakcija bilo bi trivijalno za moderno računalo, pa kako bi se proces pretvorio u "posao", bitcoin mreža postavlja određenu razinu "poteškoće". Ova je postavka podešena tako da se novi blok "minira" - dodaje se u blockchain generiranjem važećeg hash-a - otprilike svakih 10 minuta. Poteškoća s postavljanjem postiže se postavljanjem "cilja" za hash: što je niži cilj, manji je skup valjanih hash-ova i teže je generirati. U praksi to znači hash koji započinje dugačkim nizom nula: na primjer, hash za blok # 429818 je 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Taj blok sadrži 2.012 transakcija koje uključuju nešto više od 1.000 bitcoina, kao i zaglavlje prethodnog bloka. Ako bi korisnik promijenio jedan iznos transakcije za 0, 0001 bitcoin, rezultirajući hash bio bi neprepoznatljiv, a mreža bi odbacila prijevaru.
Budući da određeni skup podataka može generirati samo jedan hash, kako rudari postaju sigurni da generiraju hash ispod cilja? Oni mijenjaju ulaz dodavanjem cijelog broja, nazvanog nence ("broj jednom upotrijebljen"). Nakon što je pronađen važeći hash, on se emitira u mrežu, a blok se dodaje u blockchain.
Rudarstvo je natjecateljski proces, ali više je lutrija nego utrka. U prosjeku, netko će stvoriti prihvatljiv dokaz o radu svakih deset minuta, ali tko će to biti, nagađanje bilo koga. Rudari se udružuju kako bi povećali svoje šanse za miniranje blokova, što generira naknadu za transakcije i, na ograničeno vrijeme, nagradu novostvorenih bitcoina.
Dokaz rada izuzetno je teško izmijeniti bilo koji aspekt blockchaina jer će takva izmjena zahtijevati ponovno miniranje svih sljedećih blokova. Također korisniku ili skupu korisnika otežava monopoliziranje računalne snage mreže, jer su strojevi i snaga potrebni za dovršavanje hash funkcija skupi.