Alt du trenger å vite om regisserte sykliske grafer (DAGS)

Regisserte asykliske grafer er en generell kategori innen grafteori, informatikk og matematikk som i det vesentlige utgjør en topologisk rekkefølge hvor hjørner (f.eks. En noder, oppgaver eller hendelser) er kombinert med kanter (rettet piler, avhengighetsforhold eller transaksjoner) på en asynkron måte (noder kan ikke løkke tilbake til seg selv, men flyten går i en retning, dvs. rettet).

DAG-graf

En multitree DAG. Kilde: Wikipedia

DAGs brukes i modellering av mange typer informasjon der samlinger av hendelser må være representert i hvordan de påvirker hverandre (sannsynlige strukturer i Bayesiske nettverk, registreringer av historiske data, distribuerte revisjonskontrollsystemer, etc.)

Dette avviker fra paradigmet for blockchain-teknologi ved at blockchain-stoffet opererer ved å kjede flate sekvenser med lister og gruppere dem i blokker. Med blockchain refererer hver blokk til den før og inkludert den, noe som fører til flaskehalser når for mange transaksjoner begynner å komme for ofte.

Dette gjør det vanskelig å oppnå konsensus om gyldige blokker (det beryktede skalerbarhetsproblemet). I et DAG-strukturert miljø er det ingen teoretisk grense for transaksjonsgjennomstrømning, ettersom transaksjoner er direkte koblet i stedet for gruppert og seriellisert på en enkelt bane..

DAGs tekniske design tillater også et bredere spekter av algoritmer som kan brukes og dermed bredere fleksibilitet. Det er noen få DAG-baserte prosjekter der ute, alle veldig forskjellige fra hverandre og bemerkelsesverdige, alle har bygget kodebasen sin fra bunnen av (i motsetning til en annen Bitcoin-kodebasehack).

Her er noen vanlige egenskaper de deler:

  • Syklisitet: Tiden flyter i en retning. Nyere transaksjoner refererer til eldre, men ikke omvendt. I sykluser avhenger gruppe oppgaver av hverandre (hvis det var sykluser, ville det ikke være topologisk rekkefølge). I en DAG er hver node avhengig av at de tidligere refererer til den. Dette gjør at transaksjoner kan utføres lokalt eller til og med offline og behandles, bekreftes eller avsluttes senere.
  •  Ventetid: Utførelseshastighet og bekreftelsestider er ikke begrenset av blokkstørrelse, men båndbredde mellom kommuniserende jevnaldrende. Det er ingen teoretisk grense for hvor mye systemet kan skalere.
  • Feeless (“pre-mined”): Fast forsyning, ingen gruvedrift involvert. Hver transaksjonsutsteder er samtidig en validator, ellers er det representanter eller vitner involvert i tilfeller av konflikter eller tvister. Dette muliggjør følsom mikro- og nanotransaksjoner som begrenser miljøpåvirkningen.
  • Nullverditransaksjoner: F.eks. meldinger, eller ikke-verditransaksjoner, uansett om det kreves digitale signaturer eller innpassing i en UDP-pakke.
  • Beskjæring av databaser: Kalt beskjæring i Nano og snapshotting i IOTA. Ingen slik mekanisme ennå med Byteballs. Det gjør det mulig å holde databasen slank, og forskjellige noder kan bare lagre historikken de er interessert i eller er relevante for dem.

DAG-teknologi har allerede blitt brukt i en rekke kryptovalutaer da utviklere aktivt ser etter alternativer til den nåværende blockchain-arkitekturen. Nedenfor vil vi se på den underliggende teknologien til tre av de mest kjente DAG-baserte kryptovalutaene.

Nano

Nano-logo

Nano (tidligere Raiblocks) begynte i desember 2014 (grunnlegger Colin LeMahieu som leder utviklingen av kjerneprotokollen) da stortingsmeldingen og beta-implementeringen ble publisert, noe som gjør den til en av de første DAG-baserte kryptovalutaene.

