rss

Párhuzamos univerzumok – The DAO, 3. rész

Az előző részből kiderült, hogy a The DAO nevű decentralizált cég kirablását követően az Ethereum blokklánca végül tartósan kettéágazott. A közösség eredeti szándéka nem ez volt, hanem egy élesben lebonyolított szavazással akarták eldönteni, hogy egy egyedi és önkényes lépéssel kimentsék-e a virtuális cég részvényeseit. Azt remélték, hogy a kisebb támogatást kapott verzió bányászai rövid időn belül felhagynak a többség által elutasított blokklánc építésével, és áttérnek a másikra. Logikus feltételezés volt, hiszen a bányászás sok áramot fogyaszt, drága mulatság, és ha az érte járó étereket nem lehet átváltani, akkor biztosan veszteséges.

Miután azonban nyertek a szabályrendszer megváltoztatására szavazók, a blokklánc manipulálhatatlanságát hirdető kisebbség mégse adta fel egyhamar a bányászást. Az elágazást követő néhány nap elteltével pedig a tőzsdék sorra kezdték listázni az ő pénzüket is éter klasszik néven. Kiderült, hogy azokra is van kereslet, van értékük, és megnyílt az átválthatóságuk. A bányászás kifizetődővé, a blokklánc fennmaradása pedig biztossá vált. Az elnevezés ugyanakkor némileg zavaró, hiszen éppen az eredeti szabályrendszer szerint működő blokkláncnak kellett új nevet találni, ez lett az Ethereum Classic. A többség által támogatott, de mégiscsak megváltozott szabályrendszerű blokklánc tarthatta meg az Ethereum nevet. Az előbbi saját pénzét éter klasszik (ETC), az utóbbiét a már megszokott éter (ETH) névvel illetjük. Árarányuknak nagyjából tükröznie kell a mögöttük álló számítási kapacitás megoszlását.

De mit is jelent pontosan az elágazott blokklánc? Hogyhogy különböző pénz van az egyikben és a másikban? A válasz megadásához érdemes felidézni A nő kétszer (Sliding doors) című filmet. Ebben a sztori egy darabig a hagyományos módon folyik, egészen addig, amíg a film egy pontján Helen, a főhősnő, a metró után rohan. A történet ekkor kettéágazik, onnantól kezdve párhuzamosan követhetjük, hogy mit történt volna, ha eléri metrót, és mi akkor, ha nem. A kezdeti kis különbségből hamarosan egyre nagyobbak lesznek, hiszen a metrót elérő Helen a vártnál előbb ér haza, és rajtakapja pasiját, amint csalja őt. Szakít vele. A másik, párhuzamos világban létező Helen viszont pont annyival később érkezik meg, hogy a pasija megússza a lebukást. Az eltérően alakuló cselekmény egyre nagyobb különbségeket okoz a két univerzum aktuális állapotában. Ami azonban számunkra ebből most fontos: a történet kettéágazásakor a főhősnő zsebében levő egy dolláros mindkét univerzumban ott lesz, a későbbiekben viszont eltérő időben költheti el ezeket, és másoknak fizethet vele. Ha pedig az egyik történet szálon aláír egy szerződést, ugyanazt a másik szálon nem kell megkötnie.

Éppen ez a helyzet a kettéágazott Ethereum párhuzamos világaiban is. A fork pillanatában mindkét világban pontosan ugyanazokon a számlákon vannak az éterek (leszámítva persze a The DAO céghez egykor köthetőeket, hiszen éppen azokban nincs egyetértés). Akinek eredetileg volt egy étere, annak az elágazás után mindkét világban lett egy-egy étere, ahogy mindkét Helennél is maradt egy-egy dollár. A szétágazás előtti egy éter megkettőződéséből származó egy ETH és egy ETC a későbbiekben egymástól függetlenül költhető el. Hasonló igaz az okos szerződésekre is, a két világban egymástól függetlenül tudunk új szerződéseket kötni. Az elágazás előttről származó szerződések viszont éppen úgy érvényesek mindkét univerzumban, mint ahogy a metrós kaland előtt megkötött mobil előfizetési szerződése is kötelezi mindkét Helent. Tehát közös múlttal rendelkező, párhuzamos univerzumok jöttek létre.

