Blokų grandinės (angl. „blockchain“) technologija – pakalbėkime paprastai apie nepaprastus dalykus

„Blockchain“ – kas tai yra? Paprastai ir aiškiai supažindinsime su blokų grandinės technologija, jos privalumais, veikimo principais bei pagrindinėmis savybėmis.

„Blockchain“ technologija - tai neginčijamai vienas iš didžiausių skaitmeninio pasaulio dėmesio objektų.

Blokų grandinės arba angliškai „blockchain“ technologiją, neginčijamai būtų galima pavadinti vienu iš didžiausių, pastarųjų metų, skaitmeninio pasaulio dėmesio objektų. Visi informacinių technologijų bei naujienų portalai, kiekvieną dieną praneša šviežiausias kriptopasaulio naujienas, o įvairūs ekspertai, nuolat dalijasi savo įžvalgomis bei vertina kriptovaliutų rinkos perspektyvas. Tačiau tuo metu, kai žiniasklaidos ir visuomenės žvilgsniai nukreipti į eilinius Bitcoin kurso svyravimus, užmirštamas esminis ir pats svarbiausias dalykas – būtent „blockchain“ technologija yra tas pagrindas, ant kurio veikia visos aptarinėjamos kriptovaliutos, tokenai bei visa kriptoekonomika apskritai.

Iš vienos pusės, šiuo metu yra pats palankiausias laikas verslininkams, investuotojams bei smalsiam jaunimui, pradėti gilintis į šią technologiją bei ieškoti kuo daugiau jos pritaikymo galimybių. Tačiau iš kitos pusės, norint sugalvoti naujų „blockchain“ pritaikymo idėjų, visų pirma būtina reikia kaip ši technologija veikia. Taigi, šiame straipsnyje, paprastai ir suprantamai paaiškinsime kas yra blokų grandinė, kaip ji veikia ir kodėl, daugelio ekspertų nuomone, blokų grandinės technologija laikoma kone revoliucine.

Kas yra „blockchain“ ir kodėl verta domėtis šia technologija?

Dabartiniame pasaulyje, visa mūsų kasdienybė yra užpildyta įvairia skaitmenine informacija. Tai nieko nuostabaus, juk gyvename informacijos amžiuje. Skaitmenine informacija mes labai lengvai ir patogiai dalijamės – tą dažniausiai darome interneto pagalba, naudodamiesi įvairiomis programomis, socialiniais tinklais ar specializuotais „apsais“. Tačiau ta pati skaitmeninė informacija, kuria taip lengva ir patogu dalintis, taip pat lengvai gali būti pakeista, pakoreguota arba suklastota. Taigi, kuomet kalba pasisuka apie dalijimąsi tam tikromis vertybėmis (pinigais, svarbiais duomenimis, dokumentais, tapatybe), dažniausiai grįžtame prie senų ir laiko patikrintų dalijimosi metodų.

Apie kokius senus metodus kalbame?

Pavyzdžiui, pinigų pervedimo internetu procese, visuomet dalyvauja bankas arba kita finansų įstaiga. Prireikus patvirtinti dokumento tikrumą arba sandorio teisėtumą - kreipiamės į notarą, o norint registruoti nekilnojamą turtą – vykstame tiesiai į Registrų centrą. Kalbėkime atvirai, kadangi vieni kitais nepasitikime, esame priversti naudotis tam tikromis centrinėmis institucijomis, kurioms suteikėme tam tikras teises ir įgaliojimus bei delegavome savo pasitikėjimą. Kitaip sakant, naudojamės tarpininkais, kurie turimą informaciją tikrina, tvirtina ir jeigu reikia, išduoda jos kopijas.

Dažniausiai ši sistema veikia. Tačiau taip pat neretai pasitaiko atvejų, kuomet bankininkai išvaisto klientų pinigus, notarai atgaline data patvirtina sutartį arba suklastotą testamentą, o valstybinių įstaigų tarnautojai, savo turimus įgaliojimus panaudoja piktavališkiems tikslams. Visi šie atvejai nėra naujiena ir periodiškai pasikartoja, todėl kiekvieną kartą mažina gyventojų pasitikėjimą tomis institucijomis.

Taigi, nepasitikėdami vieni kitais, esame priversti naudotis įvairių tarpininkų, kuriais taip pat ne iki galo galime pasitikėti, paslaugomis. Atrodo pakliuvome į užburtą ratą iš kurio nėra išėjimo. Tačiau visai galimas dalykas, kad nesenai atsiradusi „blockchain“ arba blokų grandinės technologija, gali pasiūlyti konkrečius šios problemos sprendimo būdus. Taigi, kas yra „blockchain“?

„Blockchain“ – kas tai?

