Kas yra blockchain (liet. blokų grandinė)? Amerikiečių komikas Stephen‘as Colbert‘as sako, kad tai yra „moksliukų auksas“. Na, dabar moksliukai tampa populiariais vaikais, o blockchain technologija tampa viena iš daugiausiai žadančių tendencijų finansų ir skaitmeninių inovacijų srityje nuo pat interneto atsiradimo.
Blokų grandinės yra duomenų bazės. Vietoj to, kad būtų saugomi centriniame serveryje, prie kurio prieigą turi visi naudotojai, blokų grandinės įrašai saugomi naudotojų kompiuteriuose visame pasaulyje. Dėl to blokų grandinė yra paskirstytoji duomenų bazė, kurios architektūra yra vadinama peer-to-peer. Paskirstyta reiškia, kad duomenys saugomi keliose vietose, o peer-to-peer reiškia, kad nėra centrinės institucijos, kuri turėtų pagrindinę duomenų kopiją.
Satoshi Nakamoto sukurta Bitcoin blokų grandinė nėra pirmoji paskirstytoji duomenų bazė ir nėra pirmoji duomenų bazė peer-to-peer. Kaip ir minėjome tai nėra pirmoji blokų grandinė, tačiau ji yra pirmosios šiuolaikinės kriptovaliutos pagrindas ir nuo jos prasidėjo po jos atsiradusios blokų grandinės.
Kaip veikia blokų grandinė?
Tarkime, norime duomenų bazėje saugoti duomenis apie pokerio ranką. Pradėsime nuo to, kad kiekvienai kortų kaladės kortelei priskirsime numerį: 1 – pikų tūzas, 2 – pikų dvejetas, 3 – pikų trejetas ir taip iki 52 – širdžių karaliaus. Naudojant tokį metoda jūsų ranka gali atrodyti taip:
Įrašas | Kortos vertė |
---|---|
1 | 12 |
2 | 44 |
3 | 4 |
4 | 31 |
5 | 27 |
Įrašų (ang. records) numerius įsivaizduokite kaip skaičiuoklės eilučių numerius. Duomenų bazių programuotojai juos vadina įrašais, o blokų grandinės programuotojai blokais. Eilutė, įrašas, blokas visi jie reiškia vieną duomenų gabalą.
Priešininko ranka užims 6–10 eilutes, kita ranka gali būti laikoma 11–15 eilutėse ir t. t. Taigi, jei norite nurodyti, apie kokią ranką kalbate, duomenų bazei tereikia nurodyti, kurioje eilutėje yra pirmoji korta.
Sąsajos grandinėse
Be abejo, paskirstytose peer-to-peer duomenų bazėse kiti naudotojai gali tvarkyti duomenis tuo pačiu metu, kai jūs tvarkote duomenis. Mažai tikėtina, kad jūsų kortos bus rodomos iš eilės einančiose eilutėse. Todėl galime pridėti nuorodas į ankstesnes ir kitas kortas, kad susietume duomenis į grandinę:
Įrašas | Kortos vertė | Ankstesnė korta | Sekanti korta |
---|---|---|---|
15 | 12 | 0 | 37 |
37 | 44 | 15 | 118 |
118 | 4 | 37 | 121 |
121 | 31 | 118 | 119 |
119 | 27 | 121 | 999 |
Pirmoji jūsų rankoje esanti korta laikoma 15 eilutėje. Kortos vertė yra 12, todėl tai yra pikų dama. Jūsų rankoje nėra ankstesnės eilutės, todėl stulpelyje Ankstesnė korta įrašome 0. Kita korta saugoma 37 eilutėje.
Taigi pažvelkime į 37 eilutę. Joje taip pat nurodoma viena korta, nurodoma eilutė, kurioje galima rasti ankstesnę kortelę (15), ir nurodoma kita korta, kuri saugoma 118 eilutėje.
Kompiuterių moksle ši struktūra vadinama dvigubai susietu sąrašu (ang. doubly linked list), nes ji susieta ir pirmyn, ir atgal. Nuorodos saugomos duomenų bazėje kaip duomenys kartu su kortų reikšmėmis.
Duomenų apsauga
Niekas netrukdo nei mums, nei įsilaužėliams keisti kortų vertės. Šioje duomenų bazėje lengva sukčiauti. Bet kas, turintis prieigą prie duomenų bazės, gali pakeisti pirmųjų keturių jūsų rankos kortų reikšmes į 1, 14, 27, 40 (tai keturi tūzai).
Nuo klaidingų duomenų ir įsilaužėlių galime apsisaugoti pridėdami stulpelį. Kiekvienai eilutei pridėsime stulpelį, kuriame bus kortelių verčių suma, pvz:
Įrašas | Kortos vertė | Ankstesnė korta | Sekanti korta | Kontrolinė suma |
---|---|---|---|---|
15 | 12 | 0 | 37 | 12 |
37 | 44 | 15 | 118 | 56 |
118 | 4 | 37 | 121 | 48 |
121 | 31 | 118 | 119 | 35 |
119 | 27 | 121 | 999 | 58 |
Matote, kaip tai veikia? Antrosios kortos kontrolinės sumos reikšmė yra 56, t. y. pirmųjų dviejų kortų 12 ir 44 reikšmių suma. Trečiosios kortos kontrolinė suma yra kitų dviejų kortų verčių suma. Kiekvieną kartą skaitydami kortų reikšmę galime apskaičiuoti kontrolinę sumą ir palyginti ją su duomenų bazėje saugoma kontroline suma. Jei jos nesutampa, žinome, kad duomenys buvo suklastoti.
Kompiuteryje ir išmaniajame telefone esančios atminties mikroschemos nustato klaidas naudodamos šią sistemą. Ši sistema taip pat naudojama ieškant klaidų kietajame diske.
Ši paprasta kontrolinės sumos sistema yra esminė blokų grandinės technologijos dalis. Ji gerai žinoma net pirmojo kurso informatikos studentams.
Be to, jis juokingai pažeidžiamas įsilaužėlių. Bet kuris asmuo, turintis pakankamai prieigos teisių, kad pakeistų kortų reikšmes, taip pat galėtų pakeisti kontrolines sumas ir nuslėpti savo veiklą. Arba įsilaužėlis galėtų pakeisti ankstesnės kortos ir sekančios kortos sasajas, kad pakeistų jūsų rankoje esančią kortą su kitoje eilutėje esančia korta.
Nakamoto savo blokų grandinės architektūroje numatė šias pažeidžiamas vietas. Užuot naudojęs paprastą pridėjimą kontrolinėms sumoms sukurti ir duomenų grandinės grandims sekti, jis panaudojo kriptografinį procesą, vadinamą hashing.
Hashing mechanizmas ir šifravimas
Atliekant vienpusį matematinį procesą, sujungiant ankstesnio įrašo vertę su dabartinio įrašo verte, sukuriamas unikalus identifikcinis numeris ir gaunama tokia hash vertė kaip 06C4D99F32047. Šis procesas vadinamas vienpusiu, nes nėra jokio atitinkamo matematinio proceso, kuris 06C4D99F32047 paverstų atgal į pradinius duomenis.
Blokų grandinėje kiekvieno bloko hash reikšmė nustatoma pagal ankstesnio bloko hash reikšmę, kuri nustatoma pagal prieš tai buvusio bloko hash reikšmę iki pat Nakamoto nulinio bloko. Galite apskaičiuoti bet kurio bloko hash vertę ir palyginti ją su bloke saugoma hash verte. Jei jos nesutampa, vadinasi duomenys buvo suklastoti.
Įprastinėje duomenų bazėje galima suklastoti duomenis, tada apskaičiuoti naujas Hash vertes ir įterpti jas į kitus blokus ar įrašus, kad paslėptų poveikį. Tai neveikia paskirstytosios peer-to-peer blokų grandinės duomenų bazės atveju, nes įsilaužėlis turėtų vienu metu keisti duomenų bazės kopijas, saugomas šimtuose ar tūkstančiuose kompiuterių.
Viena iš pasekmių yra ta, kad nors į blokų grandinę galima įtraukti naujų duomenų blokų, ankstesnių blokų negalima nei ištrinti, nei pakeisti. Tai reiškia, kad negalite išsiųsti sau 100 000 JAV dolerių vertės Bitcoin ir ištrinti sandorio.
Kiekvienas blokų grandinės sandoris patvirtinamas naudojant šį Hash mechanizmą.
Be to, Nakamoto nustatė šifravimą, kad blokų grandinėje saugomus duomenis galėtų matyti kiekvienas naudotojas, tačiau iššifruoti juos galėtų tik tie, kurie turi tinkamus iššifravimo raktus. Neturint rakto, viskas, ką matysite, bus tik nesąmoningų simbolių srautas.
Blokų grandinės technologijos galia
Blokų grandinės technologija užtikrina, kad duomenys būtų privatūs, nuolat prieinami ir patikrinami. Duomenų ir sandorių įrašai yra vieši, tačiau šifravimas apsaugo juos nuo pašalinių akių ir galimybės pakeisti. Štai kodėl Bitcoin blokų grandinė dažnai vadinama Bitcoin Open ledger.
Visam šiam kodavimui ir šifravimui reikia daug skaičiavimo išteklių. Tai lėta ir visame pasaulyje visas Bitcoin blokų grandinės tinklas gali apdoroti tik 4,6 sandorio per sekundę. Kredito kortelių bendrovės įprastai apdoroja vidutiniškai 1 700 operacijas per sekundę ir teigia galinčios apdoroti 56 000 operacijas per sekundę. 4,6 operacijos per sekundę riba yra pagrindinė Bitcoin mastelio problema ir šiuo mentu IT specialistai ją bando išspręsti.
Teigiama, kad Bitcoin sandorius patvirtinančių kompiuterių tinklas sunaudoja daugiau elektros energijos nei Šveicarija.
Daugelyje Bitcoin sandorius patvirtinančių mazgų (ang. nodes) saugoma visa blokų grandinė, kurią šiuo metu sudaro apie 250 GB duomenų. Jie vadinami pilnaisiais mazgais (ang. full nodes). Tinkle taip pat yra SPV mazgų, kurie atlieka supaprastintą mokėjimų patikrinimą (ang. simplified payment verification). Tikslaus būdo suskaičiuoti mazgus nėra. Svetainėje, vadinamoje Bitnodes pateikia atnaujintą šiuo metu veikiančių ir pasiekiamų mazgų skaičių, tačiau Google paieška rodo, kad ekspertai pateikia nuo 6000 iki 200 000 mazgų skaičiaus paklaidą. Niekas iš tikrųjų nežino, kiek jų yra.
Viskas apie Ethereum
Plačiausiai naudojama blokų grandinė yra Ethereum, į kurią įtraukti pakeitimai, dėl kurių ji yra lankstesnė nei Bitcoin blokų grandinė. Ethereum turi savo kriptovaliutą Ether, tap pat kūrėjai sukūrė daug papildomų kriptovaliutų, kurios veikia Ethereum blokų grandinėje. Ši platforma taip pat naudojama ne tik virtualiems pinigams, bet ir daugeliui kitų rūšių aplikacijų naudojimui.
Vienas iš pagrindinių Ethereum privalumų yra tai, kad jame galima laikyti ne tik duomenis, bet ir vykdomąsias programas. Šios programos vadinamos išmaniosiomis sutartimis (ang. smart contracts). Pavyzdžiui, išmanioji sutartis už dešimtinę gali susumuoti visus šį mėnesį į jūsų sąskaitą įneštas Ether ir 10 % jų nusiųsti bažnyčiai kaip auką.
Kaip ir Bitcoin blokų grandinė, Ethereum yra apsaugota nuo klastojimo. Prabangių laikrodžių gamintojas Breitling savo laikrodžių savininkams suteikia skaitmeninius sertifikatus, kurie įrodo autentiškumą. Jei laikrodį parduodate, sertifikatą galite perduoti naujam savininkui, taip sukurdami patikrinamą nuosavybės grandinę. Šią technologiją taip pat galima naudoti maisto prekių parduotuvėje esančių maisto produktų kilmei atsekti, stebint kiekvieną jų perdavimą. Vis daugiau žmonių rūpinasi etišku kilmės šalies įrodymu, o blokų grandinė gali būti to dalis.
2020 m, Associated Press paskelbė Amerikos prezidento rinkimų rezultatus tą pačią minutę į Ethereum blokų grandinę, kad būtų sukurtas nekeičiamas patikrintų oficialių balsų skaičiavimo įrašas.
Ethereum blokų grandinė apdoroja apie 30 sandorių per sekundę. Kūrėjai intensyviai dirba prie būsimų Ethereum versijų, kuriose bus naudojama technika, vadinama segmentavimu (ang. sharding), kad vienu metu veiktų kelios blokų grandinės, o konsoliduoti sandoriai asinchroniškai būtų siunčiami į centrinę blokų grandinę. Kūrėjai tikisi, kad naujosios Ethereum blokų grandinės versijos galės apdoroti iki 100 000 sandorių per sekundę.
Kadangi Ethereum veikia išmaniosios sutartys, tai tarnauja kaip daugelio su blokų grandine susijusių programų platforma. Dauguma blokų grandine grindžiamų decentralizuotų aplikacijų, ypač decentralizuotų finansinių aplikacijų, yra pagrįstos pagrindine Ethereum grandine arba privačiomis Ethereum blokų grandinėmis.
Ethereum taip pat yra geriausias pasirinkimas korporacijoms, norinčioms įdiegti žetonais pagrįstą ekonomiką. Pavyzdžiui, įmonė gali įgyvendinti lojalumo programą, pagal kurią klientai už kiekvieną pirkinį gauna Acme monetų. Tada galėtų būti dovanų parduotuvė, kurioje už Acme monetas būtų galima įsigyti įvairių prekių ar paslaugų. Įmonė galėtų sukurti įmonių tinklą, kurios taip pat priima Acme Coins, suteikdama žetonams faktinę vertę, nors jų negalima iškeisti į dolerius ar eurus.
O Ethereum specifikacijoje ERC-721 apibrėžiamas ne grynųjų žetonų (ang. non-fungible tokens) kūrimo protokolas. Jis yra NFT rinkos pagrindas.
Kitos blokų grandinės
Bitcoin ir Ethereum yra plačiausiai naudojamos blokų grandinės, tačiau šiuo metu jų yra šimtai ar tūkstančiai, visos jos pagrįstos originalia Nakamoto koncepcija. Blokų grandinės gali būti viešos, kaip Bitcoin blokų grandinė, arba privačios, naudojamos vidiniam duomenų valdymui.
Mokslininkai sukūrė daugybę pagrindinės blokų grandinės architektūros variantų. Daugelyje jų yra naujovių, skirtų greitesniam duomenų apdorojimui, didesniam mastelio keitimui pasiekti ar mažesniems sandorių mokesčiams. Visame kriptovaliutų pasaulyje vykdomuose projektuose sprendžiami konsensuso mechanizmų, pavaldžių subchemų koordinavimo, privačių blokų grandinių ir kitų pagrindinių technologijų klausimai.
Kas yra blokų grandinė? Dabar jau žinote
Koks yra blokų grandinės apibrėžimas? Kaip veikia blokų grandinės technologija? Tikimės, kad šis blokų grandinės paaiškinimas padėjo geriau suprasti ir įvertinti šią nepaprastą, revoliucinę peer-to-peer duomenų bazių architektūrą ir jos taikymo sritis.
PASTABA
Tekstas yra informacinio pobūdžio ir nelaikomas investicijų rekomendacija. Jis nėra asmeninė autoriaus ar paslaugos teikėjo nuomonės. Bet kokia investicija ar prekyba yra rizikinga, ankstesnė grąža nėra garantija būsimai grąžai – rizikuokite tik tuo turtu, kurį esate pasirengę prarasti.