Kérdés, hogy van-e értelme egy ilyen mértékű bonyolításnak. Vajon a kisebbségnek inkább be kéne állnia a többségi döntés mögé, belátva, hogy közös érdek az Ethereum egységének fenntartása? A válasz nem teljesen egyértelmű számomra. Egyrészt valóban sokkal egyszerűbb lenne az élet, ha ma is csak egyetlen Ethereum létezne, mindegy, hogy melyik. Másrészt viszont a jövőben ismét előállhat olyan helyzet, amikor újra felmerül a blokklánc elágaztatása. Mivel volt már rá precedens, könnyebben meg is valósul. Esetleg túl sokszor fordul majd elő, és a szabályrendszer gyakori átírogatása és a sok fork teljesen kiüresíti a blokklánc manipulálhatatlanságának mítoszát. Ebben az esetben nagyon jól fog jönni, hogy létezik még az eredeti, valóban manipulálatlan lánc, ami túlélte a kritikus időszakokat is.

Az eddigiekből következik, hogy a The DAO cég sztorija is kétféleképpen fejeződött be. A többség által támogatott világban viszonylag egyszerű a befejezés. Minden a terv szerint alakult, a virtuális céghez köthető egykori étereket önkényesen átírták egy olyan számlára, ahonnét egy okos szerződés használatával a részvényesek hozzájuthattak az eredeti befektetésükhöz. A sztori ezzel le is zárult.

Az eredeti szabályok szerint működő másik szálon egy fokkal összetettebb a befejezés. Az időzár letelte után, szeptember elején a tolvaj végleg hozzájutott a zsákmányához. A publikus blokklánc (főkönyv) érdekes tulajdonsága, hogy ezek sorsát élőben tudjuk követni, zömében még mindig azon a számlán vannak, ahova a támadó akkor átutalta. A számlatörténetét végigkövetve felfedezhetünk benne egy érdekességet. Az ellopott pénzből 1000 ETC-t adományozott az Ethereum Classicot népszerűsíteni igyekvő csoportnak. Talán nem minden önérdek nélkül.

A The DAO étereinek nagyobb részét viszont a White Hat Group lopta ki azzal az ígérettel, hogy majd visszatéríti jogos tulajdonosainak. Augusztus végén ez meg is történt. A kimentett ETC-ket szokás szerint egy olyan számlára utalták, ahonnét egy okos szerződés segítségével vehették fel járandóságukat a részvényesek. A visszatérítési arány 73%-os volt. A pénzfelvéthez használt szerződésben minden részvényes beállíthatta, hogy a neki járó összeg hány százalékát engedi át a White Hat Groupnak a munkájukért cserébe. Az adomány teljesen önkéntes volt, bárki dönthetett akár úgy is, hogy nem ad semmit. A The DAO sztorija ezzel lezárult a klasszik blokkláncon is.

Nincs más hátra, mint a tanulságok levonása. Vajon a The DAO programozói csak szimplán tökfilkók voltak és ezért születhetett meg a hibás okos szerződés? És puszta pech, hogy aztán a hibát senki sem szúrta ki még időben? Minden bizonnyal rossz nyomon járunk. Vezető Ethereum szakértők nézték át és hagyták jóvá az okos szerződést. A támadás előtt hónapokkal publikálták, a közösségnek is volt ideje ellenőrizni. Túl egyszerű válasz azt mondani, hogy mindenki pusztán figyelmetlen és ostoba volt.

Sokkal inkább az a helyzet, hogy az Ethereum Turing-teljessége a rendszer erős, izgalmas, de egyben veszélyes tulajdonsága is. Egy Turing-teljes programozási környezetben kellően rugalmas, a folyamatok sokféle elágazását és önhivatkozását megengedő programozási nyelvet muszáj biztosítani, hogy a végtelen számú lehetséges algoritmus mindegyike lekódolható legyen vele. Így az algoritmusok rendkívül változatos alakot ölthetnek, a folyamatok bonyolult módon elágazhatnak, egymásba illeszkedhetnek vagy meghívhatják egymást és saját magukat.

Ez a végtelen diverzitás azonban azt a veszélyt is magában rejti, hogy egy komplikált program átláthatatlanná válik, és előre nem szándékolt dolgokat is végrehajt. Pontosan ebbe a csapdába futott bele a The DAO is az okos szerződésével. A hibákat megtalálni pedig nem egyszerű, hosszú időt vehet igénybe. Részben ez az oka, hogy számítógépünk régebbi programjait is frissítenünk kell újra és újra.

A problémára nincs egyszerű megoldás. Gyűjteni kell a tapasztalatot, tanulni a hibákból. Ugyanakkor a történtek erőteljesen felhívják a figyelmünket arra, hogy az Ethereum Turing-teljes tulajdonságából bizony újabb bonyodalmak származhatnak még.

Kapcsolódó tartalom

Vérszerződések az interneten - A kőpénztől az okos szerződésig

Kriptolufi

Zcash, a titkos pénz