IOTA: Digitális cserekereskedelem digitális nomádoknak!

Ha ki kellene választanom a cryptogazdaság jelenlegi szereplői közül azt ami talán legjobban kilóg a sorból, akkor kétségtelenül az IOTA-t választanám. Az adat mint fizetőeszköz (lásd Bitcoin és Blockchain – Store of Value) már széles körben elterjedt és elfogadott terminológia, azonban ennek deriváltja már régóta az informatika egyik nagy fejtörője: “az adat mint fizetőképes értékkel bíró egység” megvalósítása. Az adat monetizálása nem újkeletű történet, a korai internetes reklámoktól kezdve a “fizess az után, amit használsz” internetes csomagokon keresztül számos példájával találkozhatunk. Valahol ide tartozik maga a cryptobányászat is hiszen itt is monetáris értékkel rendelkezik a számítási kapacitás, de pozitív példák végtelenjét lehetne még felsorolni. Az elemi adat mint fizetőképes érték mára széles körben elfogadott frázissá vált, lásd a Bigdata koncepció. A nyers adatok hatékony elemzéséből az elmúlt évtizedben olyan gigantikus vállalatok növekedtek ki szinte a semmiből mint a Google vagy a Facebook, de bőven ide lehet sorolni akár az Amazont is. Aki azt hiszi, hogy a Google-t a keresés, a Facebookot a közösségi média (az Amazon pedig a könyvek) tették naggyá, az ennél nagyobbat nem is tévedhetne. Valójában ezek a cégek olyan technológiák úttörői mint a gépi tanulás, az automatizálás vagy a természetes szöveg értelmezés.

Az IOTA projekt célja egy egységes közvetítőréteg létrehozása az elemi adatok továbbításának és kezelésének és ami talán ennél is fontosabb: biztosítani az elemi adat értékének mérhetőségét és elszámolhatóságát (monetizálás). Ehhez létre kíván hozni egy machine-to-machine fizetési rendszert, amiben az eszközök fizetnek más eszközök adataiért és fizetséget kapnak más rendszereknek nyújtott adataikért. Milyen eszközök rendelkeznek monetizálható adatokkal? Olyan eszközök, melyek vagy önmagukban is értéket termelnek (pl. speciális számítási kapacitás) vagy olyan eszközök amelyek szenzoraikon keresztül olyan mérhető információkkal rendelkeznek melyek mások számára értékkel bírhatnak. A mérhető adatokra épülő iparági fejlesztések mára meghatározóvá váltak, legyen szó sporteszközökről, szórakozásról, közlekedésről vagy akár mezőgazdaságról.

Mivel konkrét példák nélkül baromi nehéz bármit is kezdeni a machine-to-machine payment rendszerrel, ezért ragadjunk is le mindjárt egy kicsit a mezőgazdaságnál. Szándékosak választottam egy olyan iparágat, ami talán a legtávolabb van a cryptogazdaságtól. Ha ennek kapcsán be tudom bizonyítani az IoTA létjogosultságát az olvasónak, akkor talán nem kell túlmagyarázni a további példákat.

Mielőtt viszont még nekifognánk a földet túrni tisztázzunk egy nagyon fontos dolgot, ami talán nem minden olvasónak van meg: mi is az az IoT? (Internet of Things) Ezek olyan jellemzően nagyon pici számítógépek, amelyek valamilyen technológián keresztül (wifi, bluetooth, LoRa, stb.) kapcsolódnak az internetre, amin keresztül a szezorai információit közvetítik. Az IoT eszköz rendelkezik egy egyszeri költséggel és egy fenntartási költséggel is. Ám az eszközből származó adatok NEM csak az IoT eszköz tulajdonosa számára lehetnek hasznosak, így azon adatok monetizálása csökkentheti az IoT eszköz fenntartási költségeit, sőt bizonyos esetekben akár az is lehet, hogy maga az adat értékesebb mint a szenzor fenntartási költsége. Ezen értékteremtő szolgáltatást valósítja meg az IOTA.

A mezőgazdaság technológiai fejlesztése iszonyatos iramba kapcsolt az elmúlt évtizedben. Okos talajszondák, csapadékmérők, időjárásállomások, levegőminőség- mérők ma már alapvető eszközök. Ezen szenzorokra épülő okos öntözőrendszerek hatalmas megtakarításokat eszközölnek, amik végső soron a termény árában is megjelennek. A ma mezőgazdaságból élő vállalkozó szóbeszéd alapján tudja meg, hogy a szomszéd burgonyáját lezabálták a bogarak avagy gombafertőzés érte a terményt. A jövő mezőgazdasági IoT (Internet of Things) mini szenzorai már számos módon lesznek képesek analizálni a termést és az IOTA backboneon keresztül ezen mérési eredményeket képesek eladni és megosztani azokkal a környező gazdákkal, akik számára ezen információ érték. Bár ma még sokan csak vállat vonnának a mezőgazdasági IoT és Bigdata koncepcióra, de ne feledjünk, hogy a hazai nemzeti össztermék 3,5%-át adó iparágról beszélünk, ami a lakosság 7%-át foglalkoztatja. Hatékonyabb szenzorinformációkkal hatékonyabban lehetne fellépni a terményt vagy állományt érintő betegségek, környezeti károk ellen, ami összességében javíthatná a mezőgazdaság termelőképességét és csökkentené az állami szervekkel szemben benyújtott kártalanítási terheket. A szenzorinformációkat maguk az IoT eszközök nyújtanák, azok működtetési költségeit pedig az IOTA tudná fedezni.

