Viskas, ką reikia žinoti apie nukreiptus aciklinius grafikus (DAGS)

Nukreipti acikliniai grafikai yra bendra grafikų teorijos, informatikos ir matematikos kategorija, kuri iš esmės sudaro topologinę tvarką, kai viršūnės (pvz., Mazgai, užduotys ar įvykiai) asinchroniškai sujungiamos su kraštais (nukreiptomis rodyklėmis, priklausomybės ryšiais ar operacijomis). (mazgai negali grįžti prie savęs, bet srautas eina viena kryptimi, ty nukreiptas).

DAG grafikas

Daugiamedis DAG. Šaltinis: Vikipedija

DAG yra naudojami modeliuojant daugelį rūšių informaciją, kur įvykių kolekcijos turi būti reprezentuojamos kaip jos veikia viena kitą (tikimybinės struktūros Bajeso tinklai, istorinių duomenų įrašai, paskirstytos koregavimo kontrolės sistemos ir kt.)

Tai nukrypsta nuo „blockchain“ technologijos paradigmos, nes „blockchain“ audinys veikia sujungdamas plokščias sąrašų sekas ir grupuodamas jas į blokus. Naudojant „blockchain“, kiekvienas blokas nurodo ankstesnį ir jį įtraukia, o tai sukelia kliūčių, kai per daug operacijų pradeda pasirodyti per dažnai.

Dėl to sunku pasiekti sutarimą dėl galiojančių blokų (žinomas mastelio klausimas). DAG struktūrizuotoje aplinkoje nėra teorinių operacijų pralaidumo apribojimų, nes sandoriai yra tiesiogiai susieti, o ne sugrupuoti ir nuoseklūs vienoje juostoje..

DAG techninis projektas taip pat leidžia platesnį algoritmų, kuriuos būtų galima pritaikyti, spektrą, taigi ir didesnį lankstumą. Yra keletas DAG paremtų projektų, kurie visi labai skiriasi ir yra verti dėmesio, visi sukūrė savo kodų bazę nuo nulio (priešingai nei kitas „Bitcoin“ kodinio pagrindo įsilaužimas)..

Štai keletas bendrų savybių, kurias jie naudoja:

  • Aciklumas: Laikas teka viena kryptimi. Naujesni sandoriai nurodo senesnius sandorius, bet ne atvirkščiai. Ciklais užduočių grupė priklauso viena nuo kitos (jei būtų ciklų, nebūtų topologinės tvarkos). DAG kiekvienas mazgas priklauso nuo ankstesnių, kurie jį nurodo. Tai leidžia operacijas įvykdyti vietoje ar net neprisijungus ir vėliau apdoroti, patvirtinti ar užbaigti.
  •  Vėlavimas: Vykdymo greitį ir patvirtinimo laiką nevaržo blokų dydis, bet pralaidumas tarp bendraujančių bendraamžių. Nėra teorinės ribos, kiek sistema gali keisti mastelį.
  • „Feeless“ („išminuotas“): Pastovus tiekimas, be kasybos. Kiekvienas sandorio davėjas tuo pačiu metu yra tikrintojas, kitaip konfliktų ar ginčų atvejais yra atstovų ar liudininkų. Tai įgalina „feeless“ mikro ir nano operacijas, ribojančias poveikį aplinkai.
  • Nulinės vertės sandoriai: Pvz. pranešimai ar nevertingos operacijos, reikalaujančios ar nereikalaujančios skaitmeninių parašų ir pritaikomos a UDP paketas.
  • Duomenų bazės genėjimas: Vadinamas genėjimu „Nano“ ir „snapshotting“ IOTA. Dar nėra tokio mechanizmo su „Byteballs“. Tai leidžia išlaikyti duomenų bazę ploną, o skirtingi mazgai gali išsaugoti tik juos dominančią ar jiems aktualią istoriją.