En ren valuta som er fokusert på å levere pålitelige, raske peer-to-peer-betalinger og raske bytteoverføringer for arbitrage, Nano “gjør en ting og gjør det riktig” (et motto som reflekterer KISS-prinsippet).

Nano benytter seg av en merkelig arkitektur (kalt block-gitter) som på en måte ligner et innvendig ut Lightning Network. Med andre ord, i stedet for å beholde jurisdiksjonen til en global blockchain som deretter er forgrenet i sidekjeder, er Nano allerede en nettverkstopologi der hver konto i stedet har sin egen blockchain (konto-kjede).

Hver av disse tilsvarer kontoens transaksjons- / saldohistorikk, og hver kontokjede kan bare oppdateres av kontoens eier. Dette gjør det også til alles ansvar hvilke andre blokkjeder det velger å handle og gjøre forretninger med.

Dette er en sentral designfunksjon i Nano der kjøretidsavtale erstattes med design-time-avtale der alle er enige om å signere at kun en kontoeier kan endre sin egen kjede..

Nanos minimalistiske tilnærming ser ut til å stemme overens med normene i UNIX-filosofien som oppsummert av Doug McIlroy i Bell System Technical Journal:

  1. Få hvert program til å gjøre en ting bra. For å gjøre en ny jobb, bygg på nytt i stedet for å komplisere gamle programmer ved å legge til nye “funksjoner”.
  2. Forvent at utgangen til hvert program blir inngang til et annet, ennå ukjent program. Ikke rot utdata med fremmed informasjon. Unngå strengt søyleformater eller binære inngangsformater. Ikke insister på interaktiv innspill.
  3. Design og bygg programvare, til og med operativsystemer, som skal prøves tidlig, helst innen uker. Ikke nøl med å kaste de klønete delene og bygge dem opp igjen.
  4. Bruk verktøy fremfor ufaglært hjelp til å lette en programmeringsoppgave, selv om du må omveie for å bygge verktøyene og forventer å kaste noen av dem ut etter at du er ferdig med å bruke dem.

Oversikt over Nano-protokollen

Oversikt over Nano Protocol

Nano TPS. Kilde: youtube.com

Nano-protokollen holder seg til UNIX-filosofien og er ekstremt lett og passer til den nødvendige minimumstørrelsen på UDP-overføringspakken. User Datagram-protokollen brukes til raskt å kommunisere veldig korte meldinger som bare sikrer integriteten til dataene. Den er i stand til å kjøre på lavt strømforbruk eller eldre maskinvare med minimale ressurser som tar sikte på å være ideell for praktisk hverdagsbruk (å kjøpe kaffe med i stedet for å lagre verdi i).

Konsensus i Nano oppnås ved at brukere velger representative kontoer for å avgi stemmer i tilfelle en tvist oppstår. Konsensusstemming utløses bare i tilfelle ondsinnede transaksjoner, og representative noder med høyere kontosaldoer vektes gunstigere.

Dette gir incitamenter til Nano-holdere til å delta i å opprettholde hovedbokens integritet. Tilsvarende, i tilfelle en gaffel, må generasjonen gjøres om, og derfra distribueres alt. Dette er det som gjør slike hendelser ganske usannsynlige. Representanter blir nærmere forklart i dokumentasjon og en liste over representanter (for tiden over 3000) kan bli funnet her.

Blant de medvirkende utviklerne (Nano er i stor grad fellesskapsdrevet) er også PayPal-programvareingeniøren Daniel Brain som bygde en enkel kasse for Nano det gjør det raskt og enkelt for selgere å implementere. I tillegg kan større selgere sette opp egne noder for håndtering av transaksjonsbelastninger.

Når det gjelder tilbud, blir “Nano” forhåndsutvunnet ved at den opprinnelige opprinnelseskontoen inneholder den totale faste saldoen (på 133 248 290) som deretter fordeles mellom andre kontoer som utgjør topologien i DAGchain.

Opprinnelsesbalansen oppbevares i fryselager i en safe, og blokker flyttes fra opprinnelsen til en landingskonto hver gang i uken for å minimere antallet levende ufordelte blokker. Distribusjonen i begynnelsen skjedde via en offentlig kran der man må løse captchas som Proof-of-Work (PoW) som en anti-spam-mekanisme..