Az IOTA közel valós idejű, tranzakciós díj nélküli végtelenségig skálázható mikrotranzakciós modellt valósít meg. Lényegében egyben próbál megoldást nyújtani az egész blockchain piac minden létező problémájára. Hogyan oldja meg? Az IOTA bár elosztott főkönyv technológiát használ, de ezt nem blockchain alapokon valósítja meg, hanem dinamikus aciklikus gráfokon keresztül. Ennek a lényege, hogy számos genezis gráfpont létezhet, amelyekre az újabb és újabb tranzakciók hálós szerkezetben fűződnek fel. Ezen gráfot “Tangle”-nek, azaz gubancnak nevezték el, ami egyébként roppantul találó elnevezés. A Tangleben a csomópontok nem blockokat tartalmaznak, hanem elemi tranzakciókat. Egy tranzakció lehet ‘value transfer’, tehát amikor ténylegesen MIOTA token kerül átadásra és lehet egyszerű adat transfer is (empty transaction). Ez utóbbi eset célja az IOTA hálózaton keresztüli adattovábbítás, tehát a tényleges IoT backbone biztosítása.

Hogy is néz ki a Tangle a gyakorlatban:

Az ábrán a “gubanc” balról jobbra terjed. A sötétzöldesszürkésakármilyenes kockák képezik a legutóbb bekerült “unconfirmed” tranzakciókat. Ezek minden esetben két piros korábbi tranzakcióhoz kapcsolódnak, melyek olyan világoszöld tranzakciókhoz kapcsolódnak, amelyekre igaz, hogy legalább két “piros” tranzakció kapcsolódik hozzájuk. Ha érdekel, hogy miként néz ki ez a valóságban (teljesen realtime), akkor látogass el a https://tangle.blox.pm címre. Ha nem akarsz várni 10 percet, mire felépül a gráf látványosabb része, akkor pedig nézd meg ezt a videót:

Ha már szóba került a MIOTA, IOTA mint token dolog: A hálózat úgy került kialakításra, hogy annak elemi fizetőeszköze szintén az IOTA nevet kapta, mégis szélesebb körben a MIOTA elnevezés terjedt el, ami gyakorlatilag a 1 millió IOTA token jelenti. Tehát amikor azt látod valahol, hogy valaki 1 MIOTA-t vesz/elad, akkor valójában 1 millió elemi IOTA-t vesz/ad el. Ez egyben azt is jelenti, hogy a MIOTA 6 tizedesig darabolható (decimal precision), ellenben egy IOTA tovább már nem darabolható. Összesen: (333 – 1)/2 darab IOTA létezik (2,779,530,283,277,761), amiből máris logikusan következik, hogy 2,779,530,283 MIOTA érhető el. Minden IOTA coin premined, az összes coin a genezis tranzakcióval lett létrehozva, tehát minden értékkel bíró tranzakció visszaeredeztethető a “gubanc” nulladik pillanatáig. A hálózat nem tart karban egy a Bitcoinhoz kapcsolódó UTXO (unspent transaction output) adatbázist, helyette minden tranzakció hitelességét onchain (vagy on-gubanc?) kell ellenőrizni, mely feladatot a “Coordinator” nodeok oldanak meg (erről picit később).

Ha már belemegyünk a technológiába, akkor érdemes megjegyezni az IOTA adatábrázolási módját is, minden az IOTA hálózaton közlekedő adat (tranzakciók, kulcsok, stb.) trinárisan vannak ábrázolva. Ez ugye azt jelenti, hogy egy elemi bit (trit) 3 állapottal rendelkezhet: 0, 1 és 2 (állapotát tekintve +,- és valahol nulla körül…) . Ennek megfelelően egy 8 tryte hosszú (érted mint byte… így magunk között szólva agyzsibbadást lehet tőle kapni egy idő után…) értékkészlete 8×3+1 (25) különböző érték lehet. Minő meglepetés az angol ABC-ben van 24 karakter amihez hozzá csapva a 9-et meg is kapjuk az IOTA trináris ábrázolását [9A-Z]. Tehát a legkisebb érték a 9 (ami a nulla) annál eggyel nagyobb az A (ami egy) és így tovább. Tökre logikus, nemde?