DAG technologija jau buvo naudojama daugelyje kriptovaliutų, nes kūrėjai aktyviai ieško alternatyvų dabartinei „blockchain“ architektūrai. Žemiau mes apžvelgsime trijų labiausiai žinomų DAG pagrįstų kriptovaliutų technologijas.

Nano

„Nano“ logotipas

„Nano“ (anksčiau „Raiblocks“) prasidėjo 2014 m. Gruodžio mėn. (Įkūrėjas Colinas LeMahieu, vedantis pagrindinio protokolo plėtrą), kai pirmą kartą buvo paskelbta baltoji knyga ir beta versija, todėl tai buvo viena iš pirmųjų DAG pagrįstų kriptovaliutų..

Gryna valiuta, orientuota į patikimų, greitų tarpusavio mokėjimų ir greitų valiutos pervedimų į arbitražą teikimą, „Nano“ daro vieną ir teisingai “(šūkis atspindi KISS principas).

„Nano“ naudoja savitą architektūrą (vadinamą blokine-gardele), kuri tam tikra prasme primena viduje esantį žaibo tinklą. Kitaip tariant, užuot išlaikiusi visuotinės blokų grandinės, kuri vėliau yra išsišakojusi šalutinėse grandinėse, jurisdikciją, „Nano“ jau yra tinklo topologija, kur kiekviena paskyra turi savo blokų grandinę (paskyros grandinę).

Kiekvienas iš jų yra lygus sąskaitos operacijų / balanso istorijai, o kiekvieną sąskaitos grandinę gali atnaujinti tik paskyros savininkas. Tai taip pat daro visų atsakomybę, su kokiais kitais blokiniais tinklais pasirenka sandorius ir verslą.

Tai pagrindinė „Nano“ dizaino ypatybė, kai vykdymo laiko sutartis pakeičiama projektavimo laiko sutartimi, kai visi sutinka pasirašydami tikrindami, ar tik paskyros savininkas gali keisti savo grandinę.

Panašu, kad minimalistinis „Nano“ požiūris atitinka UNIX filosofijos normas, kurias Dougas McIlroy apibendrino „Bell System Technical Journal“:

  1. Priverskite kiekvieną programą gerai atlikti vieną dalyką. Norėdami atlikti naują darbą, kurkite iš naujo, o ne apsunkinkite senas programas pridėdami naujų „funkcijų“.
  2. Tikėkitės, kad kiekvienos programos išvestis taps įvestimi į kitą, dar nežinomą programą. Netrukdykite išvesties pašaline informacija. Venkite griežtai stulpelių ar dvejetainių įvesties formatų. Nereikalaukite interaktyvios įvesties.
  3. Suprojektuokite ir sukurkite programinę įrangą, net operacines sistemas, kurią reikia išbandyti anksti, geriausia – per kelias savaites. Nedvejodami išmeskite gremėzdiškas dalis ir jas atstatykite.
  4. Naudokite įrankius, o ne nekvalifikuotą pagalbą, kad palengvintumėte programavimo užduotį, net jei jūs turite apvažiuoti, kad sukurtumėte įrankius, ir tikitės kai kuriuos iš jų išmesti, kai baigsite juos naudoti..

„Nano“ protokolo apžvalga

„Nano“ protokolo apžvalga

„Nano TPS“. Šaltinis: youtube.com

Laikantis UNIX filosofijos, „Nano“ protokolas yra ypač lengvas, atitinkantis reikalaujamą minimalų UDP perdavimo paketo dydį. „User Datagram“ protokolas naudojamas greitai perduoti labai trumpus pranešimus, užtikrinant tik duomenų vientisumą. Jis gali veikti su mažos galios ar sena aparatūra, turėdamas minimalius išteklius, kad būtų idealus kasdieniniam naudojimui (norint nusipirkti kavos, o ne parduotuvėje).

Nano kalba sutarimas pasiekiamas tada, kai vartotojai pasirenka reprezentacines paskyras balsuoti kilus ginčui. Balsavimas sutarimu atliekamas tik esant piktybiškoms operacijoms, o atstovų mazgai, kurių sąskaitų likutis didesnis, yra palankesni..