Interessant, mye av den tidlige captcha-løsningen ble utført av venezuelanere (spissen av søk fra Venezuela kan sees i Google Trender) som førte til at mye av den distribuerte XRB gikk i hendene på noen av de fattigste som ellers ikke hadde hatt tilgang til krypto.

Byteball

Byteball

Byteball (Bytes) er en annen DAG-basert kryptokurrency utviklet av Anton Churyumov (utdannet ved Russian Research Nuclear University) som ble lansert i desember 25th 2016. Byteball fokuserer på betingede betalinger og menneskelig lesbare kontrakter som utfører enkle handlinger på en interaktiv måte (dvs. menneskelig lesbare smarte kontrakter og avtaler via attestation chatbots og on-chain oracles).

Ethereum-smarte kontrakter i kontrast er mer komplekse og programmerbare, og sikter mot streng forretningslogikk av institusjonell art, mens Byteball er ment for mer umiddelbar hverdagsbruk..

Dataene som er lagret på Byteballs DAG, lar brukerne sikre hverandres data ved å knytte dem til tidligere dataenheter opprettet av andre brukere, og avgiftene er proporsjonale med mengden ressurser som forbrukes, i dette tilfellet lik transaksjonsstørrelsen i byte. Denne barrieren for inngang er Byteballs anti-spam-mekanisme og reflekterer omtrent bruken av lagring for brukeren og lagringskostnadene for nettverket.

Den opprinnelige valutaen fra Byteball er også byte, og en del av avgiften går til nettverkstilsynsmennene som kalles vitner. Man betaler et fast beløp på 1 byte av valutaen for å lagre 1 byte transaksjonsdata.

Vitnene er offentlig identifiserbare individer med ekte identitet som stempel hver transaksjon for å sikre integriteten til hovedkjeden. Man kan velge mellom dem fra lommebokgrensesnittet på samme måte som man velger sine representanter i Nano-lommeboken. Det er 12 vitner involvert i hver transaksjon som skjer.

Lommeboken tillater også å sende Bytes til e-postkontoer eller via chat-apper som WhatsApp eller Telegram. BlackBytes er den komplementære valutaen som brukes til helt anonyme og sporbare p2p-transaksjoner.

IOTA

IOTA-logo

IOTA ble opprinnelig født fra et hardwareinitiativ (JINN) som tar sikte på å produsere en ternærbasert mikroprosessor som gir maskinvarestøtte for generell distribuert databehandling som hjørnesteinsgrunnlaget for tilkoblede IoT-enheter og til slutt utnytte AI-teknologier..

JINN var først kunngjort 23. september 2014 på NXT-forumet og deretter utviklet seg til IOTA som førte til grunnleggelsen av IOTA-stiftelsen som en Berlin-basert ideell organisasjon i 2017.

Stiftelsen er dedikert til å utvikle industrielle standarder og åpne protokoller som er nødvendige for IoT-infrastrukturen som ryggraden for en maskin-til-maskin-økonomi. I den innsatsen er IOTAs DAG (kalt ‘tangle’) fundamentalt forskjellig fra andre kryptovalutaer og kan ikke bli oppfattet på samme måte eller målt med samme standarder..

Den nødvendigvis uortodokse tilnærmingen IOTA benytter er relevant nøyaktig for tilstanden i IoT i dag og problemene med den enorme spredningen av sårbarheter blant tilkoblede enheter som bare har blitt firedoblet i 2017.

IOTAs floke utgjør et abstrakt maskineri av en rhizomatisk snill, “uopphørlig å etablere forbindelser mellom semiotiske kjeder”. Serguei Popov, en Moskva University Mathematics Ph.D. og en av kjernestifterne av IOTA-prosjektet publisert et oppfølgingspapir 12. mai.

