Pereiti prie pagrindinio turinio

Blockchain technologija: veikimo principas, NFT, DeFi. I dalis

Vismoje programuoju jau beveik dešimtmetį. Šiuo metu su PHP komanda dirbu Azets projekte – kuriame darbo užmokesčio, laiko ir dokumentų valdymo sistemą, o laisvalaikiu domiuosi blockchain technologija. Visai neseniai skaičiau pranešimą Vilniaus PHP user group’e, tad šiame blog’o įraše pasidalinsiu pagrindiniais pranešimo apie blockchain su PHP akcentais. Perskaitęs sužinosi, kas yra ir kur naudojama ši technologija, kas yra DeFi, NFT, tokenai ir t.t.

Na, o greitai pasirodysiančioje antroje blog’o dalyje pasidalinsiu praktiniais naudojamo kodo pavyzdžiais pasitelkiant PHP biblioteką ir parodysiu bent vieną PHP demo projektą.

Kas yra blockchain, NFT, DeFi

Kas yra Blockchain?

Kaip pavadinimas ir sufleruoja – tai blokų grandinė, kur kiekvienas iš blokų talpina kokią nors informaciją. Ši matematinė idėja pirmą kartą buvo aprašyta 1991 metais, tačiau bene pirmą kartą išpopuliarėjo tik 2009 metais ją pritaikius Bitcoin kriptovaliutos sukūrimui. O šiandieną stebime šios technologijos bumą – pasaulyje prikurta ne tik kriptovaliutų, bet ir sukurta nemažai įvairių skaitmeninių sprendimų, besiremiančių blokų grandinės principu.

Blokų grandinę mažų mažiausiai sudaro blokai, kurių kiekvienas turi tam tikrą meta-informaciją: einamojo bloko hash įrašą ir prieš tai buvusio bloko hash įrašą. Na o hash įrašas yra tarsi bloke saugomos (iš principo bet kokios) informacijos sutrumpinta versija – antspaudas. Rezultate, blokai surišami vienas su kitu hash įrašais tokiu būdu užtikrinant ne tik jų eiliškumą, bet ir nekintamumą blokuose saugomos informacijos, ją tarsi “užrakinant”. Kuo daugiau blokų su atitinkamais įrašais sukuriama, tuo saugesnis tampa “užraktas”, nes vidurinio bloko informacijos pakeitimas priverstų perskaičiuoti visus hash įrašus einančius po jo.

Gali kilti klausimas – argi sunku istorinius hash įrašus perskaičiuoti? Šių dienų blokų grandinės, pavyzdžiui kriptovaliutose, nuo panašių kibernetinių atakų yra apsaugomos įvairiais algoritmais, kurie istorinių blokų informacijos keitimą padaro ypatingai sunkiai įmanomą – tiek sunkiai, kad potenciali ataka atsieitų brangiau, nei galima atakos nauda piktavaliui.

Kodėl Blockchain idėja yra tokia populiari?

Turbūt labiausiai akivaizdi blokų grandinės nauda yra duomenų istorijos užtikrinimas – kas jau įrašoma į bloką, tą labai sunku koreguoti ar ištrinti. Tai užtikrina vartotojų pasitikėjimą šia technologija. Taip pat panašu, kad daugumai žmonių patinka idėja, jog už informacijos saugojimą ir vientisumą yra atsakinga ne kokia nors institucija, o jie patys. Žmonės atsakingi ne tik kaip bendruomenė –  veikia blokų grandinės gyvavimo procese saugant duomenis, bet ir patys asmeniškai – privalo saugoti savo slaptažodžius bei būti tikri, jog atlieka teisingas operacijas (perveda kriptovaliutą į teisingą sąskaitą, perka teisingas skaitmenines teises ir pan.). Labai svarbu pabrėžti, kad blokų grandinės sistemoje, kokią šiandienai žinome, “kelio atgal” nėra – jeigu netyčia pervedei turtą ne ten, kur norėjai, dažnu atveju neįmanoma nieko ištaisyti.

Kitas puikus dalykas, kurį siūlo blokų grandinės technologija yra sistemos skaidrumas. Visos transakcijos: piniginės perlaidos, turtinių ir kitokių vienetų (assets) kūrimas, sąskaitų balansai ir kita į blokų grandinę talpinama informacija dažnu atveju yra viešai prieinama. Tai potencialiai leidžia sumažinti galimybes korupcijai, finansų rinkų manipuliacijoms ir panašiai neteisėtai veiklai. Bent jau šiai dienai nusikaltėliui “mėtyti pėdas” ganėtinai sudėtinga, kadangi kiekvienas veiksmas gali būti susektas. Tikėkimės, kad tai veiks ir ateityje. Na o informaciją apie blokų grandinių sistemas galima rasti tiek oficialiuose kriptovaliutų tinklalapiuose, tiek ir specialiuose internetiniuose įrankiuose informacijos stebėjimui ir analizei. Kaip pavyzdžiui:

Dar vienas svarbus aspektas yra duomenų decentralizacija. Pagal priimtus blokų grandinės kūrimo susitarimus (angl. consensuses) didžiausią įtaką blokų grandinės turiniui turi dominuojantys resursai. Tad kuo daugiau resursų sutaria dėl konkrečios informacijos talpinimo į bloką, tuo didesnis šansas, kad ta informacija ten ir atsidurs. Taigi, decentralizacija leidžia užtikrinti, kad informacija blokų grandinėje nebus cenzūruojama, kadangi labai sudėtinga būtų uždrausti laikyti kokią nors informaciją didžiajai daliai visų pasaulyje paskirstytų kompiuterių.

Kadangi blokų grandinę generuoja kompiuterių sistemos, joje galima talpinti ne tik paprasčiausius duomenis, bet ir automatiškai vykdomą programinį kodą išmaniųjų kontraktų (angl. smart contracts) pavidalu. O šie yra naudojami pavieniui ar apjungiant kartu su duomenimis į bendrą vykdomą sistemą, kuri vadinama decentralizuota aplikacija (angl. decentralized application – dApp). Taigi, panaudojant blokų grandinę galime kurti aplikacijas, kurių kodas ir naudojami duomenys yra atviri ir stabilūs, nes prieinami kiekvienam ir beveik neįmanoma tyčia sugadinti.

Blokų grandinės technologija žengia tik pirmuosius praktinius žingsnius. Be abejo yra nemažai technologinių problemų (apie jas šiame įraše neišsiplėsiu), kurios sprendžiamos viso pasaulio bendruomenės. Tad tikėkimės, kad ilgainiui ši naujovė prigis ir įsitvirtins, nes ji stipriai prisideda prie naujos kartos interneto funkcijų, neoficialiai vadinamų WEB 3.0, atsiradimo.

Blockchain praktinis panaudojimas: NFT, DeFi, DNS, VPN, DAO.

Kadangi blokų grandinė turi duomenų žurnalo savybes, ją galima pritaikyti iš principo visur, kur norime registruoti faktus, tad galimybės labai plačios. O panaudoti galima įvairius tiesioginius ir išvestinius blokų grandinės artefaktus: kripto monetas (angl. coins), žetonus (angl. tokens), išmaniuosius kontraktus ir kita. Šiuo metu populiariausios sritis yra kriptovaliutų finansų rinka (angl. Decentralized Finance – DeFi) – prekyba turtinius vienetus atitinkančiais nekeičiamais ir keičiamais žetonais (angl. atitinkamai none-fungible token – NFT, fungible token).

Toliau trumpai apžvelkime keletą blokų grandinės taikymo pavyzdžių:

  • Decentralized DNS – alternatyva internetinių adresų serveriams. 
    • Handshake – naujas vardinių adresų projektas, kuris leis registruoti pirmojo lygmens domenus (.com, .org ir kitus). Kol kas šis projektas vienintelis, galėsiantis pasiūlyti mums įprastus domenų vardus. Deja, jis vis dar vystomas, tačiau jau dabar galima pirkti norimą vardą.
    • ENS – leidžia išsinuomoti vardinį adresą pasirinktam laikotarpiui. Veikia Ethereum tinkle. Šiuo metu kaina yra 5 doleriai, tačiau reikia nepamiršti ir papildomo Ethereum mokesčio (gas fee), dėl kurio gali tekti pakloti kur kas didesnę sumą. Įdomu tai, kad bent jau kol kas, kaina nepriklauso nuo vardo ilgio. Siūlomas domenas – .eth.
    • Unstoppable Domains – leidžia įsigyti vardinį adresą mokant vienkartinį mokestį. Veikia Polygon blokų grandinėje bei turi integraciją su Ethereum, iš kurio ir emigravo. Kuo trumpesnis ir įsimintinesnis vardas, tuo daugiau tenka mokėti – pavyzdžiui už 5 simbolių vardą gali tekti pakloti nuo 250 iki 2000 ir daugiau dolerių. Labai taupant pinigus, pigiausią variantą galima įsigyti už 20 dolerių. Siūlomi domenai: .x, .coin, .bitcoin, .zil ir keletas kitų.
  • Aukcionai – įvairių aukcionų sprendimų galima sutikti daugumoje NFT platinimo platformų. Jose dalyviai varžosi dėl norimo nekeičiamo žetono (NFT) siūlydami kuo didesnę kainą. Aukcionai veikia vykdant išmaniųjų kontraktų programinį kodą.
    • OpenSea – pati populiariausia platforma NFT įsigyti. Pradžioje veikė Ethereum tinkle, tačiau neseniai startavo Klaytn bei Polygon’e. Pastarasis buvo pasirinktas siekiant sumažinti valiutos operacijų mokesčius (gass fees).
  • Decentralizuotas VPN (DPN arba dVPN) – suteikia tas pačias privataus naršymo internete funkcijas, tačiau skirtingai nuo įprastų VPN tiekėjų, nekaupia duomenų apie naudotoją (angl. log’s) ir yra atsparesnis kibernetinėms atakoms. Visos čia išvardintos naudoja savo nuosavas blokų grandines ir turi atitinkamas prekiaujamas kriptovaliutas:
  • Decentralized autonomous organization (DAO) – juridinės organizacijos savotiškas skaitmeninis atitikmuo. Vietoje valdybos susirinkimo sprendimus priiminėja visi, kas turi balso teisę. Teisė balsuoti įgyjama nusiperkant tam skirtų žetonų (angl. governance token), kurie yra kaip įmonės akcijos su galimais dividendais. O priimami sprendimai yra tiesiog mašininio kodo atnaujinimai, kurie po balsavimo talpinami į blokų grandinę ir vykdomi. Turbūt pats didžiausias DAO privalumas – organizacija iš principo gali veikti, net jei projektas jau nebėra aktyviai vystomas – t.y. “neįmanoma” organizacijos veikimo lengvai sustabdyti.
    • The DAO – turbūt pati žymiausia organizacija blokų grandinės tinkle, liūdnai pagarsėjusi dėl kibernetinio įsilaužimo. Buvo pavogtas net trečdalis sukauptos rizikos fondo vertės. Šis įvykis lėmė Ethereum grandinės išsišakojimą (angl. hard fork) į Ethereum – su pataisytu programiniu kodu ir į Ethereum Classic – senąjį kodo variantą su tebeezistuojančia “saugumo skyle”.
    • Dash – į atsiskaitymus ir piniginius pervedimus orientuota kriptovaliuta bei ją vystanti organizacija.
    • Aave – paskolų platforma, siūlanti ne tik paskolas, bet ir palūkanas investuojant į paskolas.
    • Uniswap – kriptovaliutų ir žetonų keitykla Ethereum tinkle. Iš esmės skiriasi nuo įprastinių kriptovaliutų keityklų (Coinbase, Binance, Kraken ir pan.) tuo, jog veikia decentralizuotai – blokų grandinės tinkle.
  • DeFi žaidimai ir pramoginis turinys:
    • Cryptokitties – vienas pirmųjų populiarių NFT žaidimų, kuriame galima pirkti ir veisti virtualias kates.
    • NBA top shot – vienas iš ankstyvųjų 2021 metų projektų, kuris tapo labai sėkmingas, kai tik internetinėje erdvėje ėmė populiarėti raktažodžiui NFT.
    • The Sandbox – virtuali metavisata, kurioje žaidėjai gali žaisti, kurti ir monetizuoti virtualią patirtį. Vienas sėkmingiausių NFT žaidimų projektų.
    • Axie Infinity – Play to earn (P2E) tipo žaidimas, žinomas dėl ekonomikos, kuri grįsta Etherium pagrindu sukurtomis kriptovaliutomis.

Iš principo dabar esame ankstyvojoje WEB 3.0 kūrimosi stadijoje, kurioje blockchain naudojamas decentralizuotų sistemų kūrimui, kur turtą bei savo duomenų privatumą internete galėtų valdyti patys žmonės. Ypatingai prie to prisidėjo išmaniojo kontrakto atsiradimas, kurio įtaka šiuo metu tikriausiai akivaizdi skaitmeninio meno kūrime. 

Žinoma, reikėtų suprasti, jog technologija dar toli gražu nėra adaptuota plačiajai auditorijai, todėl dar kurį laiką užtruks, kol pamatysime visas technologijos pritaikymo galimybes ir sumažės kibernetinio saugumo problemų, tokių kaip įvairūs ponzi schema paremti projektai, didelio masto kibernetinės atakos bei privataus ar draudžiamo turinio publikavimas.

Tiek šiame blog’o įraše. Antrojoje dalyje parodysiu praktinį Blockchain panaudojimą su PHP ir kelis kodo pavyzdžius.

Populiariausi blog'ai

  • Migrating from Xamarin to .NET MAUI: A Comprehensive Guide

    The world of mobile application development is constantly evolving, and Microsoft’s .NET Multi-platform App UI (.NET MAUI) is at the forefront of this change. As an evolution of Xamarin.Forms, .NET MAUI offers developers a modern, cross-platform framework for building native device applications. This blog post will guide you through the process of migrating your existing Xamarin.Forms application to .NET MAUI.

  • My experience on taking the eWPTXv2 exam

    So a few months ago I had the joy of passing the eWPTXv2 exam. Well, it does not sound intriguing until you translate it into human language. The eWPTXv2 is actually eLearnSecurity Web Penetration Testing Extreme second version. Everything sounds better than you put extreme into it. Well, this is not that case since the exam is actually a bit hard.

  • Socialinis intranetas „Simoona“ – dabar prieinamas kiekvienam!

    Šiame blog’o įraše papasakosime apie vidinės komunikacijos įrankį, mūsų kurtą socialinį tinklą „Simooną“. Tik prasidėjus kūrybos procesui mums rūpėjo tik viena – kaip kuo daugiau įmonės kultūros perkelti į skaitmeninę erdvę. Ir prieš aštuonerius metus, net neįsivaizdavome, kad šis vidinis intranetas, bus toks svarbus kuriant glaudžius ryšius tarp kolegų ir tikrai net negalėjome nutuokti, kokia svarbi „Simoona“ bus užklupus pasaulinei pandemijai.