Tai skatina „Nano“ turėtojus dalyvauti išlaikant knygos vientisumą. Panašiai šakės atveju reikia perdaryti genezę ir iš ten viskas perskirstyti. Būtent dėl ​​to tokie įvykiai yra mažai tikėtini. Atstovai išsamiau paaiškinti dokumente dokumentacija ir galima rasti atstovų (šiuo metu virš 3000) sąrašą čia.

Tarp prisidedančių kūrėjų („Nano“ daugiausia priklauso nuo bendruomenės) yra ir „PayPal“ programinės įrangos inžinierius Danielis Brainas, kuris sukūrė paprasta „Nano“ kasa tai leidžia prekybininkams greitai ir lengvai įgyvendinti. Be to, didesni prekybininkai gali nustatyti savo mazgus, kad tvarkytų operacijų apkrovas.

Kalbant apie tiekimą, „Nano“ yra „iš anksto užminuotas“, nes pradinėje genezės sąskaitoje yra visas fiksuotas likutis (133 248 290), kuris paskui paskirstomas tarp kitų sąskaitų, sudarančių DAG grandinės topologiją..

Genezės pusiausvyra laikoma šaltoje saugykloje ir blokai pereina iš genezės į nusileidimo sąskaitą kas kartą per savaitę, kad sumažintų gyvų nepaskirstytų blokų skaičių. Pradžioje platinimas vyko per viešą maišytuvą, kur reikia išspręsti „captchas“ kaip „Proof-of-Work“ (PoW) anti-spam mechanizmą..

Įdomu tai, kad daugelį ankstyvųjų captcha sprendimų atliko venesueliečiai (paieškų iš Venesuelos „Google Trends“), dėl kurio daugelis paskirstytų XRB pateko į kai kurių vargingiausiųjų rankas, kurie kitaip neturėjo galimybės naudotis kriptografija.

Byteball

Byteball

„Byteball“ („Baitai“) yra dar viena DAG pagrindu sukurta kriptovaliuta, kurią sukūrė Antonas Churyumovas (Rusijos mokslinių tyrimų branduolinio universiteto absolventas), pradėta kurti 2016 m. Gruodžio 25 d. skaitomos išmaniosios sutartys ir susitarimai per atestacinius pokalbių robotus ir grandinės orakulus).

„Ethereum“ išmaniosios sutartys, priešingai, yra sudėtingesnės ir suprantamos programuotojams, siekiant griežtos institucinės verslo logikos, o „Byteball“ skirtas betarpiškesniam kasdieniniam naudojimui.

Duomenys, saugomi „Byteball“ DAG, leidžia vartotojams apsaugoti vienas kito duomenis, prijungiant juos prie ankstesnių kitų vartotojų sukurtų duomenų vienetų, o mokesčiai yra proporcingi sunaudotų išteklių kiekiui, šiuo atveju lygūs operacijos dydžiui baitais. Ši kliūtis patekti yra „Byteball“ apsaugos nuo šlamšto mechanizmas ir apytiksliai atspindi saugyklos naudingumą vartotojui ir tinklo saugojimo kainą.

„Byteball“ gimtoji valiuta taip pat yra baitai, o dalis mokesčio tenka tinklo prižiūrėtojams, vadinamiems liudytojais. Už 1 baito sandorių duomenų saugojimą mokama fiksuota 1 baito valiutos suma.

Liudytojai yra viešai atpažįstami asmenys, turintys realų tapatumą, kurie žymi kiekvieną sandorį, užtikrindami pagrindinės grandinės vientisumą. Iš jų galima pasirinkti iš piniginės sąsajos taip pat, kaip išsirinkti jo atstovus „Nano“ piniginėje. Kiekviename įvykusiame sandoryje dalyvauja 12 liudininkų.