Dette analyserte spillteoretiske aspekter av “egoistiske” spillere i flokket, og demonstrerte i simuleringer eksistensen av en “nesten symmetrisk” Nash-likevekt i dynamikken til hvordan floke er ment å fungere. Med andre ord hvordan “egoistiske” spillere likevel vil samarbeide med nettverket og velge vedleggsstrategier som er nær eller lik de “anbefalte”.

IOTA-koordinatoren (Coo)

IOTA-koordinator

Kilde: iota.org

Når det gjelder protokollen koordinering mellom Coo og inngående noder er en toveis prosess. Da Coo utsteder nullverdier av milepælstransaksjoner på samme måte som nodene, på en måte, politier Coo i å følge de fastsatte regler for samarbeid ved å synkronisere transaksjoner med disse milepælene..

IOTAs DAG-verdsatte floke gyter a stokastisk rom med randomisert “inkonsekvens” på overflaten. Deretter kjøres sannsynlighetsfordelingsprøver i en treningsbasert modell for å oppnå konsistens i hele nettverket.

Dette gjøres i et til slutt selvbærende nett av opportunistiske nettverk som forbinder og samhandler potensielt i ofte delte mekanismer og protokolldefinerte prinsipper. Dette er faktisk av situasjonsmessig nødvendighet eller etterspørsel etter en bestemt ressurs, da underfloker kan løsnes og festes på nytt til hovedfloraen.

I flokens unike datastruktur er det ingen blokker som bygger sekvensielt på tidligere blokker med transaksjonsdata, men i stedet må hver transaksjon sammenkoble to andre innkommende for å kontrollere og verifisere. Dette vil koble funksjonene til bruker og vedlikeholder (“miner”) i stedet for å skille roller i heterogene kontingenter hvis interesser ikke alltid sammenfaller.

Dette muliggjør også samtidig behandling av transaksjoner (i stedet for en etter en) i en virvel i et stadig utvidende nett av forbindelser som eksponentielt reduserer bekreftelsestidene. Det er heller ingen forsinkelser med ubekreftede transaksjoner på grunn av blokkstørrelsesbegrensninger.

I IOTAs underliggende design begrunnes hastigheten over konsistensen mens den tillater ubegrenset skalerbarhet (dvs. hastighet er en funksjon av nettverkets størrelse), og konsensus er rettet som en fremadrettet konsekvens av capture-pull-entangle (i stedet for å verifisere-validere- hash-append) med periodisk øyeblikksbilde som fjerner resirkulerte nullbalanser.

Tipsvalget (tipset er en innkommende transaksjon) -modus for å verifisere ektheten av innkommende transaksjoner kjører dem mot hele historien til floker, og når en transaksjon går inn i floke gjør den det i grenmodus. Dette betyr at den vil vente på å bli valgt på nytt med samme prosess som den akkumulerer pålitelighet og blir innebygd dypere i nettverket.

Å etablere konsensus

Ved hjelp av koordinatoren er den nåværende definisjonen av konsensus enkel: enhver transaksjon som er referert til av en milepæl (en nullverdi-transaksjon) blir bekreftet, og de andre ikke. Dette er kritisk viktig i vekstfasen av nettverkets barndom, da ellers kan en angriper begynne å overgå nettverket. Mens de angriper nettverket, kan de starte dobbeltbruk ved å referere til sine egne transaksjoner, bygge opp en parasittundvik og infiltrere nettverket.

Det unike IOTA-symbolet får i dette tilfellet sin sanne verdi bare i sitt eget organiske sirkulasjonssystem som det er spesielt designet for. Dette skjer bare når floke er moden nok og i stand til organisk å forsvare seg mot angrep. Det vil bare skje etter at den har samlet nok kritisk masse av totalvekten av refererte transaksjoner til å sikre Markov-kjede tilfeldige turer vil fungere som beregnet.

IOTA Tangle Visualization

Visualisering av IOTA Tangle. Kilde: Steemit.

Markov Chain Monte Carlo-metoder som sådan er en kategori av algoritmer som brukes i Bayesian dataanalyse som beregner modeller som krever integrasjoner over tusenvis av ukjente parametere med hensyn til kompliserte, høydimensjonale sannsynlighetsfordelinger.

