Plokiahelad on andmebaasid. Selle asemel, et neid salvestatakse keskserveris, millele kõik kasutajad pääsevad ligi, salvestatakse plokiahela kirjed kasutajate arvutites üle kogu maailma. See teeb plokiahelast hajutatud andmebaasi, mis kasutab “peer-to-peer” arhitektuuri. Hajutatud tähendab, et andmeid hoitakse mitmes kohas ja “peer-to-peer” tähendab, et puudub keskne asutus, kes hoiab andmete põhikoopiat.
Satoshi Nakamoto Bitcoini plokiahel ei olnud esimene hajutatud andmebaas ja see ei olnud ka esimene peer-to-peer andmebaas. See ei ole esimene plokiahel. Kuid see on aluseks esimesele kaasaegsele krüptovaluutale ja see on lähtepunktiks kõigile pärast seda tulnud plokiahelatele.
Kuidas Blockchain töötab?
Oletame, et soovime andmebaasis salvestada pokkeri käe kohta andmeid. Alustame sellega, et omistame igale kaardile kaardipakis numbri: 1 on poti äss, 2 on poti 2, 3 on poti 3 kuni 52-ni, mis on ärtu kuningas. Teie käsi võib välja näha selline:
Salvestus | Kaardi väärtus |
1 | 12 |
2 | 44 |
3 | 4 |
4 | 31 |
5 | 27 |
Mõelge salvestusnumbritest kui rea numbritest arvutustabelis. Andmebaasi programmeerijad nimetavad neid kirjeteks ja plokiahela programmeerijad nimetavad neid plokkideks. Rida, kirje, plokk – need kõik viitavad ühele andmekogule.
eie vastase käsi oleks ridadel 6-10, teine käsi võib olla salvestatud ridadele 11-15 ja nii edasi. Seega, kui soovite täpsustada, millisest käest te räägite, peate lihtsalt andma andmebaasile teada, millises reas on esimene kaart.
Ahela lülid
Muidugi võivad hajutatud peer-to-peer andmebaasis teised kasutajad teiega samal ajal käsi jagada. Tõenäoliselt ei ilmu teie kaardid järjestikustele ridadele. Seega saame lisada eelmisele ja järgmisele kaardile viiteid andmete ahelasse linkimiseks:
Salvestus | Kaardi väärtus | Eelmine kaart | Järgmine kaart |
15 | 12 | 0 | 37 |
37 | 44 | 15 | 118 |
118 | 4 | 37 | 121 |
121 | 31 | 118 | 199 |
199 | 27 | 121 | 999 |
Esimene kaart salvestatakse reale 15. Kaardi väärtus on 12, mis tähendab, et see on poti emand. Teie käes ei ole eelmist rida, seega paneme veergu “Eelmine kaart” 0-i. Järgmine kaart on salvestatud reale 37.
Nii et vaatame rea 37. Ka see määrab ühe kaardi, osutab reale, kus eelmine kaart asub (15), ja osutab järgmisele kaardile, mis on salvestatud reale 118.
Informaatikas on see struktuur tuntud kui kahekordselt lingitud loend, kuna see on ligitud nii edasi kui ka tagasi suunal. Osutajad salvestatakse andmebaasi andmetena koos kaardiväärtustega.
Andmete kaitsmine
Mitte miski ei takista meid – ega häkkerid – muutmast kaardi väärtusi. See andmebaas muudab petmise lihtsaks. Igaüks, kellel on juurdepääs andmebaasile, võib muuta teie käe nelja esimese kaardi väärtust 1, 14, 27, 40 – see on neli ässa.
Andmevigade ja häkkerite eest saame kaitseks lisada veeru. Igale reale lisame veeru, mis sisaldab kaardiväärtuste summat, näiteks nii:
Salvestus | Kaardi väärtus | Eelmine kaart | Järgmine kaart | Kontrollsumma |
15 | 12 | 0 | 37 | 12 |
37 | 44 | 15 | 118 | 56 |
118 | 4 | 37 | 121 | 48 |
121 | 31 | 118 | 199 | 35 |
199 | 27 | 121 | 999 | 58 |
Näete, kuidas see toimib? Meie teise kaardi kontrollsumma väärtus on 56, mis on kahe esimese kaardi 12 ja 44 väärtuste summa. Kolmanda kaardi kontrollsumma on kahe järgmise kaardi summa. Iga kord, kui me loeme kaardi väärtust, saame arvutada kontrollsumma ja võrrelda seda andmebaasis salvestatud kontrollsummaga. Kui need ei ole samad, teame, et andmeid on võltsitud.
Teie arvutis ja nutitelefonis olevad mälukiibid tuvastavad vigu selle süsteemi abil. Seda süsteemi kasutatakse ka teie kõvaketta vigade leidmiseks.
See lihtne kontrollsummade süsteem on plokiahela tehnoloogia oluline osa. See on hästi teada juba esimese aasta informaatikaüliõpilastele.
Samuti on see häkkerite suhtes naeruväärselt kergelt haavatav. Igaüks, kellel on piisavalt juurdepääsuõigusi kaardi väärtuste muutmiseks, võib oma töö varjamiseks ka kontrollsummasid muuta. Või võib häkker muuta “eelmise kaardi” ja “järgmise kaardi” viiteid, et asendada teie käes olev kaart mõnele teisele reale salvestatud kaardiga.
Nakamoto nägi oma plokiahela arhitektuuris neid haavatavusi ette. Selle asemel, et kasutada lihtsat liitmist, et luua kontrollsummasid ja jälgida seoseid andmeahelas, kasutas ta krüptograafilist protsessi, mida nimetatakse “hashinguks” ehk räsimiseks.
Räsimine ja krüpteerimine
Räsimine loob kordumatu identifikaatori, kombineerides eelmise kirje väärtuse praeguse kirje väärtusega ühesuunalises matemaatilises protsessis, mille tulemuseks on räsiväärtus, näiteks 06C4D99F32047. Seda nimetatakse ühesuunaliseks, kuna puudub sobiv matemaatiline protsess, mis muudaks 06C4D99F32047 tagasi algandmeteks.
Plokiahelas põhineb iga ploki räsiväärtus eelmise ploki räsiväärtusel, mis põhineb ploki räsiväärtusel enne seda, kuni Nakamoto 0 plokini. Saate arvutada räsiväärtuse iga ploki jaoks ja võrrelda seda plokis salvestatud räsiväärtusega. Kui need ei ühti, on andmeid muudetud.
Tavapärases andmebaasis saab andmeid manipuleerida, seejärel arvutada uued räsiväärtused ja sisestada need järgmistesse plokkidesse või kirjetesse, et tehtud muudatusi peita. See ei tööta hajutatud peer-to-peer plokiahela andmebaasiga, sest häkker peaks samaaegselt muutma andmebaasi koopiaid, mis on salvestatud sadadesse või tuhandetesse arvutitesse.
Üks tagajärg on see, et kuigi plokiahelasse on võimalik lisada uusi andmeplokke, ei saa eelmisi plokke kustutada ega muuta. See tähendab, et te ei saa saata endale 100 000 dollarit Bitcoinis ja seejärel kustutada selle tehingu jälgi.
Iga plokiahela tehing valideeritakse selle räsimehhanismi abil.
Lisaks kehtestas Nakamoto krüpteerimise, et tagada, et plokiahelasse salvestatud andmeid saaks vaadata iga kasutaja, kuid neid saaksid dešifreerida ainult need, kellel on nõuetekohased dekrüpteerimisvõtmed. Ilma võtmeta on näha vaid mõttetute märkide voog.
Plokiahela tehnoloogia võim
Plokiahela tehnoloogia muudab andmed privaatseks, püsivaks ja kontrollitavaks. Andmed ja tehingud on avalikud, kuid krüpteerimine kaitseb neid uudishimulike silmade ja muutmise eest. Seetõttu nimetatakse Bitcoini plokiahelat sageli Bitcoini “avatud pearaamatuks”.
Kogu see räsimine ja krüpteerimine kulutab palju arvutusressursse. See on aeglane. Kogu Bitcoini plokiahela võrk on kogu maailmas piiratud 4,6 tehingu töötlemisega sekundis. Krediitkaardiettevõtted töötlevad tavaliselt keskmiselt 1700 tehingut sekundis ja väidavad, et nad on võimelised käsitlema ka 56 000 tehingut sekundis. 4,6 tehingu limiit on Bitcoini mastaapsuse probleemi peamine allikas. Arvutiteadlased töötavad selle lahendamise kallal.
Bitcoini tehinguid valideerivate arvutite võrgustik tarbib väidetavalt rohkem elektrienergiat kui kogu Šveitsi riik.
Paljud Bitcoini tehinguid kinnitavad sõlmed hoiavad kogu plokiahelat, mis on praegu umbes 250 GB jagu andmeid. Neid tuntakse täissõlmedena (full nodes). Võrgus on ka SPV-sõlmed, mis teostavad lihtsustatud maksete kontrollimist. Sõlmede loendamiseks ei ole otsest võimalust. Veebisait nimega Bitnodes pakub ajakohastatud loendust praegu võrgus olevatest ja juurdepääsetavatest sõlmedest, kuid kiire Google’i otsing näitab, et ekspertide hinnangud sõlmede arvu kohta ulatuvad 6000-st kuni 200 000-ni. Keegi ei tea tegelikult, kui palju neid on.
Kõik olluline Ethereumi kohta
Kõige laialdasemalt kasutatav plokiahel on Ethereum, mis juba sisaldab muudatusi, mis muudavad selle paindlikumaks kui on Bitcoini plokiahel. Ethereumil on oma krüptovaluuta – Ether, kuid arendajad on loonud mitmeid täiendavaid krüptovaluutasid, mis töötavad Ethereumi plokiahelal. Lisaks virtuaalsele rahale kasutatakse platvormi ka mitmesuguste rakenduste jaoks.
Üks Ethereumi peamisi eeliseid on see, et lisaks andmetele saab seal hoida ka käivitatavaid programme. Neid programme tuntakse kui “arukaid lepinguid”. Näiteks nutileping kümnise maksmiseks võiks kokku liita kogu teie kontole sel kuul lisatud Etheri ja saata 10% annetusena kirikule.
Nagu Bitcoini plokiahel, on ka Ethereum võltsimiskindel. Luksuskellade tootja Breitling annab oma kellade omanikele digitaalsed sertifikaadid, mis tõendavad nende ehtsust. Kui te müüte kella, saate sertifikaadi uuele omanikule üle anda, luues kontrollitava omanike ahela. Tehnoloogiat saab kasutada ka toiduainete päritolu jälgimiseks toidupoes, jälgides iga ülekannet. Üha rohkem inimesi hoolib eetilisest hankimisest ja plokiahelad võivad olla osa sellest.
Aastal 2020 postitas Associated Press igal minutil Ameerika presidendivalimiste tulemusi Ethereumi plokiahelasse, et luua muutumatu kirje kontrollitud ametlikest häälte lugemistest.
Ethereumi plokiahelas saab teha umbes 30 tehingut sekundis. Arendajad töötavad kõvasti Ethereumi tulevaste versioonide kallal, mis kasutavad tehnikat nimega sharding, et käivitada mitu plokiahelat korraga, kusjuures konsolideeritud tehingud postitatakse asünkroonselt kesksesse plokiahelasse. Arendajad loodavad, et Ethereumi plokiahela uued versioonid saavad hakkama koguni 100 000 tehinguga sekundis.
Kuna Ethereum kasutab nutilepinguid, toimib see platvormina paljude plokiahelaga seotud rakenduste jaoks. Enamik plokiahelapõhiseid detsentraliseeritud rakendusi – eriti detsentraliseeritud finantsrakendusi – põhinevad Ethereumi põhiahelal või privaatsetel Ethereumi plokiahelatel.
Ethereum on ka parim valik ettevõtete jaoks, kes soovivad rakendada tokenite põhist majandust. Näiteks võib ettevõte rakendada lojaalsusprogrammi, mille raames saavad kliendid iga ostu korral Acme münte. Seejärel võiks olla kingituspood, kus Acme münte saaks vahetada erinevate hüvede vastu. Ettevõte võiks luua ettevõtete võrgustiku, mis samuti aktsepteerib Acme münte, andes tokenitele ka de facto väärtuse, kuigi neid ei saa vahetada dollarite või eurode vastu.
Ja Ethereumi spetsifikatsioon ERC-721 määratleb protokolli non-fungible tokenite loomiseks. See on NFT turu aluseks.
Muud plokiahelad
Bitcoin ja Ethereum on kõige laialdasemalt kasutatavad plokiahelad, kuid nüüdseks on olemas veel sadu või tuhandeid, mis kõik põhinevad Nakamoto algsel kontseptsioonil. Plokiahelad võivad olla avalikud nagu Bitcoin plokiahel või privaatsed, mida kasutatakse sisemiseks andmehalduseks.
Teadlased on loonud mitmeid variante põhilisest plokiahela arhitektuurist. Paljud neist sisaldavad uuendusi kiirema töötlemise, suurema skaleeritavuse või madalamate tehingutasude toetamiseks. Kogu krüptomaailma projektides tegeletakse konsensusmehhanismide, allahelate koordineerimise, privaatsete plokiahelate ja muude võtmetehnoloogiatega.
Mis on plokiahel? Nüüd sa tead
Mis on plokiahela definitsioon? Kuidas plokiahela tehnoloogia töötab? Loodame, et see plokiahela selgitus on suurendanud teie arusaamist ja väärtust teie silmis selle tähelepanuväärse, revolutsioonilise peer-to-peer andmebaasi arhitektuuri ja selle rakenduste osas.
MÄRKUS
Tekst on informatiivse iseloomuga ja ei loeta investeerimissoovituseks. See ei väljenda autori või teenuse isiklikku arvamust. Igasugune investeerimine või kauplemine on riskantne, varasemad tulud ei ole garantii tulevaste tulude kohta – riskige ainult nende varadega, mida olete valmis kaotama.