Kas ir blokķēde?
Īsāk sakot, blokķēde ir datu ierakstu saraksts, kas darbojas kā decentralizēta digitālā virsgrāmata. Dati ir sakārtoti blokos, kas ir hronoloģiski sakārtoti un nodrošināti ar kriptogrāfiju.
Agrākais blokķēdes modelis tika izveidots 90. gadu sākumā, kad datorzinātnieks Stjuarts Hābers un fiziķis V. Skots Stornetta izmantoja kriptogrāfijas metodes bloku ķēdē, lai aizsargātu digitālos dokumentus no datu manipulācijas.
Hābera un Stornetas darbs noteikti iedvesmoja daudzu citu datorzinātnieku un kriptogrāfijas entuziastu darbu – kas galu galā noveda pie Bitcoin kā pirmās decentralizētās elektroniskās naudas sistēmas (vai vienkārši pirmās kriptovalūtas) izveides.
Lai gan blokķēdes tehnoloģija ir vecāka par kriptovalūtām, tikai pēc Bitcoin izveides 2008. gadā sāka apzināties tās potenciālu. Kopš tā laika interese par blokķēdes tehnoloģiju ir pakāpeniski pieaugusi, un tagad kriptovalūtas tiek atzītas plašākā mērogā.
Blockchain tehnoloģija galvenokārt tiek izmantota kriptovalūtas darījumu reģistrēšanai, taču tā ir piemērota daudziem citiem digitālo datu veidiem un to var izmantot ļoti dažādiem lietošanas gadījumiem. Vecākais, drošākais un lielākais blokķēdes tīkls ir Bitcoin, kas tika izstrādāts, rūpīgi un līdzsvarotu kriptogrāfijas un spēļu teorijas kombināciju.
Kā darbojas blokķēde?
Kriptovalūtu kontekstā blokķēde sastāv no stabilas bloku ķēdes, no kurām katra glabā iepriekš apstiprinātu darījumu sarakstu. Tā kā blokķēdes tīklu uztur neskaitāmi visā pasaulē izplatīti datori, tas darbojas kā decentralizēta datu bāze (vai virsgrāmata). Tas nozīmē, ka katrs dalībnieks (mezgls) uztur blokķēdes datu kopiju, un viņi sazinās viens ar otru, lai nodrošinātu, ka tie visi atrodas vienā lapā (vai blokā).
Tāpēc blokķēdes darījumi notiek peer-to-peer globālajā tīklā, un tas padara Bitcoin par decentralizētu digitālo valūtu, kas ir bez robežām un izturīga pret cenzūru. Turklāt lielākā daļa blokķēžu sistēmu tiek uzskatītas par neuzticamām, jo tām nav nepieciešama nekāda veida uzticēšanās. Nav vienas iestādes, kas kontrolētu Bitcoin.
Gandrīz katras blokķēdes galvenā daļa ir ieguves process, kas balstās uz jaukšanas algoritmiem. Bitcoin izmanto SHA-256 algoritmu (Secure hash algorithm 256 bits). Tas aizņem jebkura garuma ievadi un ģenerē izvadi, kas vienmēr būs vienāda garuma. Iegūto izvadi sauc par "jaucēju", un šajā gadījumā to vienmēr veido 64 rakstzīmes (256 biti).
Tādējādi viena un tā pati ievade radīs tādu pašu izvadi neatkarīgi no tā, cik reižu process tiek atkārtots. Bet, ja ievadā tiek veiktas nelielas izmaiņas, izvade mainīsies pilnībā. Kā tādas jaucējfunkcijas ir deterministiskas, un kriptovalūtas pasaulē lielākā daļa no tām ir paredzētas kā vienvirziena jaucējfunkcijas.
Vienvirziena funkcija nozīmē, ka ir gandrīz neiespējami aprēķināt, kāda bija ievade no izvades. Var tikai minēt, kāda bija ievade, taču iespēja uzminēt to pareizi ir ārkārtīgi zema. Tas ir viens no iemesliem, kāpēc Bitcoin blokķēde ir droša.
Tagad, kad zinām, ko dara algoritms, parādīsim, kā darbojas blokķēde, izmantojot vienkāršu darījuma piemēru.
Iedomājieties, ka mums ir Alise un Bobs kopā ar viņu Bitcoin bilanci. Pieņemsim, ka Alise ir parādā Bobam 2 bitkoīnus.
Lai Alise nosūtītu Bobam šos 2 bitkoinus, Alise visiem tīkla kalnračiem pārraida ziņojumu ar darījumu, kuru viņa vēlas veikt.
Šajā darījumā Alise sniedz kalnračiem Boba adresi un Bitcoins daudzumu, ko viņa vēlētos nosūtīt, kā arī digitālo parakstu un savu publisko atslēgu. Paraksts tiek veikts ar Alises privāto atslēgu, un kalnrači var apstiprināt, ka Alise patiesībā ir šo monētu īpašniece.
Kad kalnrači ir pārliecināti, ka darījums ir derīgs, viņi var to ievietot blokā kopā ar daudziem citiem darījumiem un mēģināt iegūt bloku. Tas tiek darīts, izmantojot SHA-256 algoritmu. Lai izvade tiktu uzskatīta par derīgu, jāsākas ar noteiktu skaitu 0. Nepieciešamais 0 skaits ir atkarīgs no tā sauktā "grūtības", kas mainās atkarībā no tīkla skaitļošanas jaudas.
Lai sākumā izveidotu izejas jaucējkodu ar vēlamo 0 skaitu, kalnrači blokam pievieno tā saukto "nonce", pirms tā izpilda algoritmu. Tā kā nelielas izmaiņas ievadē pilnībā maina izvadi, ogļrači izmēģina nejaušas darbības, līdz atrod derīgu izvades jaucējkodu.
Kad bloks ir iegūts, kalnracis pārraida šo tikko iegūto bloku visiem pārējiem kalnračiem. Pēc tam viņi pārbauda, vai bloks ir derīgs, lai viņi varētu to pievienot savai blokķēdes kopijai un darījums ir pabeigts. Bet blokā kalnračiem ir jāiekļauj arī iepriekšējā bloka izvades jaucējkods, lai visi bloki būtu sasaistīti kopā, tāpēc arī nosaukums blockchain. Tā ir svarīga daļa, jo sistēmā darbojas uzticēšanās.
Katram ogļračim savā datorā ir sava blokķēdes kopija, un ikviens uzticas tai blokķēdei, kurā ir ieguldīts vislielākais skaitļošanas darbs, proti, garākajai blokķēdei. Ja kalnracis maina transakciju iepriekšējā blokā, mainīsies šī bloka izvades jaucējkods, kas novedīs pie tā, ka pēc tam tiek mainītas arī visas jaucējzīmes, jo blokiem patīk jaukts. Kalnračim būtu jāpārstrādā viss darbs, lai kāds pieņemtu viņa blokķēdi kā īsto. Tātad, ja kalnracis vēlētos krāpties, viņam būtu nepieciešami vairāk nekā 50% no tīkla skaitļošanas jaudas, kas ir ļoti maz ticams. Šādi tīkla uzbrukumi tiek saukti par 51% uzbrukumiem.
Modelis, kas liek datoriem darboties, lai ražotu blokus, tiek saukts par Proof-of-Work (PoW), ir arī citi modeļi, piemēram, Proof-of-Stake (PoS), kuriem nav nepieciešama tik liela skaitļošanas jauda un ir paredzēts mazāk elektroenerģijas. vienlaikus nodrošinot lielāku lietotāju skaitu.