„Blockchain“ (blokų grandinė) – tai skaitmeninė ekonominių operacijų duomenų bazė, kurioje gali būti saugomi ne tik finansiniai įrašai, bet iš esmės visi vertę turintys duomenys (pinigų likučiai, nuosavybės teisės, tapatybė, vertybiniai popieriai, draudimo įrašai, medicininiai įrašai ir pan.). Ši duomenų bazė yra decentralizuota ir veikia plačiame kompiuterių tinkle, o ne viename centriniame serveryje. Duomenų bazės įrašai saugomi duomenų blokuose, kurie tarpusavyje sujungti į vientisą duomenų blokų grandinę. Kuomet prie esamos blokų grandinės prijungiamas naujas duomenų blokas, šiame bloke esantys duomenys, daugiau niekada negali būti pakeisti.

„Blockchain“ technologija leidžia saugiai perduoti skaitmeninę informaciją iš taško A į tašką B. Tiesiog vienai sandorio pusei reikia inicijuoti perdavimo procesą ir sukurti duomenų bloką, kurį patikrina ir patvirtina tūkstančiai decentralizuotame tinkle veikiančių kompiuterių. Patvirtintas duomenų blokas įtraukiamas į blokų grandinę ir tampa neatsiejama jos dalimi. Kadangi kiekvienas blokų grandinėje esantis duomenų blokas turi savo unikalią istoriją, suklastoti kažkuriame bloke esantį įrašą, reikštų suklastoti visą duomenų blokų grandinę, kurios kopijos yra patalpintos tūkstančiuose atskirų kompiuterių. Tai praktiškai neįmanoma.

„Blockchain“ (blokų grandinė) – tai skaitmeninė duomenų bazė, kurioje gali būti saugomi iš esmės bet kokie duomenys, turintys vertę.

Pirmoji „blockchain“ pagrindu parašyta aplikacija tapo Bitcoin kriptovaliuta. Ši „blockchain“ sistema leidžia pardavėjams ir pirkėjams kontaktuoti tiesiogiai, be jokių trečiųjų šalių įsikišimo. Bitcoin tinklas leidžia pervesti pinigus be banko – centrinės institucijos, kuri visas vykdomas pinigų perlaidas stebi, patikrina ir galiausiai patvirtina. Iš esmės, blokų grandinės technologija siūlo viliojančią galimybę atsisakyti tarpininkų daugelyje gyvenimo sričių.

Taigi, duomenų saugojimo būdas blokų grandinėje pasižymi gana unikalia savybe – jis leidžia ir toliau lengvai bei patogiai dalintis skaitmenine informacija, tačiau tuo pačiu metu užtikrina ir skaitmeninės informacijos nekintamumą. Kitaip sakant, viskas, kas gali būti užrašyta popieriuje, taip pat gali būti patalpinta ir į blokų grandinę, tik čia esančių įrašų suklastoti neįmanoma.

Skamba puikiai, tačiau kyla pats svarbiausias klausimas - kaip visa tai veikia?

Pagrindinės „blockchain“ savybės

Prieš pradedant aiškintis kaip veikia blokų grandinės, pirma būtų tikslinga aptarti pagrindines šios technologijos savybes. Iš esmės, kiekviena blokų grandinė yra organizuota atsižvelgiant į šiuos pagrindinius principus:

  • Decentralizacija – duomenys saugomi ne centriniame serveryje, bet visame kompiuterių tinkle.
  • Atvirumas – bet kas gali peržiūrėti blokų grandinėje esančius įrašus.
  • Nekintamumas – duomenys, įrašyti į blokų grandinę, negali būti pakeisti ar suklastoti.

Aptarkime kiekvieną savybę detaliau:

Decentralizacija

Šiai dienai, mes dažniausiai naudojamės centralizuotomis sistemomis. Jų idėja yra paprasta. Duomenys, kurių mums kaip vartotojams gali prireikti, saugomi tam tikrame centriniame duomenų saugojimo centre. Norint šiuos duomenis gauti arba juos pakeisti, reikia tiesiogiai kreiptis į šį duomenų centrą. Geriausiai centralizuotos sistemos veikimo mechanizmą galėtų pailiustruoti paprastas pavyzdys su banku: kadangi jūsų banke ar kitoje finansų įstaigoje, kurioje turite atsidarę sąskaitą, saugomi visi duomenys apie ten laikomus pinigus, norint gauti grynųjų pinigų arba tiesiog kortele sumokėti už prekes, jūs kažkokia forma turite kreiptis į banką. Štai jums centralizuotos sistemos pavyzdys.

