Kas ir blokķēde?
Blokķēde ir datu ierakstu saraksts, kas darbojas kā decentralizēta digitālā virsgrāmata. Dati tiek glabāti blokos hronoloģiskā secībā un aizsargāti, izmantojot kriptogrāfiju.
Pirmais blokķēdes modelis tika izveidots 90. gadu sākumā, kad datorzinātnieks Stjuarts Hābers un fiziķis V. Skots Stornetta nolēma blokķēdē izmantot kriptogrāfiju, lai aizsargātu digitālos dokumentus no manipulācijām.
Viņu darbs iedvesmoja daudzus programmētājus un kriptogrāfijas entuziastus, kas galu galā noveda pie Bitcoin radīšanas kā pirmās decentralizētās elektroniskās naudas sistēmas (vai vienkārši pirmās kriptovalūtas).
Lai gan blokķēdes tehnoloģija ir daudz vecāka par kriptovalūtām, tās potenciāls sāka apzināties tikai pēc Bitcoin parādīšanās 2008. gadā. Kopš tā laika interese par to turpina pieaugt katru dienu, un kriptovalūtas iegūst arvien plašāku atzinību.
Blokķēdes tehnoloģija tiek izmantota galvenokārt kriptovalūtu darījumu reģistrēšanai, taču tā ir piemērota arī dažādu veidu digitālajiem datiem un var veikt daudzus uzdevumus. Visvecākā, drošākā un populārākā blokķēdes tīkls ir Bitcoin, kas apvieno kriptogrāfiju un spēļu teoriju.
Kā darbojas blokķēde?
Kriptovalūtu kontekstā blokķēde sastāv no stabila bloku ķēdes, katrs no kuriem satur iepriekš apstiprinātu darījumu sarakstu. Tā kā blokķēdes tīkls tiek atbalstīts ar daudziem datoriem visā pasaulē, tas darbojas kā decentralizēta datu bāze vai reģistrs. Tas nozīmē, ka katrs dalībnieks (noda) glabā sev datus par blokķēdi un sadarbojas ar citiem nodiem, lai apstiprinātu informācijas sakritību blokos.
Tādējādi blokķēdes darījumi notiek globālā vienotā tīklā, un tieši tas padara Bitcoin par decentralizētu digitālo valūtu, kam nav ierobežojumu un kas ir izturīga pret cenzūru. Turklāt lielākā daļa blokķēdes sistēmu neprasa uzticību un netiek kontrolētas ar vienu pārvaldes iestādi.
Gandrīz katras blokķēdes pamatā ir ieguves process, kas balstīts uz hašēšanas algoritmiem. Bitcoin izmanto SHA-256 algoritmu (256 bitu drošības hašēšanas algoritmu). Tas pieņem ieeju pēc izvēles garuma un ģenerē izeju ar fiksētu garumu. Izejas dati tiek saukti par hašu un šajā gadījumā vienmēr sastāv no 64 simboliem (256 bitiem).
Vienādi ieejas dati radīs to pašu izeju neatkarīgi no tā, cik reizes process tiek atkārtots. Tomēr, ja nedaudz maina ieejas datus, izejā iegūst pilnīgi atšķirīgu rezultātu. Tādēļ kriptovalūtu pasaulē vairums hašēšanas funkciju ir determinētas un vienvirziena.
Vienvirziena nozīmē, ka no izejas datiem ir gandrīz neiespējami aprēķināt ieejas. Var tikai uzminēt, kas bija ieejā, bet iespējas uzminēt šo informāciju ir ļoti mazas. Tādējādi tiek nodrošināta Bitcoin blokķēdes drošība.
Apskatīsim blokķēdes darbību, izmantojot vienkārša darījuma piemēru.
Iedomāsimies, ka Alises un Boba bilancē ir daži bitkoini. Alisei jāmaksā Bobam 2 bitkoini.
Lai tos nosūtītu, Alise visiem tīkla maineriem nosūta ziņojumu ar darījumu.
Šajā darījumā Alise informē mainerus par Boba adresi un summu bitkoinu, ko viņa vēlētos nosūtīt, kā arī nosūta digitālo parakstu un savu publisko atslēgu. Paraksts ir izveidots, izmantojot Alises privāto atslēgu, un apstiprina, ka viņa ir šo monētu īpašniece.
Maineriem jānodrošina darījuma derīgums, pēc kura viņi to apvieno ar citiem darījumiem un cenšas izveidot bloku, izmantojot SHA-256 algoritmu. Izeja jāsāk ar noteiktu skaitu 0, kas atkarīgs no tā saucamās "grūtības" un tīkla aprēķinu jaudas.
Lai iegūtu izejas hašu ar pareizo 0 skaitu sākumā, pirms algoritma palaišanas maineri pievieno blokam tā saukto nonce skaitli. Tā kā neliela izmaiņa ieejā pilnībā maina izeju, maineri mēģina dažādas kombinācijas, līdz atrod nepieciešamo hašu.
Pēc bloka izveides maineris to pārraidīja citiem maineriem. Pēc tam viņi pārbauda bloka derīgumu, lai pievienotu to savai blokķēdes kopijai un pabeigtu darījumu. Tāpat maineri iekļauj blokā iepriekšējā bloka izejas hašu, lai savienotu visus blokos kopā kā ķēdi, tas ir, blokķēdi. Uz šī mehānisma balstās blokķēdes uzticības sistēma.
Katrs maineris uz sava datora glabā blokķēdes kopiju, un uzticības pakāpe pret blokķēdi ir atkarīga no tajā ieguldītās aprēķinu jaudas un tās garuma. Ja maineris maina darījumu iepriekšējā blokā, šī bloka izejas hašs arī mainīsies, kas izraisīs visu pēc tam esošo hašu izmaiņas. Tad mainerim būs jāpārvērš visa darbs, lai viņa blokķēde tiktu pieņemta kā derīga. Lai apmānītu sistēmu, uzbrucējam vajadzētu iegūt vairāk nekā 50% tīkla aprēķinu jaudas, kas ir gandrīz neiespējami. Līdzīgas tīkla uzbrukumi tiek saukti par 51% uzbrukumiem.
Modelis, kurā bloku ražošana tiek veikta, izmantojot datora darbu, tiek saukts par Proof-of-Work (PoW). Pastāv arī citas modeļi, piemēram, Proof-of-Stake (PoS), kas neprasa lielu aprēķinu jaudu un patērē mazāk elektroenerģijas, piedāvājot mērogošanas iespējas daudziem lietotājiem.
