Ako funguje Blockchain?
Domov
Články
Ako funguje Blockchain?

Ako funguje Blockchain?

Stredne pokročilý
Zverejnené Dec 9, 2018Aktualizované Oct 4, 2022
5m

Čo je to blockchain?

Stručne povedané, blockchain je zoznam dátových záznamov, ktorý funguje ako decentralizovaná digitálna účtovná kniha. Dáta sú usporiadané do blokov, ktoré sú chronologicky usporiadané a zabezpečené kryptografiou

Najskorší model blockchainu bol vytvorený na začiatku 90. rokov, keď počítačový vedec Stuart Haber a fyzik W. Scott Stornetta použili kryptografické techniky v reťazci blokov ako spôsob zabezpečenia digitálnych dokumentov pred manipuláciou s údajmi. 

Práca Habera a Stornetta určite inšpirovala prácu mnohých ďalších počítačových vedcov a nadšencov kryptografie – čo nakoniec viedlo k vytvoreniu Bitcoinu ako prvého decentralizovaného elektronického hotovostného systému (alebo jednoducho prvej kryptomeny).

Aj keď je technológia blockchainu staršia ako kryptomeny, jej potenciál sa začal spoznávať až po vytvorení Bitcoinu v roku 2008. Odvtedy záujem o technológiu blockchainu postupne rastie a kryptomeny sú teraz uznávané vo väčšom meradle.

Technológia blockchainu sa väčšinou používa na zaznamenávanie transakcií s kryptomenami, ale vyhovuje mnohým iným druhom digitálnych údajov a dá sa použiť na širokú škálu prípadov využitia. Najstaršou, najbezpečnejšou a najväčšou blockchainovou sieťou je Bitcoin, ktorý bol navrhnutý so starostlivou a vyváženou kombináciou kryptografie a teórie hier.


Ako funguje blockchain?

V kontexte kryptomien sa blockchain skladá zo stabilného reťazca blokov, z ktorých každý uchováva zoznam predtým potvrdených transakcií.  Keďže blockchainovú sieť udržiava nespočetné množstvo počítačov rozmiestnených po celom svete, funguje ako decentralizovaná databáza (alebo účtovná kniha). To znamená, že každý účastník (uzol) uchováva kópiu údajov blockchainu a navzájom komunikujú, aby sa zabezpečilo, že sú všetci na rovnakej stránke (alebo bloku).

Preto sa blockchainové transakcie vyskytujú v rámci globálnej siete typu peer-to-peer a práve to robí Bitcoin decentralizovanou digitálnou menou, ktorá je bez hraníc a odolná voči cenzúre. Navyše väčšina blockchainových systémov je považovaná za nedôveryhodnú, pretože nevyžadujú žiadnu dôveru. Neexistuje jediný orgán, ktorý by Bitcoin kontroloval.

Ústrednou súčasťou takmer každého blockchainu je proces ťažby, ktorý sa spolieha na hashovacie algoritmy. Bitcoin používa algoritmus SHA-256 (256-bitový bezpečný hash algoritmus). Zoberie vstup ľubovoľnej dĺžky a vygeneruje výstup, ktorý bude mať vždy rovnakú dĺžku. Produkovaný výstup sa nazýva „hash“ a v tomto prípade je vždy tvorený 64 znakmi (256 bitov).

Takže rovnaký vstup bude mať za následok rovnaký výstup bez ohľadu na to, koľkokrát sa proces opakuje. Ale ak sa urobí malá zmena na vstupe, výstup sa úplne zmení. Hašovacie funkcie ako také sú deterministické a vo svete kryptomien je väčšina z nich navrhnutá ako jednosmerná hašovacia funkcia.

Jednosmerná funkcia znamená, že je z výstupu takmer nemožné vypočítať, aký bol vstup. Dá sa len hádať, aký bol vstup, ale pravdepodobnosť, že uhádnete správne, je extrémne nízka. To je jeden z dôvodov, prečo je blockchain Bitcoinu bezpečný.

Teraz, keď vieme, čo algoritmus robí, ukážme si, ako blockchain funguje, na jednoduchom príklade transakcie.

Predstavte si, že máme Alice a Boba spolu s ich Bitcoinovým zostatkom. Povedzme, že Alice dlhuje Bobovi 2 Bitcoiny.

Aby Alice poslala Bobovi tie 2 bitcoiny, Alice odošle správu s transakciou, ktorú chce uskutočniť, všetkým ťažiarom v sieti.

V tejto transakcii Alice poskytne ťažiarom Bobovu adresu a množstvo Bitcoinov, ktoré by chcela poslať, spolu s digitálnym podpisom a jej verejným kľúčom. Podpis je vytvorený pomocou súkromného kľúča Alice a ťažiari môžu potvrdiť, že Alice je v skutočnosti vlastníkom týchto mincí.

Keď sú si ťažiari istí, že transakcia je platná, môžu ju vložiť do bloku spolu s mnohými ďalšími transakciami a pokúsiť sa blok vyťažiť. To sa dosiahne vložením bloku cez algoritmus SHA-256. Výstup musí začínať určitým počtom 0, aby bol považovaný za platný. Potrebné množstvo 0 závisí od toho, čo sa nazýva „obtiažnosť“, ktorá sa mení v závislosti od toho, koľko výpočtového výkonu je v sieti.

Aby sa vytvoril výstupný hash s požadovaným počtom 0 na začiatku, ťažiari do bloku pred spustením algoritmu pridajú niečo, čo sa nazýva „nonce“. Keďže malá zmena vstupu úplne zmení výstup, ťažiari skúšajú náhodné nonce, kým nenájdu platný výstupný hash.

Akonáhle je blok vyťažený, miner odošle novovyťažený blok všetkým ostatným ťažiarom. Potom skontrolujú, či je blok platný, aby ho mohli pridať do svojej kópie blockchainu a transakcia je dokončená. Ale do bloku musia ťažiari zahrnúť aj výstupný hash z predchádzajúceho bloku, aby boli všetky bloky zviazané, preto názov blockchain. Je to dôležitá súčasť, pretože v systéme funguje dôvera.

Každý ťažiar má na svojom počítači vlastnú kópiu blockchainu a každý verí tomu, ktorý blockchain má najviac výpočtovej práce, najdlhší blockchain. Ak ťažiar zmení transakciu v predchádzajúcom bloku, výstupný hash pre tento blok sa zmení, čo vedie k tomu, že sa zmenia aj všetky hash po ňom, pretože bloky sú označené ako hash. Ťažiar by musel zopakovať všetku prácu, aby prinútil niekoho akceptovať jeho blockchain ako ten správny. Ak by teda ťažiar chcel podvádzať, potreboval by viac ako 50 % výpočtového výkonu siete, čo je veľmi nepravdepodobné. Sieťové útoky, ako je tento, sa preto nazývajú 51 % útoky.

Model fungovania počítačov za účelom výroby blokov sa nazýva Proof-of-Work (PoW), existujú aj iné modely ako Proof-of-Stake (PoS), ktoré nevyžadujú toľko výpočtového výkonu a elektriny a zároveň je možné škálovať na viacerých používateľov.