Na ennek köszönhető, hogy IOTA-ban pl így néz ki egy tranzakció hashe: “HLDCGSJMNVKCITDOXOBGTJJRNES9NEQPJSXRNSQMRVDQYG9YBTHWLNQQRBTBRUXRHOBVVZVHLNRSZ9999”  (Igen a végén a 9-esek már a PoW miatt vannak, de hamarosan ezt is kifejtem). Vagy pl így néz ki egy address: “KPWCHICGJZXKE9GSUDXZYUAPLHAKAHYHDXNPHENTERYMMBQOPSQIDENXKLKCEYCPVTZQLEEJVYJZV9BWU”. Szóval aki besokallt már az informatika nulláitól és egyeseitől, az megnyugodhat, ilyen számokat az IOTA közelében soha nem fog látni (trinárisan ábrázolva…)

[commercial_break]

Mindenképp magyarázatra szorul persze a “tranzakciódíj”-mentesség is. Ezt oly módon tudja biztosítani az IOTA, hogy valójában rábízza a hálózat minden aktív felhasználójára a hálózat biztonságának biztosítását azáltal, hogy ha valaki tranzaktálni akar a hálózaton, akkor ehhez előfeltétel, hogy további két másik tranzakciót hitelesítsen. Tehát a ‘gubanc’ úgy növekszik, hogy a tranzakciódat becsomagolod egy csomagba, amihez hozzáraksz két véletlenszerűen kiválasztott még nem confirmált tranzakciót (ezáltal felfűzöd azokra a tiédet) és ezáltal egyrészt a tranzakciód befűződik a Tangleba, másrészt pedig Te hitelesíted a másik két tranzakciót is. A hitelesítésnek része az is, hogy el kell végezz egy minimális PoW (Proof of Work) feladatot is. Ennek fő célja a DDoS védelem, enélkül szét lehetne spammelni a Tanglet. Tehát végső soron a saját CPU időddel fizetsz a munkáért. Fontos, hogy a PoW nem a TE tranzakciódat hitelesíti, hanem a befogadott másik két tranzakciót, amire felfűzöd a tiédet. Tehát a művelet végén a TE tranzakciód egészen addig unconfirmed marad, amíg valaki más nem karolja fel a TE tranzakciódat.

A PoW teljes mértékben megegyezik a hashcash/bitcoin elvvel. Akinek semmit nem mond a leading-zero hash kiszámítási metódus, az egy korábbi cikkemben meg tud ezzel ismerkedni. Röviden (IOTA szempontjából) csak annyit, hogy a csomag összerakása után ki kell számolni annak a hash-ét, amihez kell találni egy olyan nonce-t, amivel a hash utolsó néhány karaktere nulla (akarom mondani 9) lesz. Ez éles hálózatban ez most 32 trit, tehát 4 tryte. Ennek köszönhetően akár egy IoT eszköz is tud kényelmesen hash-t használni, de mégis van a rendszerben annyi összesített számítási kapacitás elosztva ami miatt még egy szuperszámítógéppel sem lehet könnyedén újraszámolni a Tangle-t és végrehajtani a “34% attack”-ot…

Mi-mi-mi?? 34% attack? Eddig mindig 51% attackról volt szó. wtf?

Az “51% attack” néven elhíresült támadási mód a blocklánc alapú rendszerek egyetlen olyan hipotetikus támadási módja, amivel elvileg egy blockláncon belül double-spendingelni lehet. Tehát egy korábbi inputot két alkalommal is el lehet költeni anélkül, hogy az így keletkező blockkok invaliddá váljanak. Ehhez ugye annyi kell, hogy a hálózat biztonságát biztosító minerek többsége (51%) úgy döntsön, hogy csalni akar. Mivel ilyen esetben a lojális bányászok kisebbségben maradnak, így a nodeok számára a meghamisított, megcsalt lánc fog a kanonikus maradni, hiszen az a leghosszabb és abban van a legtöbb befektetett munka (PoW). Az elmúlt években számos esetben vizsgálták tudományos alapon az 51%-os támadás lehetőségét és ezen kísérletek során kiderült, hogy egy ilyen típusú támadáshoz mindösszesen elég 34% is. (1/3+1). A miértjét inkább nem egy IOTA-s cikkben fejteném ki, de egyébként zseniális és biztos vagyok benne, hogy a közeljövőben rászánok erre egy külön cikket.

