Hogyan kell saját kriptovalutát létrehozni?


Hozzáadva: 2021. Március 06. Megtekintve: 557

A pénzügyi világ a kriptovaluták megjelenése óta rohamosan változik és minden bizonnyal, aki ezeket a változásokat nem képes lekövetni, az lemarad. Az ethereum ökoszisztéma megértése egy mai, magát kriptovaluta szakembernek hívó egyén számára kötelező, mert olyan lehetőséget rejt magában, amelyekről eddig még álmodni sem mertünk. Egy néhány éve ki gondolta volna, hogy a mindennapokban használt pusztán fizikai formában megjelenő készpénz mellett meg fognak jeleni egyéb más valuták is. Ez kétségkívül megtörtént. Ezeket hívjuk kriptovalutáknak és a bitcoin megjelenése óta ezek száma robbanásszerűen megnövekedett. Vajon mi lehet az egész folyamat mögött?


A jelenség megértése nem túlságosan nehéz, azonban néhány technikai fogalmat tisztáznunk kell mielőtt megnézzük a kriptovaluta kibocsátás folyamatát.


A bitcoin nem több, mint egy elosztott hálózat által bizonyos időközönként kibocsátott digitális pénz. Ebből fakadóan, amikor valaki bitcoint küld egy másik felhasználónak, akkor tulajdonképp puszta matematikai manipuláció történik a hálózatban. Röviden szólva, az egyik felhasználó egyenlegét csökkentik, a másikét pedig növelik. Az ezt leíró tranzakciót pedig úgynevezett bányászok hitelesítik a hálózatban. A bitcoin ilyen szempontból viszonylag primitívnek tekinthető, hiszen nem képes másra, csak a pénzátutalások lebonyolítására. A bányászati eljárása sem nevezhető túlságosan kiforrottnak, hiszen egy egyszerű hash függvény sokszori iterációjából áll és azon kívül, hogy a tranzakciókat ezzel hitelesíteni tudják (proof-of-work vagy PoW) semmiféle hasznot nem hajt.


A bitcoin után fokozatosan megjelenő alternatív megoldások (altcoin) pontosan ezeket a hiányosságokat próbálják meg orvosolni. Alapvetően két szempontból lehet ötletelgetni. Az egyik maga a blokklánc (ezen tárolják a tranzakciós adatokat) működésével kapcsolatos, a másik pedig a bányászati eljárással.


A bányászat megreformálásán sokan dolgoznak és évente egy-két új hitelesítési eljárás biztosan napvilágot lát. Általában ezek az ASIC bányagépek vagy videokártyákkal jól bányászható valutákat próbálják meg helyettesíteni, úgy hogy az kizárólag processzorokkal legyen bányászható, biztosítván így az egyszerű felhasználók számára a csatlakozást. Itt lehet megemlíteni a RandomX algoritmuson alapuló Monerot, amelyet a mai nap lehet CPU-n bányászni.


A másik szemszög a blokklánc működése. A bitcoin esetében a blokklánc csupán tranzakciós adatokat rögzít. Például azt, hogy Sándor átutalt Katának 10 bitcoint. Erre a feladatra a bitcoin blokklánca tökéletesen alkalmas, azonban a szakemberek rájöttek, hogy azért itt még lehetne fejlesztgetni. Ekkor rukkolt elő az ethereum ötletével a kanadában élő, orosz származású Vitalik Buterin. Az orosz ötlete annyira jól sikerült, hogy a Facebook feltalálójához hasonlóan, két 120 kilós biztonságiőr nélkül nem hagyhatja el a lakását, mert a 100 millió dollár körüli magánvagyona miatt sosem sincs biztonságban.


Igen ám, de miért is olyan jó ez az ethereum?


Az ethereum a bitcointól főleg azért tér el, mert a blokklánca nem csupán tranzakciós adatok tárolására alkalmas, hanem tetszőleges programkódot is bele tudnak írni a felhasználók. Ezt a koncepciót nevezzük smart contract-nek, vagy okos szerződéseknek. Egy smart contract segítségével az ethereum ökoszisztéma felhasználói számára minden megvalósítható, amit a pénzügyi világban el lehet képzelni. Ezek a lehetőségek eddig kizárólag a bankok kezében voltak, azonban a peer-to-peer hálózatok rohamos terjedésével és az ethereum megjelenésével a bankok és a pénzügyi szervezetek hatalmas minden bizonnyal gyengül és az egyszerű felhasználók kezébe meglehetősen sok megvalósítási lehetőség kerül.