Bayesian dataanalyse generelt har lenge vist seg å være spesielt nyttig for å løse komplekse problemer der det er stor iboende usikkerhet som må kvantifiseres. Det er potensielt den mest informasjonseffektive metoden for å passe en statistisk modell, men også den mest beregningsintensive.

Også interessant å merke seg er at Serguei Popov og professor Gideon Samid fra Israels teknologiske institutt (og nylig medlem av IOTA Foundation) i april 2017 nylig publiserte en papir på emnet.

I det foreslo de å erstatte den pseudo-tilfeldige kompleksiteten til for tiden brukte kryptografiske hashfunksjoner med en mer beregningsmessig enkel og virkelig tilfeldig. Dette vil selvfølgelig bare være fornuftig i lys av ovennevnte mikroprosessor og et stort nok nettverk (floke) i fremtiden.

En rask oversikt over IOTA-protokollen kan også bli funnet her.

Mineable DAG-baserte valutaer

Selv om både Nano og IOTA er forhåndsdrevet og fast forsyning, er det muligheter for å bryte Monero og få XRB eller iotas i nettleseren (hovedsakelig for testformål i applikasjonsutvikling).

Det er imidlertid DAG-baserte kryptovalutaer som gir mulighet for rimelig og distribuert gruvedrift. Et slikt er Burstcoin, et prosjekt som startet i 2014 som stammer fra NXT på den tiden (men også bygger på sin egen kodebase) som sikrer kryptografisk konsistens av transaksjoner via en Proof-of-Capacity-konsensusalgoritme (ved å bruke billig harddisk med lav effekt) stasjoner).

I likhet med lynnettverk utgjør Burst en hovedblokkjede for absolutt lagring / bokføring og forgrening av DAG-strukturerte transaksjonskanaler for generelle formål (et lag kalt Dymaxion) for forplantning og verifisering som deretter valideres til hovedkjeden.

Hver kanal kan åpnes med egendefinerte parametere og egenskaper, for eksempel definert varighet, egen meta-valuta støttet av Burst, grad av anonymitet, nettverksstørrelse osv..

Det er en offentlig kran leveres og Burst kan handles på Poloniex og Bittrex.

Dolk (XDAG) er et annet slikt nylig lansert prosjekt (mainnet ble distribuert 5. januar 2018) som tillater CPU / GPU-gruvedrift og noe som ligner på andre slike arkitekturer, parblokker, transaksjoner og adresser i en enkelt enhet.

Sammendrag

Samlet sett er alle tre DAG-økosystemene tilstrekkelig forskjellige fra hverandre i mål, mål og nytte til tross for noen overlapp. Imidlertid deler de noen vanlige egenskaper. En av kritikkene som ofte blir reist, er at DAG-er er “sentraliserte”.

Det er viktig å reflektere litt og definere semantikken til hva ord innebærer i forskjellige sammenhenger (desentralisert, distribuert, etc.). Vi bør deretter undersøke alle komponentene i en nettverksinfrastruktur og deretter vurdere hvilke elementer som er sentraliserte, desentraliserte, eller hvilke funksjoner som er delegert hvor osv., Og hvordan alt dette knytter seg sammen.

Alle de tre DAG-prosjektene kan sies å være desentraliserbare, siden eiendommen er avhengig av større bruk og adopsjon og dermed enkeltpersoner og parter som er villige til å påta seg visse roller. For tiden er Nano organisert rundt en håndfull representative knutepunkter, Byteball er avhengig av en håndfull vitner for å føre tilsyn med hovedkjeden, og IOTA drives / trent fra en sentral koordinator (IOTA Foundation) som sikrer aktivitetsflyt i henhold til protokollen..

Insentivene med DAG er ikke så mye den umiddelbare fortjenesten fra PoW-gruvedrift, men snarere et betydelig kostnadsbesparende insentiv som naturlig tiltrekker seg visse selskaper og bedrifter som har interesse for nettverkene når de løser et forretningsproblem for dem..

Utvalgt bilde via Fotolia

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