Iš principo, centralizuotos sistemos dažniausiai mums tarnauja pakankamai patikimai, tačiau kartu jos turi keletą rimtų trūkumų:

  • Saugumas - kadangi tokiose sistemose duomenys yra saugomi vienoje vietoje, galimo įsilaužimo atveju, įsilaužėliai tiksliai žino kur reikia nukreipti savo ataką.
  • Pasiekiamumas - jeigu dėl kažkokių priežasčių, duomenų saugojimo centras laikinai išsijungia, tokiu atveju niekas centre saugomų domenų, kurį laiką, negali pasiekti.
  • Patikimumas – jeigu dalis saugomų duomenų kažkaip būna suklastojami, tai rimtai paveikia likusių duomenų bei visos sistemos patikimumą.

Centralizuotose sistemose duomenys saugomi centriniame serveryje, o decentralizuotose sistemose duomenys vienu metu yra saugomi visuose decentralizuotame tinkle veikiančiuose kompiuteriuose.

Savo ruožtu decentralizuotose sistemose, duomenys nėra saugomi viename centriniame duomenų centre. Čia duomenys vienu metu yra saugomi visuose decentralizuotame tinkle veikiančiuose kompiuteriuose.

Kitaip sakant:

  • jei įsilaužėliai įsilaužia į vieną kompiuterį – kiti tinklo kompiuteriai ir toliau sėkmingai veikia bei palaiko sistemos funkcionavimą;
  • jei atsitinka taip, kad vienu metu išsijungia arba sugęsta net keletas tinklo kompiuterių – sėkmingą visos sistemos funkcionavimą palaiko tinkle likę veikiantys kompiuteriai;
  • jei saugomi duomenys viename iš tinklo kompiuterių yra pakeičiami arba suklastojami – likęs tinklas šiuos pakeitimus nedelsiant atmeta, kadangi daugumoje tinklo kompiuterių saugomi nepakeisti ir teisingi duomenys.

O pats svarbiausias dalykas yra tas, kad sėkmingam decentralizuotos „blockchain“ sistemos veikimui, nereikia jokios centrinės institucijos, kuri duomenis saugotų, sutikrintų ir galiausiai patvirtintų. Blokų grandinės technologija leidžia suprogramuoti visą sistemą taip, kad patys decentralizuoto tinklo dalyviai veiktų kaip duomenų saugotojai, tikrintojai ir tvirtintojai. Bet apie tai šiek tiek vėliau.

Atvirumas

Tikriausiai pati įdomiausia, tačiau taip pat labiausiai klaidinanti blokų grandinės technologijos savybė yra jos atvirumas. Iš tiesų, nors „blockchain“ tinkle visi naudotojai yra anonimiški, dažnai sakoma, kad pati blokų grandinės technologija yra skaidri ir atvira. Kaip taip gali būti?

Na, viskas ganėtinai paprasta. „Blockchain“ tinklo naudotojų tapatybės užšifruojamos sudėtingais šifravimo mechanizmais ir viešai yra matomas tik šių naudotojų viešasis adresas. Pavyzdžiui, jeigu pažvelgtumėte į Bitcoin arba kitos kriptovaliutos perlaidų istoriją, jūs tikrai nepamatysite įrašo, kad „Jonas išsiuntė Petrui 1 BTC“. Vietoje to jūs pamatysite kažką panašaus į tokį įrašą: „2jf1fhsflkbz9gz39vpfyfoewt2thpc6s9zp išsiuntė 5pq1fhsfldpsie639vpf69e6wt2thpcs6hhf 1 BTC“.

Įdomumo dėlei, pažvelkite į kitos populiarios kriptovaliutos – Ethereum perlaidų istoriją:

Ethereum kriptovaliutos perlaidų istorija.

Taigi, nors asmens tapatybė lieka nežinoma, mes galime matyti visas perlaidas, kurios buvo atliktos iš jo viešojo adreso. Ši savybė prideda taip reikalingą papildomą atskaitomybės lygį, kurio dažnai reikia valstybėms institucijoms. Pagalvokite, žinant valstybinės institucijos „blockchain“ viešąjį adresą (juk valstybinės institucijos neturi tikslo slėpti savo tapatybės), bet kuris gyventojas galėtų matyti visus šios institucijos įrašus blokų grandinėje. Svarbiausia yra tai, kad kalba gali eiti ne tik apie pinigus, bet ir apie kitus duomenis – dokumentus, leidimus, registrus ir panašiai.

Nekintamumas

Blokų grandinės nekintamumas reiškia, kad į blokų grandinę įrašyti duomenys, niekada negali būti pakeisti. Ar įsivaizduojate kaip tokia savybė būtų naudinga finansinėms institucijoms arba draudimo kompanijoms? Kiek sumažėtų sukčiavimo ar grobstymo atvejų, jeigu žmonės žinotų, kad sistemos apgauti nepavyks? Šią unikalią blokų grandinės savybę, užtikrina kriptografinė maišos funkcija (angl. hash function). Skamba sudėtingai, bet tuoj viską paaiškinsime.