Piniginė taip pat leidžia siųsti „Bytes“ į el. Pašto paskyras arba per pokalbių programas, tokias kaip „WhatsApp“ arba „Telegram“. „BlackBytes“ yra papildoma valiuta, naudojama visiškai anonimiškoms ir neatsekamoms p2p operacijoms.

IOTA

IOTA logotipas

IOTA iš pradžių gimė iš aparatinės įrangos iniciatyvos (JINN), kurios tikslas buvo pagaminti trijų komponentų mikroprocesorių, teikiantį aparatinės įrangos palaikymą bendram paskirstytam skaičiavimui, kuris yra kertinis sujungtų IoT įrenginių pagrindas ir galiausiai pasitelkiant AI technologijas..

JINN buvo pirmas paskelbė 2014 m. rugsėjo 23 d. NXT forume ir vėliau peraugo į IOTA, todėl 2017 m. buvo įkurtas IOTA fondas kaip Berlyne įsikūrusi ne pelno organizacija..

Fondas yra skirtas kurti pramonės standartus ir atvirus protokolus, reikalingus daiktų interneto infrastruktūrai, kuri yra mašinų tarpusavio ekonomikos pagrindas. Šiuo tikslu IOTA DAG (vadinamas „raizginiu“) iš esmės skiriasi nuo kitų kriptovaliutų ir negali būti suprantamas tokiu pačiu būdu ar matuojamas pagal tuos pačius standartus.

Neabejotinai netradicinis požiūris, kurį taiko IOTA, yra aktualus būtent šiandieninei daiktų daiktų padėčiai ir problemoms, kylančioms dėl masinio prijungtų įrenginių pažeidžiamumo plitimo, kuris išaugo tik 2017 m..

IOTA raizginys yra abstrakti mašina a šakniastiebiai natūra, „nepaliaujamai užmezganti ryšius tarp semiotinių grandinių“. Serguei Popovas, Maskvos universiteto matematikos mokslų daktaras ir vienas pagrindinių IOTA projekto steigėjų paskelbta gegužės 12 d. tęsinys.

Tai išanalizavo žaidimo teorinius „savanaudiškų“ žaidėjų aspektus raizgyje, simuliacijose parodydami „beveik simetriško“ egzistavimą Nešo pusiausvyra dinamikoje, kaip raizginys turi veikti. Kitaip tariant, kaip „savanaudiški“ žaidėjai vis dėlto bendradarbiaus su tinklu, pasirinkdami prieraišumo strategijas, artimas ar panašias į „rekomenduojamas“..

IOTA koordinatorius (Coo)

IOTA koordinatorius

Šaltinis: iota.org

Kalbant apie protokolo koordinavimą tarp Coo o įvedami mazgai yra dvipusis procesas. Kadangi „Coo“ išleidžia nulinės vertės tarpinius sandorius tokiu pačiu būdu, kaip mazgai tam tikra prasme policijai vadovauja laikydamiesi nustatytų bendradarbiavimo taisyklių, sinchronizuodami operacijas su tais etapais..

IOTA DAG vertinamas raizginys neršia a stochastiškas atsitiktinių imčių „nenuoseklumo“ erdvė. Tada ji atliks tikimybių pasiskirstymo atrankas pagal mokymu pagrįstą modelį, kad būtų pasiektas nuoseklumas visame tinkle.

Tai daroma galiausiai savarankiškai veikiančiuose oportunistiniuose tinkluose, kurie jungiasi ir potencialiai sąveikauja bendrai naudojamais mechanizmais ir protokolo apibrėžtais principais. Tai iš tikrųjų yra situacinė būtinybė arba konkretaus ištekliaus poreikis, nes poslinkiai gali dinamiškai atsiskirti ir vėl prisijungti prie pagrindinio raizginio..

