Blockchain

Teda, čo je ten prevratný blockchain?
Ako som už spomínal, blockchain je technológia, ktorá umožňuje jednoducho kontrolovať pravdivosť jednotlivých záznamov bez toho, aby sme o to museli požiadať centrálnu banku.

Skúsme si to vysvetliť na jednoduchom príklade.

Predstavme si malú skupinu priateľov, ktorí si navzájom požičiavajú rôzne veci.
Ján požičia múku Kláre.
Marek požičia med Márii.
Mária požičia knihu Jánovi.

Aby sa nezabudlo, kto komu čo požičal, rozhodnú sa, že si všetky pôžičky budú zapisovať na papier. No namiesto toho, aby tento zoznam mal iba jeden človek, každý člen skupiny vlastní rovnakú kópiu tohto zoznamu.

Vždy, keď dôjde k novej pôžičke, všetci sa spolu stretnú a zapíšu si túto transakciu do svojho zoznamu.

Každý má rovnaké údaje, takže si môžu kedykoľvek overiť pravosť záznamov.
Používajú špeciálne pero, ktorým sa nedá nič vymazať – žiadne úpravy histórie nie sú možné.
Každý nový zápis nadväzuje na predchádzajúci, takže ak by sa niekto pokúsil spätne sfalšovať transakciu, musel by prepisovať všetky nasledujúce záznamy vo všetkých zoznamoch naraz.
Ak by niekto chcel podvádzať a pripísať si niečo navyše, všetci ostatní by si okamžite všimli, že jeho verzia nesedí s ich záznamami.

Takto približne funguje blockchain (reťazec blokov) – je to digitálna verzia takýchto záznamov, ktoré sú veľmi ľahko overiteľné a nezmazateľné.

Každá transakcia, ktorá sa udeje v bitcoinovej sieti za určité obdobie (približne 10 minút), sa zapíše do jedného bloku.
Keď sa blok naplní, vytvorí sa nový blok, ktorý nadväzuje na predchádzajúci.
Každý blok obsahuje informáciu o predchádzajúcom bloku, čím vzniká reťazec blokov – blockchain.

Tento systém zabezpečuje, že ak by niekto chcel spätne zmeniť údaje v ktoromkoľvek bloku, musel by upraviť aj všetky nasledujúce bloky na všetkých kópiách blockchainu v celej sieti.
Keďže blockchain je rozdelený medzi tisíce počítačov po celom svete, takáto manipulácia je prakticky nemožná.

Skúsme to trošku skomplikovať.
Ako je zabezpečené, že každý blok nadväzuje na ten ďalší a pri spätnom zásahu sa celý záznam zmení?

Toto je možné vďaka kryptografii.
Na konci každého bloku sa nachádza špecifické číslo – kryptografický hash, ktorý reprezentuje celý obsah daného bloku.

Každý blok v blockchainovej sieti obsahuje:
Zoznam transakcií – všetky bitcoinové prevody, ktoré sa v danom bloku uskutočnili.
Hash predchádzajúceho bloku – jedinečný kód, ktorý identifikuje predchádzajúci blok.
Vlastný hash – vypočítaný na základe údajov v bloku (transakcií + hash predchádzajúceho bloku).

Hash je unikátna kryptografická hodnota, ktorá sa vypočíta z obsahu bloku (transakcií) a predchádzajúceho hashu. Funguje ako digitálny odtlačok prsta – každá malá zmena v bloku spôsobí úplne inú hodnotu hashu. Bitcoin používa SHA256 (Secure Hash Algorithm 256-bit), čo znamená, že každý hash má vždy 64 znakov (256 bitov) bez ohľadu na veľkosť vstupného textu.

Príklad SHA256 hashu pre slovo “Bitcoin”:

Ak by sme slovo bitcoin len mierne zmenili, napríklad pridali medzeru na konci slova, hash by sa kompletne zmenil.

Čo je pri hashovaní dôležité:
Hash nemožno spätne rozlúštiť na pôvodný text. To znamená, že z už zahashovaného slova nevieme spätne určiť pôvodný text.
Rovnaký vstup vždy vytvorí rovnaký výstup.
Dve rôzne vstupné texty nikdy nevytvoria rovnaký hash.

Keďže každý blok obsahuje hash predchádzajúceho bloku, všetky bloky sú navzájom prepojené.
Ak by sa teda ktokoľvek pokúsil zmeniť transakciu v staršom bloku, zmenil by celý hash.
A keďže každý nasledujúci blok obsahuje aj hash predchádzajúceho, okamžite by sa bloky stali neplatnými.

Útočník by musel spätne zmeniť všetky nasledujúce bloky, čo je takmer nemožné.
Dôvodom je ďalšia prevratná technológia – Proof of Work.