Maišos funkcija – tai specialus šifravimo algoritmas, kuris bet kokio dydžio įvestą informaciją, paverčia fiksuoto dydžio užšifruotu kodu. Maišos funkcijos taiko įvairius informacijos kodavimo algoritmus. Kaip pavyzdį galime panagrinėti SHA-256 maišos funkciją, kurią naudoja populiariausia kriptovaliuta – Bitcoin.

SHA-256 maišos funkcija
Įvedama informacijaGaunamas kodas
Sveiki! 5a7c3a043b7d6b1d8ed2d747b10e6e1b4ab5f29f3b959a2b8edaf0505086c9ef
Šiuo metu nagrinėjame kaip veikia SHA-256 maišos funkcija. 3d05f40cb744d5002e0f8204e8876bb353d324bd30de5e07f5eb0c24d5074c71

Ar pastebėjote, kad abiem atvejais gaunamas tokio paties ilgio kodas? Taigi, visiškai nesvarbu kokio dydžio informacija bus įvesta į maišos funkciją, funkcija visuomet suskaičiuos vienodo ilgio kodą. Tai labai svarbi savybė, kuomet turime reikalų su dideliais informacijos kiekiais.

Susipažinkime su dar keliomis maišos funkcijos savybėmis.

Visų pirma reikėtų pažymėti, kad maišos funkcija yra deterministinė - taikant funkciją tai pačiai informacijai, ji visuomet sugrąžins vienodą rezultatą. Kitaip sakant, galime kiek nori kartų tekstui „Sveiki!“ apskaičiuoti maišos funkciją, funkcijos rezultatas niekada nepasikeis. Pažiūrėkite į lentelę apačioje.

Maišos funkcija yra deterministinė - tai pačiai informacijai visuomet sugrąžina vienodą rezultatą
Įvedama informacijaGaunamas kodas
Sveiki! 5a7c3a043b7d6b1d8ed2d747b10e6e1b4ab5f29f3b959a2b8edaf0505086c9ef
Sveiki! 5a7c3a043b7d6b1d8ed2d747b10e6e1b4ab5f29f3b959a2b8edaf0505086c9ef

Tačiau iš kitos pusės, atlikus net menkiausius įvedamos informacijos pakeitimus, maišos funkcija sugrąžina visiškai skirtingą rezultatą. Vėl pažiūrėkite į lentelę apačioje. Ar matote? Mes pakeitėme tik pirmą įvedamo žodžio raidę, tačiau gavome visiškai skirtingą rezultatą.

Atlikus net menkiausius įvedamos informacijos pakeitimus - maišos funkcija sugrąžina visiškai skirtingą rezultatą
Įvedama informacijaGaunamas kodas
Blockchain 625da44e4eaf58d61cf048d168aa6f5e492dea166d8bb54ec06c30de07db57e1
blockchain ef7797e13d3a75526946a3bcf00daec9fc9c9c4d51ddc7cc5df888f74dd434d1

Šios trys maišos funkcijos savybės leidžia patikimai užtikrinti visos blokų grandinės nekintamumą.

Norite sužinoti kaip?

Ar pamenate, straipsnio pradžioje minėjome, kad visi „blockchain“ įrašai yra saugomi duomenų blokuose, kurie tarpusavyje sujungti į vientisą duomenų blokų grandinę?

Taigi, duomenų blokai į vientisą grandinę yra sujungiami specialia nuoroda, kuri susideda iš prieš tai esančio duomenų bloko informacijos, užkoduotos su maišos funkcija. Kaip matėme aukščiau esančiame pavyzdyje, nors truputį pakeitus į maišos funkciją įvedamą informaciją, funkcija sugrąžina visiškai skirtingus rezultatus. Būtent dėl šios priežasties, net ir nedidelis duomenų pasikeitimas viename iš „blockchain“ grandinės duomenų blokų, visiškai pakeičia esamą blokų grandinę, ko pasėkoje, pakeista grandinės versija, likusių tinklo dalyvių būna atmetama kaip neteisinga.

Vis dar nelabai aišku kaip veikia blokų grandinė? Nieko tokio, kadangi toliau mes vaizdžiai parodysime kaip mūsų aptartos trys pagrindinės „blockchain“ sistemos savybės veikia kartu, sukurdamos saugų informacijos saugojimo ir dalijimosi mechanizmą.

Kaip veikia „blockchain“ technologija?