Unikalioje raizginio duomenų struktūroje nėra blokų, nuosekliai grindžiamų ankstesniais operacijų duomenų blokais, tačiau kiekviena operacija turi susieti du kitus gaunamus, kad patikrintų ir patikrintų. Tai susies vartotojo ir prižiūrėtojo („kalnakasio“) funkcijas, o ne išskirs vaidmenis nevienalyčiuose kontingentuose, kurių interesai ne visada gali sutapti.

Tai taip pat leidžia vienu metu apdoroti operacijas (o ne po vieną) vis besiplečiančio ryšių tinklo sūkuryje, kuris eksponentiškai sumažina patvirtinimo laiką. Taip pat nėra nepatvirtintų operacijų, susijusių su blokų dydžio apribojimais, neatsilikimų.

Pagal pagrindinį IOTA projektavimo principą pirmenybė teikiama greičiui, o ne nuoseklumui, tuo pačiu leidžiant neribotą mastelį (ty greitis priklauso nuo tinklo dydžio), o sutarimas yra nukreiptas į priekį, kad būtų galima daryti išvadą apie fiksavimą-traukimą-supynimą (o ne patikrinimą-patvirtinimą – hash-append) su periodišku momentiniu išvalymu išvalant perdirbtus nulinius balansus.

Patarimų pasirinkimo (patarimas yra gaunamas sandoris) režimas, skirtas patikrinti gaunamų operacijų autentiškumą, paleidžia juos per visą raizginio istoriją ir, kai sandoris patenka į raizginį, jis tai daro filialo režimu. Tai reiškia, kad jis lauks, kol bus vėl išrinktas tuo pačiu procesu, nes sukurs patikimumą ir bus įterptas giliau į tinklą.

Bendro sutarimo nustatymas

Naudojant koordinatorių, dabartinis sutarimo apibrėžimas yra paprastas: bet koks sandoris, nurodytas gairėje (nulinės vertės sandoris), yra patvirtinamas, o kiti – ne. Tai labai svarbu tinklo kūdikystės augimo fazėje, nes priešingu atveju užpuolikas gali pradėti tempti tinklą. Puldami tinklą, jie gali pradėti dvigubai išlaidauti remdamiesi savo sandoriais, sukurdami parazitų sąrangą ir įsiskverbdami į tinklą..

Šiuo atveju unikalus IOTA žetonas tikrąją vertę įgyja tik savo organinės kraujotakos sistemoje, kuriai jis buvo specialiai sukurtas. Tai atsitinka tik tada, kai pats raizginys yra pakankamai subrendęs ir pajėgus organiškai apsiginti nuo atakų. Tai įvyks tik tada, kai bus sukaupta pakankamai kritinės bendros nurodytų operacijų masės, kad būtų užtikrinta Markovo grandinė atsitiktiniai pasivaikščiojimai veiks kaip numatyta.

„IOTA Tangle“ vizualizacija

IOTA Tangle vizualizacija. Šaltinis: Steemit.

Markovo grandinės Monte Karlo metodai yra algoritmų, naudojamų atliekant Bayeso duomenų analizę, kategorija, kuri apskaičiuoja modelius, reikalaujančius integruoti daugiau nei tūkstančius nežinomų parametrų, atsižvelgiant į sudėtingus, didelės dimensijos tikimybių skirstinius..

Bajeso duomenų analizė jau seniai pasirodė ypač naudinga sprendžiant sudėtingas problemas, kai yra didelis būdingas neapibrėžtumas, kurį reikia kiekybiškai įvertinti. Tai potencialiai yra efektyviausias informacijos metodas, tinkantis statistiniam modeliui, tačiau taip pat ir skaičiavimų reikalaujantis.

Taip pat įdomu tai, kad 2017 m. Balandžio mėn. Serguei Popovas ir prof. Gideonas Samidas iš Izraelio technologijos instituto (ir neseniai prisijungęs prie IOTA fondo nario) neseniai paskelbė popieriaus šiuo klausimu.

