Kā darbojas blokķēde?
Kā darbojas blokķēde?
SākumsRaksti
Kā darbojas blokķēde?

Kā darbojas blokķēde?

Sarežģītākas tēmas
Publicēts Dec 9, 2018Atjaunināts Sep 23, 2022
5m

Kas ir blokķēde?

Īsumā – blokķēdi veido datu ierakstu saraksts, kas darbojas kā decentralizēta digitālā virsgrāmata. Dati tiek organizēti blokos, kas sakārtoti hronoloģiskā secībā un tiek aizsargāti, izmantojot kriptogrāfiju
Pirmais blokķēdes modelis tika izveidots 20. gs. 90. gadu sākumā, kad datorzinātnieks Sjuarts Hābers (Stuart Haber) un fiziķis V. Skots Storneta (W. Scott Stornetta) izmantoja kriptogrāfiskās metodes bloku ķēdē, lai aizsargātu digitālos dokumentus pret datu falsifikāciju. 
Hābera un Stornetas darbs noteikti iedvesmoja daudzu citu datorzinātnieku un kriptogrāfijas entuziastu darbu, kā rezultātā tika radīts Bitcoin – pirmā decentralizētā elektroniskās naudas sistēma (jeb vienkārši pirmā kriptovalūta).

Lai gan blokķēdes tehnoloģija ir senāka par kriptovalūtām, tās potenciālu sāka novērtēt tikai pēc Bitcoin ieviešanas 2008. gadā. Kopš tā laika ir pastāvīgi augusi interese par blokķēdes tehnoloģiju, un tagad kriptovalūtas tiek atzītas daudz plašākā mērogā.

Blokķēdes tehnoloģiju izmanto galvenokārt, lai reģistrētu kriptovalūtu darījumus, taču tā ir piemērota dažādu veidu digitālajiem datiem un ir izmantojama daudzveidīgiem mērķiem. Senākais, drošākais un plašākais blokķēdes tīkls ir Bitcoin tīkls, kura izstrādē tika izmantota pārdomāta un līdzsvarota kriptogrāfijas un spēļu teorijas kombinācija.


Kā darbojas blokķēde?

Kriptovalūtu kontekstā blokķēde sastāv no stabilas bloku ķēdes, kur katrs bloks ietver iepriekš apstiprinātu darījumu sarakstu.  Tā kā blokķēdes tīklu uztur neskaitāmi datori visā pasaulē, tas darbojas kā decentralizēta datubāze (jeb virsgrāmata). Tas nozīmē, ka katrs tīkla dalībnieks (mezgls) glabā blokķēdes datu kopiju, un dalībnieki savā starpā sazinās, lai nodrošinātu, ka visiem ir pieejama vienāda informācija.
Tāpēc blokķēdes darījumi notiek globālā vienādranga tīklā, un tas padara Bitcoin par decentralizētu digitālo valūtu, kas var darboties starptautiskā mērogā un ir noturīga pret cenzūru. Turklāt vairumam blokķēdes sistēmu nav raksturīga nepieciešamība uzticēties. Bitcoin nekontrolē neviena centrāla iestāde.
Gandrīz jebkuras blokķēdes centrālais elements ir ieguves process, kas balstās uz jaukšanas algoritmiem. Bitcoin izmanto SHA-256 algoritmu (drošo jaukšanas algoritmu ar 256 bitiem). Izmantojot jebkura garuma ievades datus, tas ģenerē rezultātu, kam vienmēr ir viens un tas pats garums. Šo rezultātu sauc par jaucējkodu, kas šajā gadījumā sastāv no 64 rakstzīmēm (256 biti).

Tātad vieni un tie paši ievades dati nodrošinās vienādu rezultātu neatkarīgi no tā, cik reižu process tiks atkārtots. Taču, ja ievades dati tiks nedaudz pamainīti, iegūtais rezultāts būs pilnīgi atšķirīgs. Līdz ar to jaukšanas funkcijas ir deterministiskas, un kriptovalūtu pasaulē lielākā to daļa ir veidota kā vienvirziena jaukšanas funkcijas.