Nors, kaip minėjome anksčiau, „blockchain“ grandinėje galima saugoti bet kokią informaciją, paprastumo dėlei, kaip pavyzdį naudosime Bitcoin kriptovaliutą. Bitcoin yra pirma ir seniausiai šiuo metu veikianti blokų grandinė. Kiekvienas šios grandinės blokas vidutiniškai užima apie 1 MB, o pačioje grandinėje saugomas duomenų kiekis, šiai dienai jau viršija 242 GB. Blokų grandinėje saugomi tik su kriptovaliutos pavedimais susiję duomenys. Kitaip sakant, Bitcoin blokų grandinė yra didžiulis visų iki šiol įvykdytų šios kriptovaliutos pavedimų registras, pradedant nuo pat pirmosios operacijos.

Taigi, šiame pavyzdyje aptarsime menamą kriptovaliutos pavedimą, atliekamą „blockchain“ tinkle.

Kaip skaitmeninis parašas yra susijęs su blokų grandinėmis?

Su blokų grandinėmis dažniausiai bendraujama kriptovaliutų piniginių arba kitų kompiuterinių programų pagalba. Šios kompiuterinės programos, žmonėms suteikia patogią vartotojo sąsają, kuria naudodamiesi jie gali daug lengviau sąveikauti su sudėtingu decentralizuotu tinklu. Kalbant paprastai, darant kriptovaliutos pavedimą, žmogui tiesiog reikia įvesti reikiamą sumą, nurodyti adresatą bei paspausti mygtuką ir viskas kas gero turi įvykti - kažkur, kažkaip įvyksta.

Tačiau jeigu mes norime suprasti kaip veikia blokų grandinės technologija, tokio paviršutiniško žinojimo mums tikrai nepakanka. Taigi, kapstomės giliau.

Kiekviena kriptopiniginė ar kita kompiuterinė programa, suteikianti galimybę patogiai sąveikauti su įvairiais „blockchain“ tinklais, dažniausiai mums automatiškai sugeneruoja viešą bei privatų raktą. Viešasis raktas – tai mūsų adresas, kuris nesibaiminant gali būti skelbiamas viešai, o privatų raktą visuomet būtina saugoti ir laikyti paslaptyje. Pakartosime dar kartą – niekuomet, niekam ir jokiomis aplinkybėmis neatskleiskite savo privataus rakto!

Viešąjį raktą būtų galima palyginti su pašto dėžute – visi žino jos adresą ir gali palikti joje žinutę, tačiau norint dėžutę atrakinti ir ten esančią žinutę perskaityti, reikia turėti šios pašto dėžutės raktą. Todėl privatų aktą būtų galima palyginti su pašto dėžutės raktu – tik asmuo, turintis raktą nuo pašto dėžutės, gali ją atrakinti ir perskaityti visas žinutes esančias viduje.

Viešojo ir privataus raktų pora, taip pat suteikia galimybę save identifikuoti elektroninėje erdvėje.

Viešojo ir privataus raktų pora, taip pat suteikia galimybę save identifikuoti elektroninėje erdvėje. Pavyzdžiui, siunčiamą pranešimą pasirašius savo privačiu raktu, sukuriamas šio pranešimo skaitmeninis parašas, kurio autentiškumas gali būti patikrintas su viešuoju raktu. Kitaip sakant, tik su privačiu raktu suporuotas viešasis raktas, gali patvirtinti skaitmeninio parašo autentiškumą. Taigi, jeigu siuntėjo viešai skelbiamas viešasis raktas patvirtina skaitmeninio parašo autentiškumą, galime būti įsitikinę, kad pranešimą tikrai pasirašė jo siuntėjas.

Pažiūrėkime kaip ši skaitmeninio parašo savybė veikia „blockchain“ sistemoje. Sakykime, kad Tomas nori nusiųsti Arūnui 1 BTC. Taip, šiai dienai tai gana nemažai, tačiau Tomas ir Arūnas yra labai geri draugai. Kaip minėjome anksčiau, Tomas greičiausiai naudosis kažkuria kriptovaliutos pinigine, todėl jam tereikės įvesti sumą, nurodyti Arūno adresą ir paspausti mygtuką „Siųsti“. Viskas, Tomas 1 BTC išsiuntė, Arūnas 1 BTC gavo, abu draugai liko patenkinti. Tačiau kas iš tikrųjų įvyko „blockchain“ tinkle?

Štai svarbiausi žingsniai:

  1. Tomas suformavo pranešimą, kad nori Arūnui nusiųsti 1 BTC ir jį pasirašė su savo privačiu raktu. Pasirašius pranešimą buvo sukurtas skaitmeninis parašas. Tomo pranešimą ir skaitmeninį parašą, pavadinkime pavedimu.

Suformuojamas kriptovaliutos pavedimas.

  1. Tomo naudojama kriptovaliutos piniginė ar kita kompiuterinė programa, apie šį naują pavedimą, informuoja kitus decentralizuoto tinklo dalyvius.

