Kas yra kriptoekonomika ir kaip tokenai gali pakeisti šiuolaikinę ekonomikos sampratą?
Kriptoekonomika (angl. crypto economy) – daugiau nei dar vienas technologinis burtažodis, tai naujas būdas vystyti ekonomiką. Sužinokite kaip tokenizacija gali pakeisti pasaulį.
„Šiandienos mokslas – tai rytojaus technologijos“ – Edvardas Teleris
Kartu su naujomis technologijomis bei naujais senų problemų sprendimo būdais, dažniausiai ateina ne tik naujų galimybių, bet ir pokyčių metas. Visai gali būti, kad būtent šiuo metu mes esame ant didelių pokyčių, galinčių pakeisti ir šiuolaikinę ekonomikos sampratą, slenksčio. Šių pokyčių priežastis – vis didesnius vystymosi ir plėtros tempus įgaunanti kriptoekonomika bei jos pagrindu kuriami nauji technologiniai sprendimai, dažnai siūlantys netradicinius ir visiškai netikėtus problemų sprendimo būdus. Nors Investicijos ir Finansai visų pirma yra portalas investuotojams, tačiau technologijų ir ypač finansinių technologijų srityje vykstančių pokyčių ingoruoti negalime, todėl dalį portalo skirsime kriptoekonomikos naujienoms aptarti.
Kas yra kriptoekonomika?
Sąvoka „kriptoekonomika“, daugelį pradedančių domėtis šia sritimi, gali stipriai klaidinti, kadangi iš pirmo žvilgsnio, ši sąvoka, tarsi apibūdina šalia ekonomikos veikiančią kažkokią naują (alternatyvią) ekonomikos „kripto“ rūšį, kuriai galioja visai kiti gyvenimo dėsniai. Reikėtų pažymėti, kad bendru atveju, ekonomika – tai mokslas nagrinėjantis žmonių pasirinkimo ir jų poreikių tenkinimo klausimus. Visai nesenai atsiradusi blockchain technologija ir jos pagrindu išleidžiamos kriptovaliutos - žmonių nepakeitė. Žmonės ir toliau privalo rinktis geriausius būdus savo poreikiams patenkinti, atsižvelgdami į turimus ribotus išteklius, todėl ekonomikos nagrinėjami klausimai išlieka bei artimiausiose ateityje išliks aktualūs.
Iš kitos pusės, negalima ignoruoti ir technologinio progreso bei to fakto, kad atsiradusi blockchain technologija kėsinasi pakeisti tam tikras aplinkos, kurioje veikia ekonomika, sąlygas. Tradicinės ekonomikos teorijos jau nebegali pilnai paaiškinti skaitmeninėse ekonominėse sistemose vykstančių procesų, papildytų kriptografijos mokslo bei sistemos dalyvių anonimiškumo, sprendimų priėmimo automatizavimo ir kontrolės mechanizmų decentralizavimo idėjomis. Akivaizdu, kad tokiu atveju, tradicinę ekonomikos sampratą būtina papildyti naujais aiškinimo ir supratimo metodais, todėl kriptoekonomiką reikėtų suprasti kaip ekonomikos šaką, nagrinėjančią ekonominius klausimus decentralizuotose skaitmeninėse sistemose.
Štai, pavyzdžiui Vlad Zamfir, vienas iš žymiojo Ethereum kūrėjų, kriptoekonomiką apibūdina taip: „Kriptoekonomika nagrinėja prekių bei paslaugų gamybą, paskirstymą ir vartojimą decentralizuotoje skaitmeninėje ekonomikoje.“
Taigi, galima teigti, kad kriptoekonomika, sujungusi kriptografijos bei ekonomikos mokslus, nagrinėja saugių ir ekonomiškai tikslingų decentralizuotų skaitmeninių sistemų kūrimo būdus. Kriptografijos dedamoji – atsako už duomenų ir pačios kriptoekonominės sistemos saugumą bei atsparumą įvairaus pobūdžio vidaus ar išorės atakoms, o ekonomikos dedamoji – užtikrina veiklos sistemoje ekonominį pagrįstumą.
Ekonominės aplinkos pokyčiai paskatinę kriptoekonomikos atsiradimą
Be jokios abejonės, kriptoekonomikos atsiradimui daugiausia įtakos turėjo informacinių technologijų naujovės ir kriptografijos mokslo pasiekimai. Kuomet Satoshi Nakamoto pirmą kartą aprašė Bitkoiną, jis/ji/jie pademonstravo, kad sumaniai suderinus informatikos, kriptografijos ir ekonomikos disciplinas, galima sukurti skaitmenines sistemas, pagrįstas naujais technologiniais sprendimais. Tačiau iš kitos pusės, kartu su informacinėmis technologijomis vystėsi ir pati ekonomika. Visa eilė ekonominėje aplinkoje įvykusių pokyčių, taip pat sudarė sąlygas, būtent šiuo metu atsirasti kriptoekonomikai.
Trumpai apžvelkime tik keletą iš jų:
- Skirtumas tarp skolos ir nuosavybės vertybinių popierių. Tokių finansinių instrumentų kaip privilegijuotos akcijos ar konvertuojamos obligacijos atsiradimas, iš esmės panaikino skirtumus tarp skolos ir nuosavybės vertybinių popierių bei leido atsirasti naujoms investavimo į bendroves formoms. Pavyzdžiui tokenas, kuris yra kriptoekonomikos produktas ir gali būti panaudotas investicijoms pritraukti, iš esmės turi tiek skolos, tiek nuosavybės vertybinių popierių savybių, nors aiškiai negali būti priskirtas nei vienam iš jų.
- Turto pobūdis. Šiuo metu, didžiausių pasaulio kompanijų pagrindinę vertę sudaro nematerialus turtas. Nematerialus turto reikšmės padidėjimas kompanijų balansuose, sukelia rimtų apskaitos ir vertinimo problemų, kadangi nematerialaus turto tikrąją vertę labai sunku objektyviai nustatyti. Kriptoekonomikoje sukuriamas turtas, savo savybėmis iš esmės nesiskiria nuo tradicinio nematerialaus turto.
Nuo ko pradėti suprasti kriptoekonomiką?
Stebint kriptovaliutų bei ICO (Initial Coin Offering) rinkas, gali susidaryti įspūdis, jog šios rinkos veikia tikrų laukinių vakarų sąlygomis ir jose vykstantiems procesams trūksta aiškių žaidimo taisyklių. Iš vienos pusės, reikia pripažinti, kad kriptoekonomika – tai visiškai jauna ekonomikos šaka, dar neturinti efektyvių reguliacinių mechanizmų ir daugelis joje vykstančių procesų nėra standartizuoti bei tinkamai integruoti į kitas gyvenimo sritis. Žinoma, toks reguliacinių mechanizmų ir bendrų standartų nebuvimas, sąlygoja didesnį neapibrėžtumo ir rizikos lygį kriptorinkos dalyviams, tačiau tai ne technologiniai, o reguliaciniai bei etiniai rinkos dalyvių elgsenos klausimai, kurie anksčiau ar vėliau bus išspręsti.
Iš technologinės pusės, kriptovaliutą arba ICO procesą valdantis decentralizuotas tinklas ir visi šio tinklo dalyviai, veikia pagal aiškiai nustatytas ir aprašytas taisykles. Šios taisyklės, iš anksto suprogramuotos decentralizuoto tinklo protokoluose, leidžia sudaryti aiškią ir skaidrią kriptoekonominės sistemos dalyvių tarpusavio santykių struktūrą. Būtent aiškiai nustatyta santykių struktūra, leidžia kurti saugias, patikimas bei visuomenei naudingas kriptoekonomines sistemas.
Taigi, siekiant ne tik paviršutiniškai, bet iš esmės suprasti kriptoekonomiką bei kokius pokyčius į mūsų gyvenimus gali atnešti jos pagrindu sukurti produktai, būtina pasigilinti į šio naujo reiškinio detales ir susipažinti su pagrindiniais kriptoekonomikos konstrukciniais elementais.
Iš esmės, trys pagrindiniai konstrukciniai elementai ant kurių laikosi visa kriptoekonomika – tai decentralizacija, kriptografija ir ekonomika. Jei į klausimą, kas yra kriptoekonomika, pabandytume atsakyti matematikos kalba, matyt geriausias atsakymas būtų ši paprasta formulė:
$$Kriptoekonomika = Decentralizacija + Kriptografija + Ekonomika$$
Decentralizacija – idėja, leidžianti sukurti sistemas neturinčias centrinio kontrolės ar sprendimų priėmimo centro. Visi decentralizuotos sistemos dalyviai tampa duomenų turėtojais, duomenys saugomi visur ir kartu niekur.
Kriptografija – tai kriptoekonominių sistemų pagrindas, užtikrinantis pilną duomenų bei ryšio tarp sistemos dalyvių saugumą.
Ekonomika – kriptoekonominėje sistemoje nustatytos ekonominės veiklos taisyklės, užtikrinančios sklandų sistemos veikimą bei skatinančios visų sistemos dalyvių racionalų elgesį, siekiant ekonominės naudos.
Taigi, be aukščiau išvardintų pagrindinių kriptoekonomikos konstrukcinių elementų pritaikymo, tokios šiuo metu populiarios blockchain aplikacijos kaip Bitkoinas, Ethereum ir kitos kirptovaliutos - būtų tiesiog neįmanomos. Būtent kriptografijos mokslo pasiekimai ir ekonominiai skatinimo mechanizmai leidžia sukurti tokias decentralizuotas sistemas, kuriose be jokio centrinio kontrolės centro poreikio, sistemos dalyviai visuomet sugeba pasiekti bendrą susitarimą dėl sistemos būsenos.
Kitaip sakant, norint suprasti kas yra kriptoekonomika ir kokias gyvenimo sritis ji artimiausioje ateityje gali paliesti, neišvengimai reikia susipažinti su kiekvienu šio reiškinio konstrukciniu elementu atskirai ir aiškiai suprasti jo vaidmenį bendroje sistemoje. Tą toliau ir padarysime.
Decentralizacija – dažniausiai minima, tačiau mažiausiai paaiškinta sąvoka kriptoekonomikoje
Tūkstančiai valandų paskirta tyrimams ir apmąstymams bei milijonai eurų yra išleista elektros energijai ir vaizdo plokštėms dėl vienintelio tikslo – pasiekti, tobulinti ir išlaikyti decentralizaciją. Kita vertus, nors kalbant apie kriptoekonomiką, decentralizacija patapo vos ne blockchain technologijos sinonimu, kartu tai mažiausiai paaiškinta bei aprašyta sąvoka. Todėl toliau pabandysime pasiaiškinti kas yra decentralizacija, kodėl ji reikalinga ir ar būtina visuomet jos siekti apskritai.
Tikriausiai reikėtų pradėti nuo to, kad blockchain nėra pirmoji, žmonių sukurta ir naudojama, decentralizuota technologija. Nors sąvoka „decentralizacija“ daugeliui gali būti negirdėta ir menkai pažįstama, tačiau apie Torrent tinklą yra girdėję ir tikriausiai išbandę (žinoma edukaciniais tikslais) daugelis internetu besinaudojančių žmonių. Paprastai sakant, Torrent – tai decentralizuotas tinklas, kuriame šio tinklo nariai gali keistis įvairiais duomenimis ir informacija.
Pagal Torrent tinklo idėją, žmonės gali atsisiųsti reikalingus duomenis iš kitų tinklo naudotojų, o atsisiųstus duomenis toliau laikyti savo kompiuteryje ir taip dalintis jais su kitais tinklo nariais. Tačiau tokia Torrent architektūra turi vieną esminę problemą – tinklas veikia garbės ir pasitikėjimo pagrindu. Jeigu vienas iš Torrent tinklo narių atsisiunčia duomenis į savo kompiuterį, iš šio nario tikimasi, kad atsisiųstus duomenis jis toliau laikys savo kompiuteryje ir dalinsis jais su kitais tinklo nariais. Tačiau, kaip rodo Torrent naudojimo praktika, žmonės nėra pačios garbingiausios ir patikimiausios būtybės žemėje. Iš tinklo atsisiųsti duomenys, dažniausiai yra pakankamai greitai pašalinami iš kompiuterių, kadangi be jokios asmeninės ekonominės naudos, kompiuteryje laikyti daug vietos užimančią informaciją, tiesiog nėra prasmės.
Kitaip sakant, decentralizuotam Torrent tinklui trūksta ekonominio dalyvių skatinimo mechanizmo, kuris verstų tinklo dalyvius laikytis nustatytų taisyklių. Šią spragą, 2008 metais užpildė Satoshi Nakamoto paskelbtos idėjos, kurios tapo blockchain technologijos ir Bitkoino pagrindu. Bet apie tai šiek tiek vėliau.
Kas yra decentralizacija?
Bendru atveju, decentralizacija – tai procesas apimantis funkcijų, įgaliojimų, atsakomybės ir resursų perdavimą arba paskirstymą iš centrinių valdymo centrų į pavaldžius, žemesnio lygio, centrus. Decentralizacijos principai gali būti taikomi darbo organizavimo, vadybos, verslo ir kito tipo organizacijų struktūros formavimo, viešojo administravimo, finansų, ekonomikos bei žinoma technologijų srityse.
Kalbant apie decentralizuotas sistemas, mes turime omenyje tokias sistemas, kuriose žemesnio lygio sistemos komponentai, veikia savarankiškai savo vietinėje aplinkoje ir siekia įgyvendinti visai sistemai keliamus uždavinius. Kitaip sakant, centralizuotose sistemose, centrinis sprendimų priėmimo centras, tiesiogiai arba pagal griežtą hierarchijos grandinę, valdo žemesnio lygio centralizuotos sistemos komponentus ir yra atsakingas už visos sistemos veiklą. Tuo tarpu decentralizuotų sistemų veikimas yra paremtas vadinamu paskirstytos kontrolės mechanizmu, kuomet kiekvienas atskiras sistemos komponentas yra vienodai atsakingas už visos decentralizuotos sistemos veiklą.
Vienas iš Ethereum kūrėjų Vitalik Buterin, savo straipsnyje decentralizuotus tinklus siūlo vertinti trimis pagrindiniais aspektais: architektūriniu, politiniu bei loginiu.
- Tinklo architektūros decentralizacija – kiek savarankiškų komponentų (blockchain tinklo atveju - kompiuterių) tinklas turi ir kiek visų turimų komponentų vienu metu gali sugesti, nepadarydami įtakos tinklo veiklai?
- Politinė tinklo decentralizacija – kiek asmenų ar organizacijų kontroliuoja tinklą sudarančius komponentus?
- Tinklo loginė decentralizacija – ar tinklo duomenų struktūra ir sąsajos tarp tinklo komponentų veikia kaip vienalytė sistema, ar kaip beformis komponentų spiečius? Kitaip sakant, jei visas tinklas būtų padalintas per pusę, ar abi padalintos pusės galėtų toliau veikti kaip atskiri ir nepriklausomi vienetai?
Taigi, nagrinėjant decentralizacijos procesą sisteminiu požiūriu, galima padaryti labai įdomius vertinimus dėl pačios blockchain technologijos decentralizacijos lygio. Nors blockchain yra architektūriškai (nėra centrinio komponento, kuriam sugedus sistema nebeveiktų) ir politiškai (tinklo niekas nekontroliuoja) decentralizuota sistema, tačiau pačios blokų grandinės padalinti į dvi dalis negalima. Blokų grandinė veikia kaip vienalytė duomenų struktūra, kuri yra atsakinga už vienintelę, „teisingą“ sistemos būseną, todėl akivaizdu, kad blockchain sistemos yra logiškai centralizuotos.
Kita vertus, ta pati vienalytė blokų grandinės duomenų struktūra yra vienas pagrindinių blockchain technologijos privalumų, todėl į loginį blockchain tinklo centralizavimą žiūrėti kaip į technologinį trūkumą, taip pat būtų ne visiškai teisinga.
Kaip decentralizacija pagerina skaitmeninio tinklo saugumą?
Akivaizdu, kad būtent kriptoekonomika yra pagrindas ekonominei veiklai ir ekonominės vertės kūrimui decentralizuotame tinkle. Decentralizuoto tinklo protokoluose nustatytos aiškios taisyklės, užtikrina tinko saugumą ir tinkle sukurtos vertės išsaugojimą. Šioje vietoje labai svarbu paminėti, kad būtent decentralizuoto tinklo protokoluose nustatytos taisyklės, nulemia tinklo dalyvių tarpusavio santykių struktūrą bei kiek vertės tinkle bus galima sukurti. Prieš nustatant šias taisykles, daromos teorinės prielaidos dėl tinklo dalyvių tinkamos ir netinkamos elgsenos. Kriptoekonomika nagrinėja šias prielaidas tam, kad maksimaliai padidintų decentralizuoto tinko saugumą ir kuriamą ekonominę vertę jo dalyviams.
Taigi, kaip ir realiame gyvenime, mes norime ne tik kurti ekonominę vertę, bet ir sukurtą vertę išsaugoti. Savaime suprantama, kad skaitmeniniuose tinkluose sukurtos vertės išsaugojimas, tiesiogiai priklauso nuo viso tinklo saugumo, todėl kriptoekonomikos nagrinėjami klausimai tampa dar aktualesni. Kuriant bet kokį skaitmeninį tinklą turi būti siekiama maksimaliai didinti jo saugumą, todėl saugumo prasme, tinklo decentralizacijos reikėtų siekti dėl šių pagrindinių priežasčių:
- Atsparumas gedimams – žymiai mažesnė tikimybė, kad decentralizuotos sistemos gali atsitiktinai sugesti, kadangi jos yra sudarytos iš daugelio sistemos darbą palaikančių mazgų. Kitaip sakant, keturių kompiuterių iš aštuonių gedimo vienu metu tikimybė yra žymiai mažesnė nei vienintelio kompiuterio gedimo tikimybė. Šis principas yra gerai įsisavintas ir šiuo metu naudojamas daugelyje gyvenimo sričių: papildomi elektros generatoriai ligoninėse, keleivinių lėktuvų varikliai ar netgi investicijų portfelio diversifikacija.
- Atsparumas išorės atakoms – decentralizuotas sistemas daug brangiau užpulti arba bandyti užvaldyti, kadangi jos neturi centrinių kontroles centrų, kuriuos būtų galima atakuoti mažesnėmis sąnaudomis nei galimas atlygis, kurį pavyktų gauti sėkmingos atakos atveju. Tolesniuose skyriuose detaliau aptarsime bei išnagrinėsime galimas atakas prieš decentralizuotas sistemas.
- Atsparumas vidaus atakoms – decentralizuotų sistemų dalyviams daug sunkiau suorganizuoti sau naudingus kartelinius susitarimus, nukreiptus prieš sąmoksle nedalyvaujančius sistemos dalyvius.
Decentralizuotų sistemų kūrimo iššūkiai
Kriptoekonomika siekia apjungti griežtai nustatytų techninių taisyklių visumą su nenuspėjamu žmonių elgesiu, todėl sukonstruoti patikimus decentralizuotos sistemos veikimo mechanizmus yra labai sudėtinga užduotis. Nustačius netinkamas taisykles, decentralizuota sistema pasmerkiama žlugimui. Iš kitos pusės, iš anksto numatyti visus galimus žmonių sąveikos su sistema būdus, taip pat beveik neįmanoma.
Esminė decentralizuotų sistemų problema yra užtikrinti bendrą visos sistemos patikimumą net ir vykstant keletui klaidingų sistemos procesų. Kitaip sakant, nepriklausomi decentralizuotos sistemos komponentai turi sutarti dėl vienos duomenų vertės, kuri bus laikoma teisinga. Šis sutarimo arba konsensuso radimo procesas privalo būti atsparus sistemos gedimams bei išorės ir vidaus atakoms. Verta paminėti, kad prieš Bitkoino atsiradimą buvo manoma, kad dėl taip vadinamos „Bizantijos generolų problemos“, neįmanoma sukurti atsparaus sistemos gedimams ir atakoms susitarimo (konsensuso) proceso.
Kas yra Bizantijos generolų problema?
Bizantijos generolų problema tai klasikinė problema, su kuria susiduria visi paskirstytų (decentralizuotų) kompiuterinių sistemų tinklai. Tai viena sunkiausių visų laikų decentralizuoto sprendimų priėmimo problemų, kuri pirmą kartą buvo aprašyta dar 1982 metais.
Įsivaizduokime, kad Bizantijos imperija nusprendė užimti miestą, todėl trys imperijos generolai, kartu su savo armijomis apsupo šį miestą iš skirtingų pusių. Tačiau miestas taip pat turi stiprią armiją ir galėtų apsiginti nuo vieno ar net dviejų generolų puolimo. Miesto gynyba galėtų būti pralaužta tik vieninteliu atveju - jei visi trys generolai pultų miestą vienu metu. Kitaip sakant, vienintelis būdas užimti miestą yra koordinuotas trijų generolų puolimas vienu metu.
Taigi, naktį prieš mūšį, visi trys Bizantijos imperijos generolai, kurių stovyklos yra skirtingose miesto pusėse, turi susitarti dėl bendro mūšio plano ir nuspręsti ar miestą verta pulti, ar geriau atsitraukti. Kadangi generolų stovyklos yra toli viena nuo kitos, skirtingose miesto pusėse, vienintelis būdas jiems bendrauti yra per pasiuntinius. Kiekvienas generolas turi išsiųsti pranešimą kitiems dviem generolams ir informuoti ar jis nori ir kada nori pradėti miesto puolimą. Tokiu būdu visi trys generolai gali susitarti miestą pulti (jei du sutinka) arba gali nuspręsti, kad miestas šiuo metu per stiprus ir geriau atsitraukti. Generolai yra vienodo rango ir turi vienodas teises priimant sprendimus, todėl sprendimą dėl mūšio plano jie turi priimti visi kartu.
Sakykime, kad Generolas Nr. 1 atliko miesto žvalgybą ir nutarė, kad miestą pulti reikia, o geriausias laikas puolimui yra penkta valanda ryto. Tuomet tam, kad informuoti apie savo planus, jis išsiunčia pasiuntinius pas kitus du generolus. Kiti generolai gaus Generolo Nr. 1 pranešimą, kad reikia pulti penktą valandą ryto. Jei Generolas Nr. 2 sutiks su Generolo Nr. 1 siūlomu mūšio planu, tuomet jis išsiūs pasiuntinius pas kitus du generolus ir patvirtins savo pasirengimą pulti penktą valandą ryto. Bendraudami tokiu būdu, visi trys generolai gali susitarti dėl koordinuoto mūšio plano ir kartu pulti miestą sutartu laiku.
Tačiau yra keletas problemų. Kiekvieną kartą, kuomet pasiuntinys neša pranešimą vienam iš generolui, jis rizikuoja būti sučiuptas miesto gynėjų. Jei pasiuntinys bus sučiuptas, miesto gynėjai sužinos savo priešų planus ir bet kokiomis priemonėmis norės išvengti koordinuoto puolimo prieš miestą. Taigi, miesto gynėjai gali pakeisti sučiuptą pasiuntinį savo žmogumi, kuris vienam iš generolų pristatytų suklastotą pranešimą atsitraukti arba pulti kitu laiku. Toks suklastotas pranešimas keltų grėsmę visam mūšio planui.
Taip pat, kai kurie pasiuntiniai arba netgi generolai gali būti išdavikai (nepamirškime jau legendine tapusios Bizantiškos klastos). Išdavikai pasiuntiniai - bandytų patys suklastoti jiems patikėtus pranešimus, o išdavikai generolai – bandytų sabotuoti mūšio planą, išsiųsdami klaidingus pranešimus kitiems generolams. Taigi, sučiupus pasiuntinį arba atsiradus išdavikui, informacijos perdavimo kanalai, visame generolų bendravimo tinkle, tampa nepatikimi. Nesusitarus dėl mūšio plano, puolimas gali baigtis pralaimėjimu, todėl ištikimi generolai turi rasti būdą kaip pasiekti bendrą susitarimą net ir žinant, kad bet kuriuo momentu galima išdavystė.
Taigi, generolai turi žinoti ar jų pranešimai buvo sėkmingai pristatyti bei turėti galimybę patikrinti ar iš kitų generolų gauti pranešimai yra autentiški. Net jeigu pasiuntinys būtų sučiuptas, pranešimai turi būti taip užšifruoti, kad miesto gynėjai nesužinotų mūšio plano. Patikimo decentralizuoto tinklo, kuriame būtų užtikrintas saugus informacijos perdavimas ir kuriame būtų galima pasiekti visų tinklo dalyvių bendrą susitarimą dėl perduodamos informacijos teisingumo, sukūrimo problema - žinoma kaip Bizantijos generolų problema.
Akivaizdu, kad Bizantijos generolų problema yra tiesiogiai susijusi su decentralizuotų tinklų kūrimu ir vystymu. Decentralizuotų tinklų nepriklausomi dalyviai, kurie į tinklą gali perduoti ir netikslią arba kenkėjišką informaciją – tai mūsų generolai, jungtys tarp tinklo dalyvių, kuriomis perduodama informacija gali būti klaidinga arba net visiškai prarasta – tai mūsų pasiuntiniai, o tarp dalyvių tinkle perduodama informacija – tai pasiuntinių gabenami generolų pranešimai.
Visi decentralizuoto tinklo dalyviai privalo susitarti dėl kiekvieno pranešimo, kuris tarp jų yra perduodamas. Net ir tuo atveju, kai tinkle atsiradus grupei nepatikimų dalyvių, pradedami siųsti klaidingi pranešimai, likęs tinklas privalo atremti tokią ataką. Kitaip sakant, visas tinklas turi bendrai susitarti dėl kiekvieno jame perduodamo pranešimo teisingumo ir jeigu pranešimas teisingas – patvirtinti naują tinklo būseną. Šis pasiektas susitarimas yra vadinamas konsensusu.
Pavyzdžiui, kuomet siunčiame ar gauname pinigus tradiciniais, centralizuotais būdais (Visa, PayPal, Paysera ar kiti paslaugų teikėjai), perduodamos informacijos teisingumą patikrina trečia šalis - šios paslaugos teikėjas. Paslaugos teikėjas turi savo privatų operacijų registrą, kuriame registruoja visas finansines operacijas. Jeigu pinigus siunčiame draugui – paslaugos teikėjas kredituoja mūsų sąskaitą ir debituoja draugo. Kitaip sakant, mes pasitikime, kad trečia šalis visuomet patikrins siunčiamos informacijos teisingumą ir patvirtins teisingą sistemos būseną (mūsų sąskaita kredituojama, o draugo debituojama). Kuomet siunčiame ar gauname pinigus decentralizuotais būdais (Bitkoin ar dauguma kitų kriptovaliutų), transakcijų registrą turi visi tinklo dalyviai, todėl patys tinklo dalyviai, be trečiųjų šalių įsikišimo, turi patvirtinti siunčiamos informacijos teisingumą ir naują tinklo būseną.
Bizantijos generolų problemos sprendimas
Sukurdamas Bitkoiną, Satoshi Nakamoto sukonstravo decentralizuoto tinklo dalyvių ekonominius skatinimo mechanizmus, kurie tinklo dalyvius priverčia elgtis pagal nustatytas taisykles. Tačiau tikrasis Satoshi Nakamoto genijus pasireiškė išsprendžiant Bizantijos generolų problemą. Juk prieš tai buvo manoma, kad neįmanoma sukurti patikimo decentralizuoto tinklo, kuris nebūtų valdomas iš centrinio sprendimų priėmimo ir kontrolės centro.
Satoshi Nakamoto, Bizantijos generolų problemą sugebėjo išspręsti, savo kuriamai decentralizuotai sistemai pritaikęs taip vadinamą „Proof of Work“ mechanizmą, kurio pagrindinės idėjos, kaip būdas kovoti su elektroninio pašto šiukšlėmis ir įvairaus šlamšto siuntėjais, buvo aprašytos dar 1992 metais. Norint apsisaugoti nuo šiukšlintojų, „Proof of Work“ mechanizmas iš užklausos teikėjo reikalauja išspręsti tam tikrą galvosūkį, kurio sprendimui reikia tam tikrų užklausos teikėjo kompiuterio resursų. Kuomet galvosūkis išsprendžiamas, teikiama užklausa toliau gali būti apdorojama sistemoje. Svarbiausias tokio mechanizmo bruožas yra jo asimetriškumas – galvosūkį yra pakankamai sudėtinga (bet įmanoma) išspręsti užklausos pusėje, tačiau patikrinti galvosūkio sprendimo rezultatą sistemos pusėje – labai lengva. Kitaip sakant, „Proof of Work“ veikia kaip ekonominė priemonė, kuri už pateikiamos užklausos apdorojimą reikalauja paties užklausos teikėjo resursų. Užklausos teikėjas visuomet bus ekonomiškai suinteresuotas, kad jo užklausos apdorojimo rezultatas jam turėtų didesnę vertę nei resursai, išeikvoti pačiai užklausai pateikti.
Taigi, „Proof of work“ mechanizmas, kaip priemonė susitarimui (konsensusui) decentralizuotame tinkle pasiekti, naudojamas ir šiuo metu populiariausios kriptovaliutos – Bitkoin tinkle. Norėdami geriau suprasti kaip idėja, aprašyta beveik prieš tris dešimtmečius, leidžia išspręsti minėtą Bizantijos generolų problemą, neišvengiamai turime artimiau susipažinti su pagrindiniais Bitkoin veikimo principais. Pasistengsime tai padaryti glaustai ir su kuo mažiau perteklinių techninių niuansų.
Populiariausia kriptovaliuta Bitkoin yra sukurta Blockchain (blokų grandinės) technologijos pagrindu, kuri iš esmės yra duomenų saugojimo būdas, kuomet duomenys saugomi duomenų blokuose, susietuose grandinės pavidalu su ankstesniais duomenų blokais. Užšifruota duomenų blokų grandinė padalinama visiems decentralizuoto tinklo dalyviams, o duomenų saugumą ir slaptumą užtikrina naudojamos kriptografinės funkcijos. Blockchain technologija „Proof of Work“ mechanizmą naudoja kaip konsensuso pasiekimo tinkle būdą, kuomet tinkle įvykusios transakcijos yra patvirtinamos ir naujas transakcijų duomenų blokas yra įtraukiamas į esamą duomenų blokų grandinę.
Taigi, Bitkoin tinkle vykdant kriptovaliutos pervedimus, visi tinklo dalyvių atlikti sandoriai, užšifruotu pavidalu, siunčiami į tinklą ir surenkami į atitinkamo dydžio duomenų bloką. Proceso, vadinamo „kasimas“ metu, naujas duomenų blokas patvirtinamas ir įtraukiamas į esamą blokų grandinę. „Kasimo“ procesą vykdo „kasėjais“ vadinami Bitkoin tinklo dalyviai. Būtent „kasimo“ procesas veikia kaip decentralizuotas konsensuso mechanizmas, saugantis chronologinę blokų grandinės seką ir jos nekintamumą bei leidžiantis visiems tinklo dalyviams susitarti dėl teisingos sistemos būsenos.
Iš esmės, „kasimo“ procesas tai savotiškos „kasėjų“ varžybos, kuomet visi tinklo „kasėjai“ varžosi tarpusavyje, kuris pirmas išspręs sudėtingą matematinį galvosūkį. Norėdami galvosūkį išspręsti, „kasėjai“ privalo atsitiktine tvarka atspėti skaičių seką, kuri įtraukta į kriptografinę funkciją, duotų tam tikras sąlygas tenkinantį rezultatą. Kitaip sakant, galvosūkį labai sunku (bet įmanoma) išspręsti, tačiau rezultatą – labai lengva patikrinti. Galvosūkį išsprendęs „kasėjas“ įgauna teisę patvirtinti duomenų bloką ir įtraukti jį į esamą blokų grandinę. Kuomet blokas patvirtinamas, „kasėjai“ pradeda naujas varžybas dėl naujo galvosūkio sprendimo ir teisės patvirtinti naują duomenų bloką.
Kadangi galvosūkio sprendimas reikalauja ypatingai daug skaičiavimo resursų, „kasėjai“ turi išleisti nemažai pinigų specialiai įrangai įsigyti ir žinoma, sąskaitoms už išnaudotą elektros energiją apmokėti. Iš kitos pusės, išsprendus galvosūkį, „kasėjas“ ne tik įgauna teisę patvirtinti naują duomenų bloką, bet ir yra apdovanojamas tam tikru kiekiu Bitkoinų. Kitaip sakant, „kasėjas“ turi ekonominę priežastį elgtis pagal decentralizuoto tinklo nustatytas taisykles.
Siekiant, kad Bitkoino veikimo principas būtų dar aiškesnis, aprašysime tinkle vykstančius procesus etapais. Štai kas vyksta Bitkoin tinkle vykdant kriptovaliutos pervedimus:
- Tinklo dalyvių atlikti sandoriai surenkami į atitinkamo dydžio duomenų bloką;
- „Kasėjai“ patvirtina duomenų bloką ir įtraukia jį į esamą blokų grandinę;
- Kad įgytų teisę bloką patvirtinti, „kasėjai“ turi išspręsti sudėtingą matematinį galvosūkį;
- Pirmas „kasėjas“ išsprendęs galvosūkį ne tik gauna teisę patvirtinti naują duomenų bloką, bet yra apdovanojamas nustatytu kiekiu Bitkoin kriptovaliutos;
- Visi patvirtinti blokai su juose esančia užšifruota tinklo dalyvių sandorių informacija yra saugomi viešoje blokų grandinėje, išdalintoje visiems decentralizuoto tinklo dalyviams;
- Viena iš matematinio galvosūkio, kurį turi išspręsti tinklo „kasėjai“ ypatybių – asimetrija. Galvosūkį labai sunku išspręsti (bet įmanoma), tačiau sprendimo rezultatą labai lengva patikrinti;
- Matematinis galvosūkis gali būti išspręstas tik atsitiktinai atspėjus skaičių seką, todėl sprendimas reikalauja ypatingai daug skaičiavimo resursų;
Decentralizuoto tinklo saugumas ir galimos atakos
Viena svarbiausių kriptoekonomikoje nagrinėjamų sričių yra decentralizuotų tinklų atsparumas vidaus bei išorės atakoms, keliančioms grėsmę tinklų saugumui, patikimumui ir juose saugomai vertei. Atakos prieš blockchain technologijos pagrindu sukurtus decentralizuotus tinklus, tokius kaip Bitkoin ir kitos kirptovaliutos, labiausiai tikėtina bus nukreiptos siekiant įtraukti klaidingų ir nepatvirtintų sandorių duomenų blokus į bendrą blokų grandinę.
Dažniausiai minimos Sąžiningos daugumos ir P+Epsilon atakos, kurias reikėtų išnagrinėti detaliau.
Sąžiningos daugumos (arba 51 %) ataka
Sąžiningos daugumos arba 51 % ataka yra bene žinomiausia ataka, kuri teoriškai gali būti įvykdyta prieš Bitkoin tinklą. Bitkoin tinkle atlikus kriptovaliutos pervedimą, informacija apie atliktą sandorį įtraukiama į duomenų bloką ir patvirtinama „kasėjų“. Kad „kasėjas“ įgautų teisę patvirtinti duomenų bloką ir įtraukti jį į esamą blokų grandinę, jis turi išspręsti sudėtingą galvosūkį, naudodamas turimus skaičiavimo resursus. Kuo daugiau skaičiavimo resursų „kasėjas“ turi, tuo didesnė tikimybė pirmam rasti galvosūkio sprendimą.
Kuomet sąžiningas „kasėjas“ randa galvosūkio atsakymą, apie tai jis praneša kitiems „kasėjams“ ir pateikia duomenų bloką tvirtinimui. Duomenų blokas patvirtinamas ir įtraukiamas į blokų grandinę („kasėjai“ pasiekia susitarimą dėl tinklo būsenos) tik tuomet, kai visa pateiktame tvirtinti duomenų bloke esanti informacija apie atliktus sandorius, atitinka tinkle turimą atliktų sandorių informaciją.
O dabar šiek tiek dėmesio...
Nors nesąžiningas „kasėjas“ negali pats sukurti naujo klaidingo sandorio įrašo, nes tam būtina turėti kitos sandorio pusės skaitmeninį parašą (privatų raktą), tačiau jis gali pabandyti panaikinti esamus sandorių įrašus blokų grandinėje. Kaip minėjome, radę galvosūkio sprendimą, „kasėjai“ apie tai tūrėtų pranešti kitiems „kasėjams“, kad naują duomenų bloką būtų galima patvirtinti ir įtraukti į esamą blokų grandinę. Tačiau nesąžiningas „kasėjas“, radęs galvosūkio sprendimą, gali nutarti nepranešti apie tai kitiems „kasėjams“ ir likusiam tinklui, tokiu būdu sukurdamas atskirą esamos blokų grandinės versiją. Taip atsitikus, sąžiningi „kasėjai“ liks toliau dirbti prie tikros blokų grandinės versijos, o nesąžiningas „kasėjas“ pradės dirbti prie savo blokų grandinės versijos. Nesąžiningo „kasėjo“ netikra blokų grandinės versija bus izoliuota nuo likusių tinklo dalyvių ir jiems nematoma.
img_8
Taigi, nesąžiningas „kasėjas“ dabar gali pradėti leisti Bitkoinus, esančius tikroje blokų grandinėje, prie kurios dirba sąžiningi „kasėjai“. Sakykime, kad nesąžiningas „kasėjas“ išleido 100 Bitkoinų. Tikroje blokų grandinėje jo Bitkoinai yra išleisti, tačiau netikroje blokų grandinės versijoje, kuri yra izoliuota ir likusiems tinklo dalyviams nematoma, 100 Bitkoinų taip niekada ir nebuvo išleisti.
img_9
Tuo tarpu, nesąžiningas „kasėjas“ ir toliau dirba prie savo netikros ir izoliuotos blokų grandinės versijos ir spręsdamas galvosūkius pildo blokų grandinę naujais blokais. Tokiu teoriniu atveju, jeigu nesąžiningas „kasėjas“ tūrėtų nors truputį daugiau (51 %) skaičiavimo resursų už visus sąžiningus „kasėjus“ kartu sudėjus, nesąžiningas „kasėjas“ savo netikrą blokų grandinės versiją, naujais blokais pildytų greičiau nei sąžiningi „kasėjai“. Anksčiau ar vėliau nesąžiningo „kasėjo“ netikra blokų grandinės versija taptų ilgesnė už tikrąją blokų grandinę.
img_10
Štai šioje vietoje atsiranda problema, kadangi Blockchain technologijos pagrindu sukurtų blokų grandinių veikimas yra suprogramuotas pagal demokratinį (daugumos) valdymo modelį. Visi tinklo dalyviai visuomet turi sekti ilgiausią blokų grandinės versiją, nes tik ilgiausia blokų grandinės versija yra laikoma teisinga. Kitaip sakant, demokratiniame blokų grandinės valdymo modelyje yra daroma prielaida, kad sąžiningų „kasėjų“ dauguma savo blokų grandinę pildo greičiau už nesąžiningus „kasėjus“ (ilgiausia blokų grandinė = dauguma).
Taigi, kai tik nesąžiningo „kasėjo“ netikra blokų grandinės versija taps ilgesnė už tikrąją blokų grandinę, nesąžiningas „kasėjas“ galės paskelbti savo blokų grandinės versiją visam likusiam tinklui. Likusi tinklo dalis pastebės, kad ką tik paskelbta blokų grandinė yra ilgesnės už tą kuria šiuo metu tinklas seka ir suprogramuotas demokratinis valdymo modelis privers tinklo dalyvius pereiti prie ilgesnės blokų grandinės. Tokiu būdu netikra blokų grandinės versija taps tikra blokų grandine ir visi sandorių įrašai kurie nėra įtraukti į šią grandinę, bus nedelsiant panaikinti. Nesąžiningas „kasėjas“ turės seniau išleistus 100 Bitkoinų, kuriuos ir vėl galės išleisti.
img_11
Praktikoje suorganizuoti ir įvykdyti sąžiningos daugumos ataką prieš decentralizuotą tinklą yra ypatingai sunku, kadangi atakos metu nesąžiningi „kasėjai“ turi turėti daugiau skaičiavimo pajėgumų nei visi likę decentralizuoto tinklo dalyviai kartu sudėjus. Pavyzdžiui Bitkoin tinklą sudaro šimtai tūkstančių „kasėjų“, todėl nesąžiningi „kasėjai“, norėdami konkuruoti su šiuo tinklu, tūrėtų išleisti sunkiai suvokiamas pinigų sumas kasimo įrangai įsigyti. Taigi, sąžiningos daugumos atakos bandymai prieš tokio dydžio tinklus kaip Bitkoin yra mažai tikėtini, kadangi ekonominė nauda kurią galėtų gauti atakos organizatoriai būtų žymiai mažesnė už išlaidas, kurias reikėtų patirti atakai ruošiantis.
Iš kitos pusės, mažesni decentralizuoti tinklai turi menkesnius tinklo dalyvių bendrus skaičiavimo pajėgumus už Bitkoin, todėl yra daug labiau pažeidžiami sąžiningos daugumos atakos atveju. Rengiant ataką prieš mažesnius tinklus, atakos organizatoriams reikia žymiai mažiau resursų tinklui užvaldyti, todėl tokiu atveju jei sąžiningos daugumos atakos yra vykdomos, jos dažniausiai įvykdomos prieš mažus decentralizuotus tinklus.
Papirkimo (arba P+Epsilon) ataka
Tai labai įdomus atakos prieš blokų grandinę modelis, kurį aprašė vienas iš Ethereum kūrėjų - Vitalik Buterin. Šios papirkimo atakos esmė – priežasčių pakenkti tinklui neturinčių dalyvių savanaudiški veiksmai, gali pakenkti tinklo saugumui. Kitaip sakant, patys tinklo dalyviai, net visai to nenorėdami, savo veiksmais gali prisidėti prie atakos prieš tinklą įvykdymo.
Kaip tai gali įvykti?
Sakykime, kad kiekvienas tinklo dalyvis turi balsuoti ar sąlyga 2 + 2 = 4 yra teisinga. Balsuoti galima tik Taip arba Ne. Jeigu jūsų balsas bus daugumoje (balsuosite kaip dauguma tinklo dalyvių), gausite tam tikrą atlygį P, o jeigu jūsų balsas bus mažumoje – negausite nieko. Žinoma teisingas ir sąžiningas balsavimo variantas yra Taip, todėl kiekvienas tinklo dalyvis, manydamas, kad ir kiti tinklo dalyviai balsuos Taip, taip pat balsuos Taip. Tuomet visas tinklas balsuos Taip ir visi tinklo dalyviai gaus atlygį P. Reiškinys, kuomet kiekvienas tinklo dalyvis, žinodamas kitų tinklo dalyvių veiksmus, pasirenka optimaliausią galimą sprendimą ir pasiekia rezultatą kurio nori, vadinamas Nešo pusiausvyra.
img_12
Dabar įsivaizduokime, kad tinklo viduje atsiranda įsilaužėlis, kuris jums pasiūlo balsuoti Ne. Iš jūsų pusės tai daryti būtų kvaila, kadangi kiti tinklo dalyviai vis tiek balsuos Taip ir jūs liksite mažumoje bei negausite savo atlygio P. Tačiau įsilaužėlis, tokiu atveju jeigu jūs balsuosite Ne ir liksite mažumoje, įsipareigoja jums sumokėti P+ε (pradinis atlygis plius šiek tiek papildomai) atlygį. Staiga optimaliausiu jūsų galimu sprendimu tampa balsuoti Ne, nors ir žinote, kad Ne yra neteisingas balsavimo variantas.
img_13
Iš pirmo žvilgsnio atrodytų, kad papirkimo atakos modelis mažai tikėtinas praktikoje, kadangi įsilaužėlis tūrėtų išleisti labai daug pinigų papirkimams atlikti, tačiau papirkimo ataka tuo ir yra įdomi, nes leidžia tinklo dalyvius papirkti nemokamai!
Taigi, įsilaužėliui pasiūlius P+ε atlygį tinklo dalyviams, balsuoti Ne tampa visų tinklo dalyvių optimaliausiu galimu sprendimu. Darant logišką prielaidą, kad dauguma tinklo dalyvių nėra altruistai, galima teigti, jog dauguma tinklo dalyvių balsuos Ne. Staiga balsuotojai už Ne tampa dauguma, o įsilaužėlis net neturi mokėti papirktiems tinklo dalyviams, kadangi jis įsipareigojo sumokėti tik tuo atveju, jei tinklo dalyvis balsuoja Ne ir yra mažumoje. Šiuo atveju, savo savanaudiškais veiksmais, tinklo dalyviai patys prisidėjo prie atakos prieš tinklą.
O dabar įsivaizduokime, kad įsilaužėlis sukūrė atskirą esamos blokų grandinės versiją ir tinklo „kasėjams“ sugebėjo įsipareigoti sumokėti P+ε atlygį, jeigu „kasėjai“ prisijungs prie jo sukurtos blokų grandinės versijos, tačiau nebus daugumoje. Tokiu atveju, net ir nenorėdami pakenkti tinklui, savo savanaudiškais veiksmais, patys „kasėjai“ organizuotų tinklo perėjimą prie naujos blokų grandinės.
Taigi, viena iš didžiausių „Proof of Work“ susitarimo mechanizmo pagrindu veikiančių blokų grandinių problemų yra jų pažeidžiamumas prieš papirkimo arba kitaip vadinamą P+Epsilon ataką.
Ar kriptoekonomikai reikia decentralizacijos?
Tam tikra prasme, kriptoekonomika ir jos kuriami produktai vis dar bando surasti tinkamą vietą mūsų gyvenimuose. Iš esmės, dabartinę situaciją būtų galima apibūdinti kaip neapibrėžtą ieškojimų fazę, kuomet keičiant įvairius technologinius parametrus (susitarimo mechanizmai, duomenys laikomi blokų grandinėje ar sistemos decentralizacijos lygis), bandoma surasti ir pritaikyti konkretų produktą, konkrečiam tikslui. Iš kitos pusės, tas pats neapibrėžtumas sukelia ir tam tikrą painiavą dėl tikrosios blokų grandinių technologijos vizijos ir paskirties.
Pavyzdžiui, kuomet dauguma žmonių galvoja apie blockchain technologiją, dažniausiai galvoje jie turi Bitkoin - decentralizuotą ir viešą blokų grandinę. Savaime suprantama, kiekvienas gali šią blokų grandinę laisvai pasiekti bei dalyvauti jos tinkle. Iš kitos pusės, blockchain technologija neapsiriboja vien tik decentralizuotomis sistemomis. Dažnais atvejais, būtent centralizuotų ir privačių blokų grandinių privalumai leidžia sukurti didesnę pridėtinę vertę vartotojams. Kuriamų sistemų decentralizacijos lygis, kaip ir pats kūrimo procesas, turi būti paremti ne tik pačia idėja, bet ir praktiniais vartotojų poreikiais. Abstrakti idėja, kad ir kaip gražiai ji atrodytų bei skambėtų, pridėtinės vertės vartotojui nesukuria, o būtent ją reikia sukurti, jei norime, kad vystomas produktas būtų vartojamas.
Taigi, tokiu atveju kyla natūralus klausimas - ar tikrai kriptoekonomikai sėkmingai veikti ir vystytis, būtina visų jos kuriamų produktų pilna decentralizacija?
Pažvelkime iš vartotojų pusės. Dauguma vartotojų ieško jiems naudingų produktų ir paslaugų - ne pačios decentralizacijos kaip produkto. Kitaip sakant, daugeliui vartotojų nepakanka naudotis tik geriausia paslauga savo asmens duomenims apsaugoti arba greičiausiu būdu pinigams į kitą pasaulio kraštą pervesti. Daugumai vartotojų, svarbiau yra turėti galimybę savo asmeninius duomenis susigrąžinti - jeigu jų tapatybė buvo pavogta, arba atliktą piniginę operaciją atšaukti – jeigu operaciją atliekant buvo suklysta. Tačiau pats svarbiausias dalykas – atsiradus problemai, daugelis vartotojų paprasčiausiai nori žinoti į kurias duris jie gali pasibelsti arba kokiu telefonu jie gali paskambinti.
Blockchain gali tarnauti įvairiems tikslams, todėl prireikus, šios technologijos pagrindu galima sukurti ir centralizuotas blokų grandines. Pavyzdžiui, jeigu centralizuotos arba dalinai centralizuotos sistemos, gali padidinti mokėjimo operacijų našumą ar perduodamų duomenų saugumą – nereikėtų sustoti jų vystyti vien tik todėl, kad jos ne pilnai decentralizuotos. Centralizuotas sistemas taip pat galime laikyti kriptoekonomikos produktais.
Kriptografija – kriptoekonomikos saugumo garantas
Iš esmės, kriptografija yra tam tikrų duomenų arba informacijos šifravimas, siekiant apsaugoti šią informaciją nuo trečiųjų asmenų. Kriptografija leidžia su saugomos informacijos turiniu susipažinti tik atitinkamiems žmonėms, todėl dažnai yra naudojama svarbiai ir slaptai informacijai apsaugoti. Kriptografijos metodai sėkmingai buvo taikomi dar nuo Julijaus Cezario laikų, kuomet žymusis karvedys savo generolams siunčiamus pranešimus pirma užšifruodavo.
Žinoma, nuo senovės Romos laikų jau prabėgo daug metų ir šiuo metu naudojami kriptografijos metodai yra kur kas tobulesni už naudotus senovėje. Su šiuolaikinių matematinių bei kompiuterinių technologijų pagalba, užšifruoti svarbią informaciją galima sudėtingiau, nei bet kada anksčiau istorijoje. Iš kitos pusės, kad ir kokie sudėtingi informacijos šifravimo algoritmai būtų naudojami, pagrindinis kriptografijos veikimo principas visuomet išlieka tas pats – užšifruoti ir paslėpti tikrąją informacijos prasmę taip, kad tik asmuo turintis atitinkamą leidimą, su šia informacija galėtų susipažinti.
Kriptografijos pritaikymas kriptoekonomikoje
Kaip buvo minėta anksčiau, kriptografijos pagalba galima apsaugoti svarbią ir slaptą informaciją. Kitaip sakant, kriptografija yra patikimas būdas siųsti saugius pranešimus tarp dviejų ar daugiau dalyvių – siuntėjas savo pranešimą gali užšifruoti ir nusiųsti gavėjui, o gavėjas gautą pranešimą iššifravęs, gali susipažinti su originalia siuntėjo siųsta informacija. Svarbiausias šio pranešimo užšifravimo ir iššifravimo proceso aspektas – šifravimo raktas, kurio pagalba tik šį raktą turintis asmuo gali susipažinti su užšifruotos informacijos turiniu.
img_14
Dalis kriptografijoje naudojamų įrankių buvo pritaikyti ir kriptoekonomikoje bei tapo gyvybiškai svarbia blokų grandinių veiklos dalimi. Pavyzdžiui, kriptografijos įrankiai gali būti naudojami decentralizuotame tinkle vykstančių sandorių saugumui užtikrinti, naujų kriptovaliutos vienetų išleidimo mechanizmams kontroliuoti arba kriptovaliutų, tokenų bei kito skaitmeninio turto perleidimo teisėtumui patvirtinti. Pagrindiniai ir dažniausiai kriptoekonomikoje naudojami kriptografijos įrankiai (arba kirptografijos baziniai elementai) yra maišos funkcijos (angl. hash functions) ir skaitmeniniai parašai. Šiuos elementus būtina aptarti detaliau, kadangi būtent jie sudaro kriptoekonomikos saugumo pagrindą.
Maišos funkcijos (ang. Hash functions)
Kalbant paprastai, maišos funkcija tarsi sukuria bet kokios informacijos ar elektroninio dokumento „pirštų atspaudus“. Elektroniniui dokumentui suskaičiavus maišos funkciją, gaunamas nustatyto dydžio išvesties rezultatas, kuris nors truputį pakeitus pirminį elektroninį dokumentą – pats pasikeičia iš esmės. Maišos funkcijos gali naudoti įvairius informacijos kodavimo algoritmus. Pavyzdžiui, Bitkoin tinklas naudoja SHA-256 kodavimo algoritmą, sugrąžinantį 256 bitų dydžio išvesties rezultatą.
Atkreipkite dėmesį į žemiau pateiktą lentelę. Mažiausias skirtumas tarp įvesties informacijos, nulemia visiškai skirtingus SHA-256 kodavimo algoritmo išvesties rezultatus. Tai viena pagrindinių maišos funkcijų savybių:
Teksto įvestis | SHA-256 išvestis |
---|---|
Bitkoinas | 1BB5A8531342FC7702BAE1D5CED0BB20BC35039DF1FA8C28FB087343E8C39AFA |
bitkoinas | 5D531F4FA632DED66FF54331C83A4DA4CA7CA11C746B63E2582CBF172839BC96 |
Maišos funkciją taip pat galima aprašyti kaip matematinę funkciją h, kuri su tam tikru argumentu x įgauna reikšmę h(x). Maišos funkcija pasižymi šiomis savybėmis:
- Funkcija yra deterministinė – su tuo pačiu argumentu y, funkcijos reikšmė visuomet bus ta pati h(y), nesvarbu kiek kartų funkciją naudosime.
- Funkcija yra greitai apskaičiuojama – funkcijos reikšmė apskaičiuojama greitai ir paprastai.
- Funkcijos atsparumas atgalinei inžinerijai – žinant funkcijos reikšmę h(y), neįmanoma nustatyti argumento y reikšmės.
- Funkcijos atsparumas atsitiktinėms sankirtoms – labai sunku surasti du skirtingus funkcijos argumentus x ir y, kurie suteiktų funkcijai h tą pačią reikšmę. Kitaip sakant, kriptografijoje privaloma išvengti tokios situacijos: h(x) = h(y), kuomet x ≠ y. Šiuo atveju, įsilaužėlis galėtų pakeisti tikrąją informaciją „A“ į suklastotą informaciją „B“, o maišos funkcija sugrąžintų tą patį rezultatą h(A) = h(B).
- Funkciją galima naudoti galvosūkiams sudaryti – žinant vieną argumento dalį a ir funkcijos reikšmę F, įmanoma, tačiau labai sunku, surasti kitą argumento dalį b, kuomet h(a|b) = F. Norint surasti argumentą b, reikia atsitiktine tvarka patikrinti kiekvieną galimą reikšmę, o tai reikalauja didelių skaičiavimo pajėgumų. Ši maišos funkcijos savybė yra būtina norint organizuoti Bitkoin tinklo „kasimo“ procesą, kadangi šio proceso metu, sprendžiant sudėtingus kriptografinius galvosūkius, nauji duomenų blokai patvirtinami ir įtraukiami į blokų grandinę.
Kaip maišos funkcija užtikrina duomenų, esančių blokų grandinėse, nekintamumą?
Kalbant paprastai, blokų grandinė yra sujungtas duomenų blokų sąrašas, kuriame kiekvienas naujas duomenų blokas turi ankstesnio duomenų bloko informaciją, užkoduotą su maišos funkcija. Iš esmės, šis vienintelis kriptografinis sprendimas leidžia pasiekti vieną svarbiausių blokų grandinių savybių – duomenų, esančių blokų grandinėje, nekintamumą.
img_15
Panagrinėkime viršuje esantį paveikslėlį. Tarkime, kad įsilaužėlis pamėgino pakeisti blokų grandinėje esančio bloko Nr. 1 duomenis. Kaip atsimename iš anksčiau, viena pagrindinių maišos funkcijos (ang. Hash function) savybių – nors truputį pakeitus įvesties informaciją, išvesties rezultatas pasikeičia iš esmės. Taigi, įsilaužėliui pakeitus bloke Nr. 1 esančią informaciją (įvesties informacija), šios informacijos maišos funkcijos rezultatas (išvesties rezultatas), taip pat dramatiškai pasikeis. Pasikeis ir bloke Nr. 2 saugomas bloko Nr. 1 maišos funkcijos rezultatas, kas sąlygos pasikeitimus bloke Nr. 3 ir t.t.
Iš esmės, dėl maišos funkcijos kriptografinių savybių, net ir nedidelis duomenų pakitimas viename iš blockchain grandinės duomenų bloke, iššaukia grandininę dramatiškų pakitimų reakciją visoje blockchain grandinėje, ko pasėkoje, neteisingą grandinės versiją tinklo dalyviai tiesiog atmeta.
Skaitmeninis parašas – saugus identifikavimo būdas kriptoekonomikoje
Kriptoekonomikoje, kriptografiniai įrankiai leidžia įgyvendinti vieną iš seniausių asmens identifikavimo būdų – parašą. Pasvarstykime, kas yra tradicinis parašas? Įsivaizduokime pasirašytą įprastą popierinį dokumentą. Ką reiškia šiame dokumente esantis parašas ir kokiomis jo savybėmis būtų galima pasinaudoti kriptoekonomikoje?
- Patvirtinantis - parašas patvirtina, kad būtent konkretus asmuo pasirašė konkretų dokumentą.
- Nesuklastojamas – niekas kitas negali suklastoti parašo ir pasirašyti dokumentą už konkretų asmenį.
- Neatsisakomas – jei konkretus asmuo pasirašė dokumentą, parašo negalima atsisakyti ir teigti, kad kažkas kitas pasirašė dokumentą.
- Susietas – parašas visuomet yra susietas su konkrečiu dokumentu. Kitaip sakant, parašo negalima iškirpti ir pridėjus prie kito dokumento teigti, kad šis dokumentas yra pasirašytas.
Iš esmės, skaitmeninis parašas kriptoekonomikoje atkartoja tradicinio, ranka pasirašomo parašo funkcijas. Skaitmeninis parašas padeda identifikuoti decentralizuotame tinkle vykstančius informacijos mainus ir užtikrinti, kad konkreti informacija (pavyzdžiui piniginės perlaidos) būtų perduodama iš konkretaus šaltinio, konkrečiam asmeniui. Skaitmeninio parašo funkcija kriptoekonomikoje įgyvendinama vadovaujantis viešojo ir privataus rakto modeliu, kuriame informacijai užšifruoti ir iššifruoti naudojami du skirtingi raktai – viešas ir privatus.
Tiek viešasis, tiek privatus raktas yra sudaryti iš atsitiktinio raidžių bei skaičių rinkinio, kuris gali atrodyti panašiai taip: BUorFIzJin7P5NO5hjKnLnZi61Gh97. Viešasis raktas gali būti platinamas viešai, tuo tarpu privatus raktas - privalo būti žinomas tik pačiam rakto savininkui. Privataus rakto jokiu būdu negalima platinti viešai! Taip pat svarbu pažymėti, kad žinant asmens viešąjį raktą, neįmanoma nustatyti to pačio asmens privataus rakto, todėl viešąjį raktą galima platinti viešai be jokios baimės.
Kalbant paprastai, naudojant viešuosius ir privačiuosius raktus, siunčiami pranešimai gali būti pasirašomi su pranešimo siuntėjo privačiuoju raktu ir patikrinami su pranešimo siuntėjo viešuoju raktu. Taip pat, pranešimai gali būti užšifruojami su pranešimo gavėjo viešuoju raktu ir iššifruojami tik su pranešimo gavėjo privačiuoju raktu. Toks informacijos šifravimo būdas, kriptoekonomikoje leidžia išspręsti informacijos autentiškumo ir saugumo problemas.
Siunčiamos informacijos saugumą užtikrina viešojo ir privačiojo raktų suporavimas, nes tik asmuo, turintis abu raktus, gali atlikti informacijos užšifravimą ir iššifravimą. Informacijos autentiškumas patikrinamas siuntėjo viešuoju raktu iššifruojant jo siunčiamą pranešimą, kadangi tik su privačiu siuntėjo raktu suporuotas viešasis raktas, gali iššifruoti siuntėjo siunčiamą informaciją.
Panagrinėkime keletą praktinių skaitmeninio parašo panaudojimo pavyzdžių.
Skaitmeninio parašo naudojimas informacijos autentiškumui užtikrinti
Sakykime, kad Tomas turi saugiai išsiųsti svarbų dokumentą Arūnui, tačiau Arūnas nori būti tikras, kad siunčiamo dokumento autorius yra būtent Tomas ir dokumentą besiunčiant, niekas kitas jo nepakeis arba nesuklastos. Kitaip sakant, Tomo siunčiamas dokumentas privalo būti neatšaukiamai patvirtintas ir pasiekti Arūną nepakeistas.
Šiam tikslui, Tomas turės pasinaudoti savo privačiu raktu ir sukurti skaitmeninį parašą, kuris bus susietas su siunčiamu dokumentu. Kadangi Tomas turi viešo ir privataus raktų porą, viešuoju raktu jis pasidalins su Arūnu, kad pastarasis vėliau galėtų patikrinti gauto dokumento autentiškumą. Norėdamas sukurti skaitmeninį parašą, Tomas visų pirma turės apskaičiuoti siunčiamo dokumento maišos funkciją (Hash function), kurią aptarėme kiek anksčiau. Tomo skaitmeninis parašas bus sukurtas jo privačiu raktu užšifravus gautą dokumento maišos funkcijos rezultatą. Sukūręs savo skaitmeninį parašą, Tomas galės jį susieti su siunčiamu dokumentu ir pasirašytą dokumentą išsiųsti Arūnui.
img_16
Arūnas, gavęs dokumentą, gali pasinaudoti Tomo viešuoju raktu ir iššifruoti, pačio Tomo anksčiau užšifruotą siunčiamo dokumento maišos funkcijos rezultatą (atsimenate, kad viešasis raktas gali iššifruoti privatų raktą ir atvirkščiai?). Taip pat, gautam dokumentui Arūnas pats apskaičiuos maišos funkciją, pagal tą patį algoritmą, kurį naudojo Tomas. Galiausiai Arūnas palygins abu turimus maišos funkcijų rezultatus. Jei rezultatai sutaps, Arūnas bus įsitikinęs, kad dokumentą atsiuntė būtent Tomas, o pats dokumentas nebuvo suklastotas jo siuntimo metu.
Verta pažymėti, kad siunčiama informacija dažnai yra ne tik svarbi, bet ir slapta. Todėl siekdamas, kad tik Arūnas galėtų perskaityti siunčiamo dokumento turinį, Tomas turės pasinaudoti Arūno viešuoju raktu ir užšifruoti savo skaitmeniniu parašu pasirašytą dokumentą. Arūnas, gavęs tokį užšifruotą dokumentą, pirma turės pasinaudoti savo privačiu raktu bei gautą dokumentą iššifruoti. Tik tuomet kai dokumentas bus iššifruotas jis galės pasinaudoti Tomo viešuoju raktu ir patikrinti gauto dokumento autentiškumą.
img_17
Skaitmeninio parašo naudojimas kriptoekonomikoje
Pagrindinis skaitmeninio parašo naudojimo kriptoekonomikoje tikslas yra sukurti saugią ir patikimą skaitmeninę nuorodą į vartotojo tapatybę. Skaitmeninis parašas įrodo vartotojo teisę į skaitmeninį turtą ir leidžia kontroliuoti savo lėšas. Bitkoin arba kituose kriptovaliutų tinkluose, skaitmeniniai parašai naudojami kriptovaliutų piniginių identifikavimui. Vykstant sandoriui elektroninėje erdvėje, visos sandorio šalys privalo žinoti, kad lėšos, būtinos sėkmingam sandorio įvykdymui, ateina iš ten iš kur turi ateiti ir yra įskaitomos ten, kur turi būti įskaitytos.
Kriptoekonomikoje, privatus raktas naudojamas sandorio užšifravimui, o viešasis raktas – iššifravimui. Privatus raktas veikia kaip vartotojo slaptažodis ir turi būti laikomas paslaptyje. Tuo tarpu viešasis raktas yra skirtas dalintis viešai ir naudojamas sudaryti vartotojo adresui. Lėšų siuntėjas užšifruoja atliekamą sandorį su savo privačiu raktu, o lėšų gavėjas, šį sandorį iššifruoja su lėšų siuntėjo viešuoju raktu. Jeigu su lėšų siuntėjo viešuoju raktu atliekamo sandorio iššifruoti nepavyksta, reiškia sandoris nėra vykdomas iš piniginės, kurią nurodė lėšų siuntėjas, todėl negali būti atliktas ir patvirtintas.
img_18
Kaip minėjome, viešasis raktas yra naudojamas sudarant vartotojo adresą. Vartotojo adresas veikia panašiai kaip įprastas elektroninio pašto adresas, tik vietoje elektroninių laiškų, šiuo adresu vartotojas gauna jo viešuoju raktu užšifruotas perlaidas. Iš kitos pusės, privataus rakto tikslas yra atrakinti vartotojo viešuoju raktu užšifruotas perlaidas, kad gautą kriptovaliutą būtų galima įskaityti į vartotojo sąskaitą. Tokiu būdu, tik asmuo turintis privatų raktą gali atrakinti viešuoju raktu užšifruotus sandorius.
Kitaip sakant, įsivaizduokite viešoje vietoje stovinčia pašto dėžutę. Iš esmės bet kas gali įmesti į ją laišką, tačiau tik paštininkas, turintis raktą nuo dėžutės, gali ją atidaryti ir surinkti visus laiškus. Skaitmeninis parašas kriptoekonomikoje veikia labai panašiai. Bet kas gali atlikti pavedimą vartotojo adresu, tačiau tik asmuo, turintis privatų raktą, gali atrakinti gautus pavedimus ir kontroliuoti lėšas. Taigi, kriptoekonomikos pasaulyje visi vartotojai turi savo pašto dėžutę ir raktą jai atrakinti.
Skaitmeninio parašo saugumas ir žmogiškasis faktorius
Pagrindiniai skaitmeninio parašo trūkumai kriptoekonomikoje, susiję ne su technologine puse, bet su žmogiškuoju faktoriumi. Reikėtų pažymėti, kad skaitmeninis parašas dar niekada istorijoje nebuvo nulaužtas, tačiau jau daug kartų buvo atsitiktinai atskleistas ar pačio rakto savininko pamestas.
Kaip jau žinome, taikant viešojo ir privataus rakto modelį, viešasis raktas yra suporuojamas su privačiu raktu. Viešasis raktas, kaip galima nuspėti iš jo pavadinimo, gali būti platinamas viešai, o privatus raktas – būtinai turi būti saugomas paslaptyje. Nustatyti privatų raktą, žinant viešąjį raktą, techniškai neįmanoma, todėl viešuoju raktu galima saugiai su visais dalintis. Iš kitos pusės, jei asmuo privatų raktą pameta ar kitaip praranda, jis daugiau nebegali prieiti prie savo piniginės ir kontroliuoti savo lėšų.
Siekiant supaprastinti privačių raktų saugojimą, vartotojams šiuo metu siūlomos įvairaus tipo kriptovaliutų piniginės. Kriptovaliutos piniginės gali būti virtualios ir veikti internete arba jūsų kompiuteryje. Taip pat privatų raktą galima saugoti specialioje fizinėje kriptovaliutų piniginėje. Fizinės kriptovaliutų piniginės paprastai turi papildomas slaptažodžio apsaugas, todėl yra ypatingai saugios ir patikimos.
Kriptografijos reikšmė kriptoekonomikai
Vienas iš pagrindinių kriptoekonomikos aspektų yra vartotojų anonimiškumo samprata, todėl siekiant užtikrinti vartotojų bei jų veiklos sistemoje slaptumą, kriptoekonominėse sistemose naudojami įvairūs kriptografiniai metodai.
Kriptografijos samprata yra žinoma jau tūkstančius metų. Informacija buvo šifruojama ir slepiama pačiais įvairiausiais būdais dėl pačių įvairiausių priežasčių. Paradoksalu, tačiau nepaisant ilgos ir turtingos kriptografijos istorijos, didžiules šios srities pritaikymo galimybes dar tik pradedama iš naujo atrasti. Tiesą sakant, juk pirmoji kriptovaliuta (Bitkoinas) atsirado tik prieš dešimtmetį.
Šiuo metu, tokie kriptografiniai įrankiai kaip maišos funkcijos ar skaitmeniniai parašai veikia itin patikimai bei užtikrintai. Vis daugiau vartotojų pradeda naudotis įvairiomis paslaugomis, kuriose ši technologija yra taikoma. Vartotojai visuomet jaus poreikį saugiai saugoti, siųsti bei gauti informaciją arba pinigus, todėl kriptoekonomika, puikiai įsisavinusi ir besinaudojanti kriptografijos privalumais, turi geras galimybes kurti ir vystyti naujais technologiniais sprendimais paremtas paslaugas ir produktus.
Ekonomika – priežastis kodėl kriptoekonomika apsimoka
Laukite papildymo...