Vienvirziena funkcija nozīmē, ka ir gandrīz neiespējami pēc rezultāta noteikt sākotnējos datus. To var tikai minēt, taču izredzes uzminēt ir ārkārtīgi mazas. Tas ir viens no iemesliem, kāpēc Bitcoin blokķēde ir droša.

Tagad, kad zinām, kāda ir algoritma funkcija, ar vienkāršu darījuma piemēru apskatīsim, kā darbojas blokķēde.

Iztēlosimies, ka mums ir zināms Alises un Kārļa Bitcoin atlikums. Pieņemsim, ka Alise ir parādā Kārlim 2 Bitcoin.

Lai nosūtītu Kārlim šos 2 Bitcoin, Alise pārraida ziņojumu ar plānoto darījumu visiem ieguvējiem tīklā.
Ar šo darījumu Alise nodod ieguvējiem informāciju par Kārļa adresi un Bitcoin summu, kādu viņa vēlas nosūtīt, kā arī digitālo parakstu un savu publisko atslēgu. Šis paraksts ir izveidots, izmantojot Alises privāto atslēgu, un ieguvēji var pārbaudīt, vai Alisei patiešām pieder attiecīgā kriptovalūta.

Kad ieguvēji ir pārliecinājušies par darījuma derīgumu, viņi var to iekļaut blokā kopā ar daudziem citiem darījumiem, lai mēģinātu iegūt bloku. Tas tiek darīts, piemērojot blokam SHA-256 algoritmu. Iegūtajam rezultātam ir jāsākas ar noteiktu nuļļu skaitu, lai tas tiktu atzīts par derīgu. Nuļļu skaits ir atkarīgs no t. s. "sarežģītības", kas mainās atkarībā no tā, cik liela ir tīkla skaitļošanas jauda.

Lai iegūtu jaucējkodu ar vēlamo nuļļu skaitu sākumā, ieguvēji pievieno blokam t. s. vienreizējo kodu un tad palaiž algoritmu. Tā kā pavisam nelielas ievades datu izmaiņas rada pilnīgi atšķirīgu rezultātu, ieguvēji mēģina dažādus vienreizējos kodus, līdz tiek atrasts derīgs jaucējkods.

Kad ir iegūts derīgs bloks, ieguvēji to pārraida visiem citiem ieguvējiem. Tie pārliecinās, ka bloks ir derīgs, lai varētu to pievienot savai blokķēdes kopijai un izpildīt darījumu. Taču katrā blokā ieguvējiem ir jāiekļauj arī iepriekšējā bloka jaucējkods, lai visi bloki būtu savstarpēji saistīti, – tāpēc to sauc par blokķēdi. Tas ir svarīgs aspekts, ņemot vērā uzticēšanās principa darbību šajā sistēmā.

Katra ieguvēja datorā tiek glabāta sava blokķēdes kopija, un visi uzticas tai blokķēdei, kurā ir ieguldīta lielākā skaitļošanas jauda (garākajai blokķēdei). Ja ieguvējs mainītu iepriekšējā blokā ietilpstošu darījumu, šī bloka jaucējkods mainītos un attiecīgi mainītos arī visi turpmākie jaucējkodi, jo bloki ir savstarpēji saistīti ar jaucējkodiem. Šim ieguvējam būtu atkārtoti jāveic viss darbs, lai visi atzītu viņa blokķēdi par pareizo. Tātad, ja ieguvējs nolemtu krāpties, viņam būtu nepieciešami vairāk nekā 50 % no tīkla skaitļošanas jaudas, kas ir gandrīz neiespējami. Šādus uzbrukumus tīklam sauc par 51 % uzbrukumiem.
Modeli, kad bloku izveidei tiek izmantoti datoru resursi, sauc par darba apliecinājumu (PoW). Ir arī citi modeļi, piemēram, likmes apliecinājums (PoS), kam nav nepieciešama liela skaitļošanas jauda un kas patērē mazāk elektrības, vienlaikus nodrošinot labākas mērogošanas iespējas ar lielāku skaitu lietotāju.