Apie suformuotą pavedimą informuojamas decentralizuotas tinklas.

  1. Likę decentralizuoto tinklo dalyviai pirma turi įsitikinti, kad šis pavedimas tikrai yra Tomo. Tai jie gali padaryti pasinaudoję Tomo viešuoju raktu, kurį visi žino.

Pavedimas patvirtinamas viešojo rakto pagalba.

  1. Kuomet tinklas įsitikina, kad tai tikrai Tomas, jo pavedimas patenka į blokų grandinės duomenų bloką, tarp visų kitų pavedimų (atminkite, juk Bitcoin grandinės domenų blokas vidutiniškai gali sutalpinti apie 1 MB duomenų).

Patvirtintas pavedimas įtraukiamas į blokų grandinę.

Kaip matote, skaitmeninis parašas vaidina labai svarbų vaidmenį blokų grandinės veikime, užtikrindamas patikimą tinklo vartotojų identifikavimą. Juk vykstant vertės mainams elektroninėje erdvėje, abi sandorio šalys turi žinoti, kad lėšos ar kitas turtas ateina iš ten iš kur turi ateiti ir yra įskaitomas ten, kur ir turi būti įskaitytas.

Na, o kaip manote, kas toliau vyksta su tuo blokų grandinės duomenų bloku į kurį pateko ir Tomo pavedimas? Tuojau išsiaiškinsime.

Pagrindiniai „blockchain“ duomenų bloko konstrukciniai elementai

Kiekvieną „blockchain“ duomenų bloką sudaro 4 pagrindiniai elementai:

  • Duomenys.
  • Prieš tai esančio bloko maišos funkcija.
  • Atsitiktinių skaičių eilutė.
  • Bloko maišos funkcija.

Kiekvieną „blockchain“ duomenų bloką sudaro 4 pagrindiniai elementai: duomenys; prieš tai esančio bloko maišos funkcija; atsitiktinių skaičių eilutė; bloko maišos funkcija.

Iš esmės, į duomenų bloką galima patalpinti bet kokią informaciją. Ethereum kriptovaliutos kūrėjai į savo blokų grandinę įsigudrino patalpinti netgi kompiuterines programas, kurios esant tam tikroms sąlygoms pačios aktyvuojasi arba išsijungia. Šis techninis sprendimas leido atsirasti taip vadinamoms išmaniosioms sutartyms (angl. smart contract), kurios pasižymi labai įdomiomis savybėmis. Mūsų atvejų, „blockchain“ duomenų blokas bus užpildytas šimtais pavedimų, tarp kurių yra ir Tomo siunčiamas 1 BTC Arūnui.

Blockchain duomenų blokas iš esmės gali būti užpildytas bet kokiais duomenimis. Mūsų atveju, jis užpildytas finansiniais pavedimais.

Mūsų duomenų bloko maišos funkcija yra apskaičiuojama visai bloke saugomai informacijai. Kaip matėme anksčiau, maišos funkcijos rezultatas yra unikali ir nepasikartojanti skaičių bei raidžių kombinacija. Ši unikali kombinacija identifikuoja kiekvieną duomenų bloką visoje blokų grandinėje, todėl maišos funkcijos rezultatą galėtume palyginti su duomenų bloko „piršto atspaudu“.

Duomenu bloko maišos funkcija identifikuoja kiekvieną duomenų bloką blokų grandinėje, todėl jos rezultatą galėtume palyginti su duomenų bloko „piršto atspaudu“.

Duomenų blokas taip pat turės ir prieš jį esančio duomenų bloko maišos funkciją, kuri tarsi sujungia šiuos du duomenų blokus į vientisą grandinę. Kaip matote žemiau esančiame paveikslėlyje, dabar bloko Nr. 2 maišos funkcijos rezultatas, priklauso nuo bloko Nr. 1 maišos funkcijos rezultato, o bloko Nr. 3, nuo bloko Nr. 2. Visi blokai grandinėje, priklauso vienas nuo kito.

Kuomet duomenų blokai sujungiami bloku grandineje, visi blokai priklauso vienas nuo kito.

Kaip minėjome anksčiau, viena pagrindinių blokų grandinių savybių yra ta, kad į grandinę įrašyti duomenys niekada negali būti pakeisti. Dabar pažiūrėkime kodėl.

Įsivaizduokite, kad duomenys bloke Nr. 1 kažkokiu būdu buvo pakeisti. Pasikeitus bloko duomenims, pasikeitė ir bloko Nr. 1 maišos funkcijos rezultatas. Kadangi dabartinis bloko Nr. 1 maišos funkcijos rezultatas jau nebesutampa su bloke Nr. 2 įrašytu, prieš tai buvusiu, to pačio bloko Nr. 1 maišos funkcijos rezultatu, vadinasi blokai Nr. 1 ir Nr. 2 nebėra sujungti.

Pakeitus duomenis viename iš duomenų blokų, blokai tampa nesujungti į vieną grandinę.