A hálózati topológia szempontjából háromféle tranzakció létezik:

  • tips tranzakció: a gubanc végén lévő önálló tranzakciók, amikhez még egyetlen másik tranzakció sem kapcsolódik, így azok “unconfirmed” állapotúak.
  • confirmed tranzakció: Minden új tranzakcióba be van csomagolva két korábbi unconf tranzakció, ezáltal a tips-ekből confirmed tranzakciók jönnek létre.
  • milestone tranzakció: Ez egy olyan tranzakció amit a speciális koordinátor (Coordinator) nodeok hoznak létre. Lényegében a jelenlegi Tangle hálózatban ezen tranzakciók lényege, hogy lezárják a pénzügyi műveleteket (economical finality). Gyakorlatilag egy legfelső szintű pecsét a hálózaton, amit egyébként fixen egy percenként állít ki egy coordinator node. Ilyen nodeokat egyedül az IOTA Foundation üzemeltet legjobb tudomásom szerint jelenleg.

Szóval az IOTA valójában centralizált? Nos valójában igen, de ez egy ideiglenes állapot. A rendszer önálló biztonságához az kell, hogy iszonyatosan nagy mennyiségű IoT eszköz működjön az IOTA hálózaton keresztül. Annyira sok eszköz aminek az önálló számítási kapacitása meghaladja a legtöbb GPU alapú mining pool kapacitását. Amíg ezt nem éri el az IOTA Tangle, addig az IOTA Foundation ‘kézi vezérléssel’ biztosítja a double-spending protectiont ezekkel a milestone tranzakciókkal.  Ez egyébként a hálózat egyik legnagyobb gyengesége is. Ez az a pont ahol fel kell hogy hívjam mindenki figyelmét arra, hogy az IOTA hálózat bár tökéletesen jó arra, amire tervezték (machine-to-machine tx), ellenben a hálózat támadhatósága miatt bárkit is óvnék attól, hogy komolyabb mennyiségű vagyont “megtakarítás” jelleggel tároljon benne.

Maga az IOTA egy napról napra egyre jobban kiforró történet, ami meglátásom szerint tökéletesen alkalmas lesz arra, amire kitalálták. Az IOTA/MIOTA coinok nagy mennyisége miatt tökéletes eszköze a mikrotranzakció alapú műveleteknek a hálózat skálázhatósága miatt pedig az adatok valóban közel real-time közlekedhetnek a Tangle-n, egyedül a PoW tudja némileg lassítani a tranzakció propagálást. Személy szerint a cikkhez kapcsolódó kutatómunka kapcsán kissé bele is zúgtam az IOTA pofátlanul egyszerű működésébe és a Tangle működésébe, ezért igen valószínűnek tartom, hogy lesz még cikk az IOTA kapcsán a közeljövőben, pláne, hogy a cikkben szándékosan nem mentem bele számos olyan funkcióba és lehetőségbe, amik egyelőre még az IOTA roadmapján is csak tervezési fázisban vannak.

Bookmark the permalink.

5 Comments

  1. Üde színfolt ez a gubanc hálózat a blokkláncok között.

    A coin-ok felhalmozásának van értelme? Árfolyamnyereséget remélve persze.
    Az OMG nél mintha lebeszéltél volna minket róla.
    Logikusnak tűnik itt is az érvelés: Ez egy háttérben használatos token lesz, amolyan olaj a gépezetben. Nem befektetésként tekintenek rá az emberek.

    Az autó vagyontárgy (Bitcoin és a többiek). Az üzemanyag, motorolaj (OMG, IOTA, sőt az XRP (Ripple) is ide sorolható) a működéshez szükséges “valami”, amiről sokan nem igazán fognak tudni.

    De mégis van értéke, nem is kevés. A közösség tagjai pedig hatalmas reményekkel veszik, tartalékolják.

  2. Köszönöm szépen a IOTA cikket, régóta vártam rá.

    Pár dolog eszembe jutott, amit hozzáfűznék:
    – a többnél több IoT eszköz csatlakozása nem csak a biztonságot fogja növelni, hanem a hálozat sebességét is. Tehát ez is fordítva működik, mint a többi coin-nál, a többszörösen megnövekedett tranzakciószám nem csökkenti a hálozat sebességét, hanem növeli.
    – a IOTA coin-ok mennyisége láttán sokan megijednek, nem tudják kiszámolni, mennyi az annyi. Nekem így sikerült könnyen megérteni:
    ha a max. BTC mennyiség 21 millió helyett közel 28 millió lenne, akkor ugyanannyi lenne a két coin-ból.
    – Flash Channels: élesbe állt az instant tranzakciókat támogató fejlesztésük:
    https://blog.iota.org/instant-feeless-flash-channels-88572d9a4385

  3. Köszi szépen a cikket!
    Az ábra teljesen jó, a videó nekem egy kicsit necces. Nem látszik rajta, hogy nem lehet a gráfban kör, nem irányítottak az élek.

  4. IOTA walletet tudnak valaki ajánlani?

  5. Remélem vettetek belőle a cikk kapcsán, 0.3 USD volt. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *