Blockchain a BitCoinon túl (NameCoin, Ethereum)

Egy előző bejegyzésemben (http://lf.estontorise.hu/archives/662) írtam arról, hogy hogyan működik a BitCoin alapjául szolgáló blockchain (blokklánc). A blockchain tulajdonképpen egy decentralizált rendszer felett működő rendkívül megbízható adatbázis. De ha van egy ilyen adatbázisunk, miért csak tranzakciókat tárolnánk benne? És egyáltalán mit érdemes még blockchainben tárolni? Ebben a bejegyzésben erre mutatnék két megvalósítást, amiken keresztül megérthetjük ezeknek az alternatív, blokklánc alapú rendszereknek a működését.

Az egyik legelső ilyen blokklánc megvalósítás a NameCoin (https://namecoin.org/) volt, ahol nevekhez rendelhetünk IP címeket, amivel egyfajta decentralizált DNS szolgáltatás valósul meg. (Valójában ennél sokkal általánosabb dologról van szó, mivel a nevekhez bármilyen adatot [pl. digitális aláírást, ZeroNet címet, stb.] hozzárendelhetünk.) Egy ilyen decentralizált DNS szolgáltatás hasonló előnyökkel rendelkezik, mint a BitCoin. Tehát nem birtokolja senki, nem lehet a nevekhez rendelt weblapokat letiltani, a neveket átirányítani, stb. A BitCoin tranzakciókhoz hasonlóan a NameCoin blockchainben rögzített neveket is digitális aláírás hitelesíti, így a kontroll a BitCoinhoz hasonlóan kizárólag az aláírás birtokosáé. Minden blockchain megvalósításra igaz, hogy más adatbázishoz hasonlóan azt üzemeltetni kell. Ez ugye azt jelenti, hogy az egyes bejegyzéseket blokkokba kell gyűjteni, és a lánc végére fűzni. Ez számításigényes feladat, amit valamiképp honorálni kell, különben nem érné meg senkinek csinálni. Ráadásul mindennek anonimnak és automatikusnak kell lennie. Éppen ezért, ahogy a BitCoin esetén, úgy a NameCoin esetén is minden blokk generálásakor kriptovaluta termelődik. Valójában ezt a valutát hívják NameCoinnak. Ha valaki be szeretne jegyeztetni egy nevet a NameCoin blockchainbe, annak NameCoinal kell ezért fizetnie. NameCoint pedig a BitCoin-hoz hasonlóan vásárolni lehet (jellemzően BitCoin-ért). Igazából mind a BitCoin, mind a NameCoin, és minden más kriptovaluta (altcoinok) olyasmi mint ha részvényt vásárolnánk egy cégben. Ez a NameCoin esetén különösen jól nyomon követhető. Mikor megalkották a NameCoint, a tagok nem kaptak semmit a befektetett számítási kapacitásukért, csupán (akkor értéktelen) NameCoint. Ez azzal analóg, mikor az alapítók, és befektetők pénzt nyomnak egy cégbe valamennyi tulajdonrészért cserébe, annak reményében, hogy ebből lesz majd valami. Ezt követően az emberek elkezdték használni a NameCoin blokkláncát, ahová úgy jegyezhettek be neveket, hogy NameCoint vettek. A NameCoin a név bejegyzésekor (vagy meghosszabbításakor, mert a nevek idővel lejárnak) eltűnik, így bezárul a kör. Így jutnak tehát végül pénzhez azok, akik működtetik a blockchaint. Eladják az előzőleg megtermelt NameCoinjaikat azoknak, akik használni kívánják a rendszert. Pontosan úgy, mikor a befektető pénzhez jut abból, hogy eladja az adott cégben birtokolt üzletrészét. Ez a működési mechanizmusa a NameCoinnak, a BitCoinnak, és minden más kriptovalutának. Most, hogy a NameCoin példáján láttuk, hogy a blockchain nem csak tranzakciók tárolására jó, lássunk egy még érdekesebb megvalósítást, az Ethereumot, amit sokan csak blockchain 2.0-nak neveznek.

Az Ethereum (https://www.ethereum.org/) úgymond tökélyre fejlesztette a blockchain használatát. Itt ugyanis nem csak "száraz" adatokat tárolhatunk a blokkláncban, hanem futtatható kódot is. Éppen ezért az Ethereumra szoktak úgy is hivatkozni, mint valamiféle nagy, decentralizált, virtuális számítógép. Ezeket a futtatható kódokat okos szerződéseknek (smart contract) hívják, mert sok esetben ezek egyfajta nagyon pontosan specifikált megegyezések partnerek közt (hasonló mint egy szerződés). A smart contractok saját számlával rendelkeznek, és birtokolhatnak pénzt, amihez csak "ők" férnek hozzá. Ilyen smart contractra jó példa lehet egy közösségi finanszírozás (crowd founding) kampány. A szerződésben ilyen esetben le lehet programozni, hogy gyűjtse a pénzt, és csak abban az esetben utalja tovább a kampányt indítónak, ha adott időre összegyűlt a megfelelő összeg, ellenkező esetben utalja vissza a befizetőknek azt. Mivel a szerződés kódja mindenki számára nyílt, így nem kell megbízniuk a közösségi finanszírozás indítójában. Hasonló példa, ha valaki el akarja adni a házát. Itt ha a fizetés történik először, félő, hogy az eladó lelép a pénzzel, míg ha az ingatlan átruházása, akkor félő, hogy a vevő nem fizet. Emiatt aztán szükség van egy megbízható harmadik félre, egy ügyvédre, aki komoly pénzért letétben tartja az ingatlan átruházásáról szóló papírokat, és csak akkor adja ki a vevőnek, ha az valóban átutalta a pénzt. Ezért az amúgy nem túl bonyolult szolgáltatásért pedig igen komoly pénzeket szoktak elkérni. Az Ethereum segítségével az ügyvéd kiváltható egy smart contracttal, ami akkor és csakis akkor hitelesíti az ingatlan átruházási papírokat, ha a vevő fizetett. Számtalan példát lehetne még felhozni ilyen okos szerződésekre, de az Ethereum lehetőségei ezen messze túlmutatnak. Mostanában gyakran kerül elő a blockchain IoT (dolgok internete) irányú felhasználásának lehetősége. Gondoljunk például egy okos zárra (IoT), amit egy ilyen Etereumon futtatott program vezérel. Ha valaki fizet a programnak (szándékosan nem nevezem a továbbiakban okos szerződésnek) és a szoba szabad, úgy kinyitja a zárat. Ezzel egyfajta önműködő AirBnB szolgáltatást hozhatunk létre, ahol kvázi a szoba saját magát adja bérbe. Hasonló konstrukció megvalósítható például önjáró autókkal is, ahol az autó saját magát adja bérbe, ezzel egyfajta Uber szolgáltatást megvalósítva. Ezek ember-gép (én fizetek egy tárgynak) interakciók voltak, de elképzelhetőek gép-gép interakciók is. Például a mosógép áramot vásárol a szomszéd ház napelem rendszerétől, ahol épp többlet van, mert nagyon süt a nap. Mindezt azért teszi, mert így olcsóbban juthat energiához, mintha azt az áramszolgáltatótól vásárolná. A dolog teljesen automatikus. A felhasználók csak annyit vesznek észre az egészből, hogy villanyszámlájuk radikálisan lecsökkent. Látható tehát, hogy mivel az Ethereum programozási nyelve általános (Turing teljes), ezért nagyon sok minden megvalósítható vele. Nem csak okos szerződések, hanem akár saját kriptovaluta, teljesen önműködő cégek ("decentralizált automata cég" avagy DAO - https://en.wikipedia.org/wiki/Decentralized_autonomous_organization), vagy akár egész virtuális államok (https://en.wikipedia.org/wiki/Bitnation) is leprogramozhatóak. Mivel ezek a hálózatok központi ellenőrzés nélkül, decentralizált módon, egyenrangú partnerek által futnak, ezért teljesen autonóm entitások, az emberi kontrolltól mentesek. Egy Uber vagy AirBnB DAO-t nem lehet csak úgy kitiltani egy országból, vagy extra adót kivetni rá. Ez már az okos ökoszisztémák emberétől független társadalma. Persze hogy mit hoz a jövő, azt senki nem tudhatja, de az sem teljesen elképzelhetetlen, hogy létrejöhetnek egyszer Charles Stross - Accelerandó c. könyvében (https://hu.wikipedia.org/wiki/Accelerando_(reg%C3%A9ny)) vizionált önálló, intelligens cégek.

Bárhogy is legyen, érdemes látni, hogy a blockchain területén van élet a BitCoinon túl is, és ez messze túlmutat a kriptovaluták világán...