Vadinasi, norint vėl tinkamai sujungti bloką Nr. 1 su bloku Nr. 2, reikėtų pakeisti ir bloke Nr. 2 esantį bloko Nr. 1 maišos funkcijos rezultatą. Tačiau atkreipkite dėmesį, kad tai padarius, pasikeis pačio bloko Nr. 2 maišos funkcijos rezultatas, kuris nesutaps su bloke Nr. 3 įrašytu, prieš tai buvusiu, bloko Nr. 2 maišos funkcijos rezultatu. Šiuo atveju, blokų grandinė nutrūksta tarp blokų Nr. 2 ir Nr. 3. Tokią nutrūkusią blokų grandinės versiją, likę tinklo dalyviai tiesiog ignoruos, nes tai akivaizdus ženklas, kad duomenys grandinėje buvo pakeisti.

Pakeitus duomenis viename iš duomenų blokų, reikia pakeisti ir kiekvieną po jo sekantį duomenų bloką iki pat grandinės galo. Tai yra beveik neįmanoma.

Norint kad duomenų pakeitimo faktas liktų nepastebėtas, visi duomenų blokai turi būti sujungti į vientisą grandinę. Tai reiškia, kad pakeitus duomenis viename iš duomenų blokų, reikia pakeisti ir kiekvieną po jo sekantį duomenų bloką iki pat grandinės galo. To padaryti yra praktiškai neįmanoma. O norint suprasti kodėl, privalome detaliau pasiaiškinti naujų duomenų blokų prijungimo prie blokų grandinės procesą.

Naujų duomenų blokų prijungimas prie blokų grandinės

Naujas duomenų blokas prie esamos blokų grandinės prijungiamas tuomet, kai jis yra pasirašomas (t.y. apskaičiuojama šio bloko maišos funkcija). Iš pirmo žvilgsnio atrodo paprasta, tačiau jei iš tikrųjų būtų taip paprasta kaip atrodo, tuomet kiekvienas norintis galėtų pakeisti bet kuriame duomenų bloke saugomą informaciją, bloką iš naujo pasirašyti ir taip padaryti su kiekvienu duomenų bloku iki pat grandinės galo. Tad kas neleidžia kiekvienam norinčiam pasirašyti duomenų bloko?

Žemiau esančiame paveikslėlyje matote prie Bitcoin blokų grandinės jau prijungtų duomenų blokų istoriją. Gyvai blokų pasirašymo procesą galite stebėti apsilankę Blockchain.com svetainėje. Ar pastebėjote kažką neįprasto? Atkreipkite dėmesį į kiekvieno duomenų bloko maišos funkcijos rezultatus. Kas tarp jų yra bendro?

Bitcoin kriptovaliutos blokų grandinės istorija.

Patys akyliausi matyt pastebėjo iškarto, kad visų prie esamos blokų grandinės prijungiamų duomenų blokų maišos funkcijos rezultatas, prasideda iš eilės einančių nulių seka. Taigi, pasirodo ne kiekvienas maišos funkcijos rezultatas yra tinkamas duomenų bloko pasirašymui. Tam, kad duomenų blokas būtų prijungtas prie blokų grandinės, jo maišos funkcijos rezultatas privalo atitikti nustatytus reikalavimus – pavyzdžiui, prasidėti tam tikru skaičiumi iš eilės einančių nulių.

Na, atidžiausi skaitytojai iš karto ims prieštarauti, juk maišos funkcija yra deterministinė! Jeigu duomenų blokui apskaičiavus maišos funkciją, funkcijos rezultatas neprasideda tam tikru iš eilės einančių nulių skaičiumi, šiam duomenų blokui funkciją galima perskaičiuoti nors milijoną kartų – rezultatas vis tiek nepasikeis. Visiškai teisingai, todėl siekiant gauti reikalavimus atitinkantį rezultatą, duomenis bloke reikia keisti. Kadangi bloke įrašytų pavedimų duomenų bei prieš tai esančio bloko maišos funkcijos rezultato keisti negalime, čia į pagalbą mums ateina ketvirtasis duomenų bloko elementas - atsitiktinių skaičių eilutė.

Kiekviename bloke esančios atsitiktinių skaičių eilutės pagrindinis ir vienintelis uždavinys yra keisti bloke esančius duomenis, kol bus gautas reikalavimus atitinkantis maišos funkcijos rezultatas. Pasikartojantis atsitiktinių skaičių eilutės keitimo ir maišos funkcijos duomenų blokui apskaičiavimo procesas, kriptopasaulyje vadinamas „kasimu“.

"Kasimas" - tai procesas kuomet „kasėjai“, naudodami savo kompiuterių skaičiavimo pajėgumus, bando atspėti tokią atsitiktinių skaičių eilutės reikšmę, su kuria bloko maišos funkcijos rezultatas atitiktų duomenų bloko prijungimo prie blokų grandinės reikalavimus.