Jame jie pasiūlė šiuo metu naudojamų kriptografinių maišos funkcijų pseudo-atsitiktinį sudėtingumą pakeisti skaičiavimais paprastesne ir tikrai atsitiktine. Tai, žinoma, būtų prasminga tik atsižvelgiant į pirmiau minėtą mikroprocesorių ir pakankamai didelį tinklą (raizginį) ateityje.

Taip pat galima rasti greitą IOTA protokolo apžvalgą čia.

Minimos DAG pagrįstos valiutos

Nors tiek „Nano“, tiek „IOTA“ yra iš anksto kasami ir fiksuoti, yra galimybių išgauti „Monero“ ir gauti XRB arba „iotas“ naršyklėje (daugiausia bandymų tikslais kuriant programas).

Tačiau yra DAG pagrįstų kriptovaliutų, leidžiančių įperkamą ir paskirstytą kasybą. Vienas iš tokių yra „Burstcoin“, 2014 m. Pradėtas projektas, gautas iš tuo metu NXT (tačiau taip pat pagrįstas savo kodu), kuris užtikrina operacijų kriptografinį nuoseklumą per „Proof-of-Capacity“ sutarimo algoritmą (naudojant nebrangų, mažos galios kietąjį diskai).

Panašiai kaip žaibų tinkle, „Burst“ yra pagrindinė blokų grandinė, skirta absoliučiam saugojimui / buhalterijai tvarkyti ir šakoti bendros paskirties DAG struktūrizuotus operacijų kanalus (sluoksnis vadinamas Dymaxion) dauginimui ir tikrinimui, kurie vėliau patvirtinami pagrindinėje grandinėje.

Kiekvieną kanalą galima atidaryti pasirinktiniais parametrais ir ypatybėmis, pvz., Apibrėžta trukme, nuosava meta valiuta, palaikoma „Burst“, anonimiškumo laipsniu, tinklo dydžiu ir kt..

Čia yra viešas maišytuvas „Burst“ prekiaujama „Poloniex“ ir „Bittrex“.

Durklas (XDAG) yra dar vienas toks neseniai pradėtas projektas („mainnet“ buvo dislokuotas 2018 m. Sausio 5 d.), Leidžiantis kasyti procesorius / GPU ir šiek tiek panašus į kitas tokias architektūras, porų blokus, operacijas ir adresus viename vienete.

Santrauka

Apskritai, visos trys DAG ekosistemos savo tikslais, tikslais ir naudingumu yra pakankamai skirtingos, nepaisant tam tikrų sutapimų. Tačiau jie turi keletą bendrų savybių. Viena iš dažnai keliamų kritikų yra ta, kad DAG yra „centralizuotos“.

Svarbu šiek tiek apmąstyti ir apibrėžti, ką žodžiai reiškia skirtinguose kontekstuose (decentralizuoti, paskirstyti ir kt.), Semantiką. Tada turėtume išnagrinėti visus tinklo infrastruktūros komponentus ir tada apsvarstyti, kurie elementai yra centralizuoti, decentralizuoti arba kokios funkcijos yra deleguotos kur ir pan., Ir kaip visa tai sieja kartu.

Galima sakyti, kad visi trys DAG projektai yra decentralizuojami, nes ši nuosavybė priklauso nuo platesnio naudojimo ir pritaikymo, taigi ir asmenų bei šalių, norinčių prisiimti tam tikrus vaidmenis. Šiuo metu „Nano“ yra organizuotas aplink keletą reprezentacinių centrų, „Byteball“ priklauso nuo kelių liudininkų, kurie prižiūri pagrindinę grandinę, o IOTA valdo / moko centrinis koordinatorius (IOTA fondas), kuris užtikrina veiklos srautus pagal protokolą.

Paskatos su DAG yra ne tiek tiesioginis pelnas, gautas iš „PoW“ kasybos, bet ir reikšmingas išlaidų taupymo paskatas, kuris natūraliai pritraukia tam tikras įmones ir įmones, kurios susidomėjo tinklais, nes jos išsprendžia jiems kylančią verslo problemą..

Paveikslėlis per „Fotolia“

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me