IOTA on 2014 aastal loodud innovaatiline ja tulevikukindel tehnoloogia, mis loob turvalise andmevõrgu Internet of Things ehk IoT seadmetele.
IOTA-t nimetatakse mõnikord ka blockchain 3.0, kuigi IOTA ei ole blockchain.
IOTA sobib suurepäraselt IoT seadmetel põhinevatele rakendustele, võimaldades
- mikro- ja nanomakseid,
- odomeetrid (auto pass),
- seadmelt-seadmele suhtlust (sensorid-kontrollerid),
- smart city,
- energy grid,
- adaptiivsed süsteemid
- jm suured hajusvõrgud,
- Industrial Revolution 4.0.
Kui maailm on vaevalt hakanud rääkima blockchainist ja aru saamas selle toimise põhimõtetest ning kasulikkusest majandusele, on matemaatikud-geeniused-programmeeriad välja töötanud täielikult teistel alustel töötava krüptoraha mudeli IOTA.
IOTA vs Blockchain
Mille poolest erineb IOTA blockchainist?
- IOTA võrk on suunatud atsükliline graaf (Directed Acyclic Graph - DAG) ja alustehnoloogia kannab nime Tangle. Blockchainis on kõik blokid ühes ranges reas.
- IOTA-s pole blokke, ahelat ja ei toimu kaevandamist. Blockchainis asuvad kõik tehingud blokkides ja tehingute kinnitamist nimetatakse kaevandamiseks ning see võtab aega.
- IOTA-s on kõik ülekanded tasuta ja reaalajas. Blockchainis on igal ülekandel väike võrgutasu ning tehingu kinnitamine võib aega võtta 10 minutit (Bitcoin).
- IOTA skaleerub lõpmatuseni. Blockchain ei skaleeru andmemahtude kasvades.
- IOTA disainiti miljoneid IoT seadmeid silmas pidades, eesmärgiks ei olnud otseselt krüptoraha loomine, kuigi turul on ka IOTA krüptoraha. Blockchain ei sobi IoT seadmetele, kuna sisaldab tehingutasusid.
- IOTA eesmärk on anda turvaline ja skaleeruv alusvõrk IoT sedmetele.
- IOTA on tulevikukindel ja tänase teadmise kohaselt ka kvantarvutite kindel. Blockchaini on teoreetiliselt võimalik kvantarvutite tekkimisel murda.
- IOTA tangle võrgus on võimalikud offline tehingud ja offline Tanglevõrk.Blockchainis puudub igasugune võimalus, et mõni blokk offline’s välja arvutataks ja jadasse lisataks.
Tasuta IOTA ülekanded
Erinevalt blockchainist puuduvad IOTA-s vahendustasud (seetõttu on võimalikud ka mikro- või nanomaksed).
Blockchainis eksisteerivad vahendustasud selleks, et vältida spämmerite tegevust (spämmer = DDoS rünnak). IOTA toimib graafi põhimõttel ning iga tehing peab enne võrku jõudmist valideerima kaks eelmist tehingut, sellega on muudetud spämmimine (ehk DDoS rünnak) mõttetuks.
Ehk siis valideerimisnõudega saavutati IOTA-s kaks eelist:
- tehingud on tasuta,
- välistatud tehingute spämm.
Kuidas toimib IOTA?
Alljärgnevalt püüan seda keerulist IOTA asja selgitada. Selleks, et IOTA toimimisest lõpuni aru saada peab aga olema kõrgema matemaatikaga sina-peal.
1: IOTA Tangle on suunatud atsükliline graaf (Directed Acyclic Graph ehk DAG). Tangle pole blockchain. Blockchain on ahel, tangle on graaf.
DAG on suunatud graaf, kus puudub tsükkel, ehk siis graafi tipud on teineteisele pidevas järgnevuses.
Sellel pildil tähistavad tähed/tipud IOTA tehinguid ja nool tähistab tehingu valideerimise suunda. Aeg liigub vasakult paremale ning tsüklite tekkimine on välistatud. Iga tehing kinnitab kaks eelmist tehingut, A kinnitab näiteks tehingud B ja D.
2: IOTA on skaleeruv.Iga node peab omapoolse tehingu tegemisel kinnitama enne kaks teist tehingut.
3: IOTA on detsentraliseeritud.
4: IOTA on kiire.
5: IOTA tehingud on tasuta. Blockchaini puhul lisandub alati väikene võrgutasu mis läheb tehingu kinnitamise arvutamiseks.
6: IOTA on kvantarvutite kindel, tänase teadmise kohaselt. Blockchaini on teoreetiliselt võimalik ülisuure arvutusvõimsusega murda (täna sellist arvutusvõimsust ei eksisteeri).
Skaleeruvus
IOTA skaleeruvus väljendub selles, et enne oma tehingu sooritamist tuleb kinnitada kaks teist tehingut. Seega, mida rohkem on IOTA-s seadmeid ja suhtlust, seda kiiremini saavad tehingud kinnituse.
Mida rohkem on IOTA kasutajaid, seda kõrgemaks muutub turvalisus ja kiiremaks tehingute kinnitamine.
Kuna iga tehingu lisandumisel saavad kinnituse kaks eelmist tehingut, tõuseb iga üksiku tehingu usaldusväärsus ajas.
Võrreldes blockchainiga muutub IOTA ajas seda kiiremaks mida rohkem on kasutajaid kuna seal puudub blockchainile omane blokkide arvutamine. Blockchain on oma olemuselt mahtude kasvades ajas aeglasemaks muutuv.
Kuidas IOTA kiiremaks muutub?
IOTA ei pea järjestama oma tehinguid nende täpses toimumise järjekorras nagu see toimub blockchainis. Tehingud võivad asuda suvalises järjekorras.
Kui lülitada juurde uus node, siis sünkroniseerimisel grupeeritakse tehingud aadresside järgi ja tehingute järjestus pole samal ajal oluline. IOTA aadress on nn. krüptoraha konto, millega tehakse tehinguid.
IOTA tehingute kiirus on väga suur sest ühe konto arvutamisel arvestatakse kommutatiivsuse seadust a+b=b+a. Tehingud liidetakse kokku kokku suvalises järjekorras ning see tagab kiiruse. Nullide liitmise peale aega ei kulutata, need visatakse lõppu.
Blockchainis on tehingud rangelt ajalises järjestuses ja seal ei arvestata kommutatiivsuse seadust seega kõik tehingud tuleb ükshaaval kokku liita.
IOTA-s puudub mõiste “maksimaane tehingute arv ühes blokis” nagu see on blockchainis. Näiteks suure hulga tehingute korral ootavad blockchain tehingud järjekorras ja see lisab ajalise viite nende kinnitamisele.
Tulenevalt graafi iseloomust kinnitatakse IOTA-s tehinguid paralleelselt. Blockchainis toimub tehingute kinnitamine ühes kindlas ahelas ja järjestuses ning see tingib paratamatult andmemahtude kasvades kiiruse langust.
Konsensusel põhinev võrk?
Me teame, et inimeste vahel pole 100% konsensust olemas, alati on kellelgi oma arvamus.
IOTA tehingud kinnitatakse Markov chain Monte Carlo (MCMC) algoritmiga konsensue põhimõttel.
Rohelisedon konsensusega kinnitatud tehingud, punastetehingute puhul pole konsensus lõplikult kindel ja hallidon täiesti uued, kinnitamata tehingud.
Kuidas siis saavad hallid tehingud endale kinnituse?
Tehingute kinnitamise algoritm baseerub MCMC-l. Kui näiteks kaupmehe jaoks on tehingu 51% tõenäosus piisav, võib ta oma tehing edukaks lugeda. Seega kinnituste lisandumisel liiguvad punased tehingud lihtsalt aja möödudes roheliseks.
Ebaaus tehing süsteemis?
Esimene küsimus mis ülaltoodud kirjelduse peale ilmselt tekib on, et “mis siis kui ma panen süsteemi ebaausa tehingu?”
Oletagem näiteks, et üks hall tehing on non-valid,mis tähendab peaasjalikult seda, et üritatakse maksta rahaga mida kontol pole.
- Esiteks kinnitab see non-validtehing kaks punast tehingut
- siis jääb non-valid tehing endale kinnitust ootama, et võrku pääseda
- saabub uus tehing, mis ühena peab kinnitama selle non-valid tehingu
- kinnitamiseks arvutatakse kontojääk ning kui see ei klapi, tehingule kinnitust ei anta ja see jääb süsteemist välja
- kui aga peaks osutuma mingil (tehnilisel) põhjusel et non-validtehing saab siiski kinnituse, peavad seda ka teised valideerima ning pettus tuleb igal juhul välja.
- Lisaks on selline “pahatahtlik” kinnitamine väga ohtlik, kuna non-valid tehingule kinnituse andja node’i edaspidiseid tehinguid ei kinnita. Node muutub süsteemi jaoks ebausaldusväärseks.
Seega IOTA süsteemi autentsul baseerub ühisel tehingute-vahelisel konsensusel.
Masinad teenivad raha?
Lähitulevikus on võimalik mudel, kus masinad hakkavad ise maksma oma hoolduse, energiatarbe, arvutusvõimsuse, andmemahu või ka kindlustuse eest. Seega masinad hakkavad isesisvalt teenima ja kulutama raha sensoritelt ja anduritelt saadud info põhjal.
Masinal tekib esimest korda mõttekus pangakonto omanikuks hakata. Masina sissetulek baseerub pakutavatel teenustel ning väljaminekud võivad olla energia või kindlustuse maksed.
IOTA ärimudelid?
IOTA ärimudelite väljatöötamisega tegeleb Innovation HUB.
IOTA ja Microsoft
Microsoft teeb koostööd IOTA-ga. Azure’s on olemas teenused IOTA kasutamiseks.
- IoT seadmete maksekanal
- Smart Contracts
- Luua oma Tangle võrk