„Kasimą“ vykdo „kasėjais“ vadinami decentralizuoto tinklo dalyviai. „Kasėju“, gali tapti bet kas, tiesiog į kompiuterį reikia įdiegti specialią kompiuterinę programą. „Kasėjai“, naudodamiesi savo kompiuterių skaičiavimo pajėgumais, nuolat keičia atsitiktinių skaičių eilutės reikšmę ir tikrina ar bloko maišos funkcijos rezultatas su pakeista atsitiktinių skaičių eilutės reikšme, atitinka duomenų bloko prijungimo prie blokų grandinės reikalavimus (pavyzdžiui, prasideda tam tikru skaičiumi iš eilės einančių nulių). Kuo didesnius kompiuterių skaičiavimo pajėgumus „kasėjas“ turi, tuo daugiau atsitiktinių skaičių kombinacijų jis gali patikrinti.

Vadinasi duomenų blokas, kuriame įrašytas Tomo 1 BTC pavedimas Arūnui, kantriai lauks savo eilės būti visam laikui prijungtam prie blokų grandinės. Tūkstančiai kasėjų visame pasaulyje bandys išspręsti jiems duotą galvosūkį ir atspėti teisingą šio bloko atsitiktinių skaičių eilutės reikšmę. „Kasėjas“ kuriam tai pavyks, įgaus teisę ne tik prijungti naują duomenų bloką prie blokų grandinės, bet ir bus apdovanotas už savo sunkų darbą, tam tikru kiekiu Bitkoinų.

Tačiau tai dar nėra viso proceso pabaiga. Pamenate, anksčiau minėjome, kad blokų grandinės kopijos yra saugomos visame decentralizuotame tinkle? Kiekvieną kartą, kuomet prie esamos blokų grandinės prijungiamas naujas blokas, tinklo dalyviai patikrina ar siūloma nauja blokų grandinės versija atitinka jų turimas. Naujas blokas prie esamos blokų grandinės prijungiamas tik tuomet, kai visi tinklo dalyviai sutinka su jo prijungimu ir nauja blokų grandinės versija.

Decentralizuoto tinklo dalyviai patikrina siūlomą naują blokų grandinės versiją ir jeigu ši sutapa su tinklo dalyvių turima versija, prie kiekvienos tinkle esančios blokų grandinės kopijos bus pridėtas ir naujas duomenų blokas.

Taigi, užduotį įveikęs „kasėjas“, norėdamas gauti apdovanojimą, pirma apie savo sėkmę turės pranešti visam likusiam decentralizuotam tinklui. Tinklo dalyviai patikrins „kasėjo“ siūlomą blokų grandinę ir jeigu ši sutaps su tinklo dalyvių turima versija, prie kiekvienos tinkle esančios blokų grandinės kopijos bus pridėtas naujas „kasėjo“ pasiūlytas duomenų blokas.

Trumpai apie „blockchain“ technologijos perspektyvas

Na štai, atrodo Tomo išsiųstas 1 BTC pagaliau pasiekė Arūną. Tikimės, kad šis straipsnis leido jums geriau suprasti kas yra blokų grandinės ir kaip jos veikia. Kalbant apie „blockchain“ perspektyvas, šiai dienai vis dar sunku prognozuoti kuriomis kryptimis technologija vystysis ir kuriose srityse bus geriausiai pritaikyta. Nors blokų grandinių technologijos pritaikymo galimybių yra nemažai, tikriausiai dar prireiks keleto metų kol pamatysime sėkmingai veikiančius pavyzdžius. Bet kokiu atveju, jeigu „blockchain“ technologija bus sparčiai vystoma ir toliau, tik laiko klausimas kada ji pakeis dabar veikiančius verslo modelius.

Svetainė InvesticijosIrFinansai.lt nėra skolintojas, finansų ekspertas, patarėjas ar jokia kita finansinė institucija. Šioje svetainėje pateikiamas turinys nėra ir neturėtų būti suprantamas kaip patarimas, rekomendacija, pasiūlymas ar skatinimas pirkti, parduoti, sudaryti sandorį ar atlikti kitus veiksmus su finansinėmis priemonėmis. Prieš priimant sprendimą investuoti, primygtinai rekomenduojame atidžiai įvertinti savo finansinę situaciją, pasikonsultuoti su nepriklausomu finansų patarėju ir įsitikinti, jog aiškiai suprantate su investicija susijusią riziką. Investuokite atsakingai!

 

Informuojame, kad šioje svetainėje naudojami slapukai (angl. Cookies). Naršydami toliau jūs sutinkate su mūsų Privatumo politika ir slapukų naudojimu.