Egy okos szerződést úgy kell elképzelni, mint egy klasszikus papír alapú szerződést, amelyet az ügyvéd előtt írunk alá. Talán senkinek sem kell elmagyaráznom, hogy ez mit jelent. Nyilván ha teljesítjük a szerződésben foglaltakat, akkor minden rendben lesz, ha pedig nem, akkor irány a bíróság és a bíró dönt a sorsunkról. Ha a bírónak jó kedve van, akkor megússzuk kevés bírsággal, ha pedig bal lábbal kelt fel, akkor leültet minket néhány évre. A durva példa igazándiból az emberi tényező szemléltetésére szolgál.


Az ethereum okos szerződések ezt az emberi tényezőt teljes mértékben likvidálják a rendszerből. Okos szerződést bárki létrehozhat és azt egy adott pillanatban publikálhatja is az ethereum blokkláncra. Ezért némi ethereumot kell fizetni, mert a tranzakcióját az ethereum bányászoknak hitelesítenie kell. Emiatt az ethereum okos szerződések fejlesztését érdemes egy otthoni saját tesztkörnyezetben végezni. Erre szolgál például a "ganache-cli", amelyet egy Ubuntu rendszeren a $ sudo npm install -g ganache-cli paranccsal tudunk feltelepíteni.



Ha ezt megértettük, akkor nem nagy meglepetést ha azt mondom, hogy egy okos szerződés segítségével létre tudunk hozni kriptovalutákat is. A bevezetőből kiderült, hogy a kriptovaluták tulajdonképp csak digitális számok, amelyeket a tranzakcióktól függően változtatgatunk. Ha valaki elküld valamennyi kriptovalutát egy másik felhasználónak, akkor az ő egyenlegét csökkenteni kell, a másik felhasználóét pedig növelni. Ha ezt a működést megvalósítjuk egy okos szerződésben, akkor már készen is van a saját kriptovalutánk.


Az ethereum közösség a kriptovaluta kibocsátása mellett kifejlesztette a saját blokkláncát is és egy teljesen új programozási nyelvvel, a soliditiy-vel és előrukkolt. Az ethereum okos szerződéseket ezen a nyelven kell megírni. Egy nagyon egyszerű kriptovaluta okos szerződést le tudsz tölteni ha erre a linkre kattintasz. A szerződést publikálni kell az ethereum blokkláncra és ezt két módon lehet megtenni. A legegyszerűbb, ha az ethereum webes fejlesztői környezetét, a Remix-et használod. Ha mindent parancssorból szeretnél kivitelezni, akkor használd a Truffle Suite-ot, amely segít a szerződés publikálásában.


Megértettük tehát, hogy egy saját kriptovaluta létrehozása során szükség van egy okos szerződésre és egy ethereum teszthálózatra. A végső mozzanat pedig az, hogy létrehozunk egy alkalmazást, amely kommunikál a felhasználókkal, akik majd szeretnék küldözgetni a kriptovalutánkat.


Az ethereum blokklánccal egy web3 keretrendszert használó NodeJs alkalmazás segítségével kiválóan lehet kommunikálni. Az nagyon praktikus, mert rögtön egy webszervert tudunk így létrehozni, amelyet egy böngészőből fel tudunk éleszteni, és az így reagál a felhasználók által indított kérésekre.


A NodeJs alkalmazás programozása során meg kell valósítani azokat a részeket, amelyek felelősek lesznek az ethereum blokklánchoz való csatlakozásért, továbbá létre kell hozni olyan végpontokat, amelyek a böngésző felől érkező kérésekre válaszolnak.


A NodeJs alkalmazás fejlesztése során a legnehezebb rész az ethereum okos szerződéssel való kommunikáció. Miután a NodeJs alakalmazás csatlakozott az ethereum blokklánchoz, létre kell hozni egy szerződés objektumot, amely konstruktorának át kell adni az okos szerződés ABI (Application Binary Interface) paraméterét. Ennek legenerálása nem egyszerű feladat, főleg ha először csináljuk.


Ehhez a sudo npm install -g solc-js parancs segítségével fel kell telepíteni a szerződés lefordításához szükséges programot és a solcjs [szerződésed neve].sol --abi paranccsal pedig le kell generálni az ABI paramétert. Számomra ennek megértése tartott a legtovább.


Az általam készített egyszerű NodeJs webszerver kódját letöltheted ha erre a linkre kattintasz. A megjelenéshez szükséges HTML és CSS fájlok legyártását már rád bízom.


Jó tesztelgetést és kriptovaluta kibocsátást!



Szerző: LB



Figyelem: A bejegyzésben található információk tartalmazhatnak hibát. A szerző az abból eredő károkért nem vállal felelősséget!



Hozzászólások (0)


További hírek