En rettet asyklisk graf, eller DAG (fra engelsk "directed acyclic graph"), er et verktøy for å modellere og organisere data som ofte brukes i kryptovalutaer.
I motsetning til en blokkjede, som består av blokker, er en rettet asyklisk graf bygd opp av noder (vertekser) og kanter. Kryptotransaksjoner registreres dermed som vertekser og stables oppå hverandre. Som på en blokkjede sendes transaksjoner likevel inn til DAG-en via noder. For å kunne sende inn en transaksjon må en node utføre proof-of-work-oppgaver (PoW).
Enkelt sagt: der et blokkjedesystem ser ut som en kjede, ligner et DAG-system mer på en graf. DAG-modellen blir i dag sett på i bransjen som en mulig erstatter for blokkjeden på sikt, nettopp på grunn av effektiviteten når det gjelder datalagring og håndtering av transaksjoner på nett.
DAG-modellen blir også regnet som et mulig svar på dagens desentraliseringsproblem i krypto. Med denne modellen slipper utvinnere å konkurrere om nye blokker som skal legges til kjeden.
Siden noder utvikles samtidig, kan transaksjoner også behandles raskere. Utviklere ser på DAG som en bedre og tryggere løsning som kan gjøre et nettverk mer anvendelig etter hvert som det blir mer skalerbart.
Hvordan fungerer en DAG?
Som nevnt er en rettet asyklisk graf mer effektiv til datalagring. Utformingen er trelignende, med sammenkoblede noder som 'grener'.
Fordi hver verteks kan ha mer enn én overordnet rot, gjør modellen det mulig å godkjenne flere transaksjoner samtidig. Brukerne trenger nemlig ikke å vente på at en transaksjon skal bli ferdig før de behandler den neste.
I en rettet asyklisk graf må derfor hver nye transaksjon vise til tidligere transaksjoner før den blir godtatt av nettverket. Dette tilsvarer måten blokker i en blokkjede viser til tidligere blokker på. Tanken bak er at en transaksjon først er reelt bekreftet når en annen transaksjon viser til den, og så videre.
I en DAG representerer hver verteks en transaksjon. Det finnes ingen blokker, så utvinning er heller ikke nødvendig. Transaksjoner bygges oppå hverandre i stedet for å samles i blokker. Deretter utføres det, som nettopp nevnt, proof-of-work-oppgaver hver gang en node sender inn en transaksjon, for å godkjenne tidligere transaksjoner og hindre spam.
Som standard bygges nye transaksjoner oppå eldre i en DAG-basert kryptovaluta. Hovedforskjellen fra blokkjeden er at man i en DAG kan vise til flere transaksjoner, ikke bare én om gangen.
Noen systemer har en algoritme som velger hvilke 'tips' eller transaksjoner man skal bygge videre på, ut fra akkumulert vekt – altså antallet bekreftelser som fører fram til den aktuelle spissen.
Beskyttelsen mot dobbeltbruk i DAG-er fungerer ved at noder bekrefter eldre transaksjoner ved å følge en sti helt tilbake til DAG-ens aller første transaksjon. Slik kontrolleres det om avsenderen har nok saldo. Bygger en bruker videre på en ugyldig sti, risikerer den transaksjonen å bli oversett.
Konflikter som oppstår som følge av ulike stier, løses med en utvelgelsesalgoritme som favoriserer spisser med tyngst akkumulert vekt.
Hva brukes DAG-er til?
DAG-modellen forsøker å løse to opplevde svakheter ved blokkjedeteknologien, nemlig desentralisering og skalerbarhet. Den sikter også mot bedre sikkerhet og brukervennlighet.
På hvilken måte?
- På Bitcoin-blokkjeden eller Ethereum-plattformen kan utvinnere bare lage én blokk om gangen. Nye transaksjoner kan derfor først godkjennes når den forrige er ferdig. DAG-modellen fjerner disse blokkene og legger transaksjonene rett inn i hovedboken.
Når blokkene forsvinner, trenger ikke DAG-modellen utvinning. Det betyr at det kreves mindre strøm for å holde nettverket i gang. DAG-er har i tillegg flere fordeler, for eksempel:
- Høye transaksjonshastigheter som ikke bremses av blokkproduksjon
- Ingen utvinnere betyr heller ingen transaksjonsgebyrer
- Lavere energiforbruk og miljøgevinster sammenlignet med utvinning
Akkurat nå er likevel bruken av DAG-er i krypto fortsatt i startfasen. I motsetning til blokkjeder er de ennå ikke fullt desentraliserte. Derfor brukes de først og fremst til å få nettverk i gang, og ennå ikke som et system man kan bygge et stabilt nettverk på.
Hvilke kryptovalutaer bruker DAG?
Tidligere var det utenkelig å snakke om kryptovalutaer uten å tenke på blokkjeden. Med DAG-modellen har imidlertid flere kryptovalutaer allerede blitt bygget med hell på denne teknologien.
Noen eksempler er Obyte, IOTA og Nano, for å nevne noen. Selv om strukturen fortsatt er relativt ny, viser DAG et stort potensial. Som nevnt har flere prosjekter allerede tatt den i bruk med gode resultater. De mest kjente er:
Obyte
Obyte, tidligere ByteBall, er en kryptovaluta som er helt uavhengig av blokkjeden, ettersom den har implementert DAG-strukturen. Likevel koster Obyte-transaksjoner et gebyr.
Grunnen er at Obyte-nettverket bruker et validatorsystem som gir mulighet for dobbeltsjekking av transaksjoner. Det benytter en konsensusalgoritme basert på vitner (witnesses) – betrodde og pålitelige brukere som fungerer som validatorer.
Obyte støtter også usporbare transaksjoner samt smartkontrakter.
IOTA
IOTA, laget for tingenes internett, lanserte nettverket sitt som en 'blokkløs blokkjede' i 2016. Tanken bak IOTA er at alle brukere i praksis blir utvinnere. For å få godkjent én transaksjon må en bruker for eksempel verifisere to transaksjoner.
IOTA bruker et nettverk bestående av noder og tangles, altså grupper av noder, som gjør godkjenningsprosessen raskere og mer effektiv.
Alle brukere bidrar med en liten mengde regnekraft til driften av nettverket, og alle deltar også i konsensus. Dette gjør at nettverket kan være både svært desentralisert og skalerbart på samme tid.
Transaksjonene koster nesten ingenting, og derfor blir IOTA regnet som et kostnadseffektivt alternativ for mikrobetalinger.
Nano
Nano er også en kryptovaluta som kjører på DAG-systemet. Nano har selvstendige blokkjeder som er koblet sammen av noder, kalt block-lattice-teknologi. Egentlig er det en blanding av DAG og blokkjede.
Hver bruker har sin egen lommebok og sin egen blokkjede. Bare brukeren selv kan gjøre endringer på sin lommebok eller blokkjede. En transaksjon er fullført når både avsender og mottaker har utført operasjonen på hver sin blokkjede.
Nano tilbyr brukerne null i transaksjonsgebyrer, i tillegg til høye transaksjonshastigheter.
Hvilken rolle spiller DAG i blockchain?
DAG kan ses på som et brukbart alternativ til blokkjeden, selv om teknologien fortsatt trenger finjustering. DAG-modellen forsøker å løse velkjente problemer ved blokkjedeteknologi som kostnad, hastighet og tilpasningsevne.
Begge teknologiene registrerer i praksis transaksjoner i en digital hovedbok og jobber mot det samme målet. Det som skiller dem, er først og fremst strukturen hver modell bruker for å lagre data.
DAG mot blokkjede
Både blokkjeder og DAG-er registrerer transaksjoner i en distribuert hovedbok, men på ulike måter.
Under følger en rask sammenligning av de to når det gjelder fordeler og ulemper:
Fordeler med DAG
- Godt egnet for mikrotransaksjoner og store transaksjonsvolumer
- Fjerner behovet for utvinningsmaskinvare
- Gebyrene kan reduseres betraktelig
- Lavere energiforbruk
Ulemper med DAG
- Sårbar for angrep på grunn av lavt transaksjonsvolum
- Fortsatt i startgropa; har ennå ikke oppnådd nevneverdig grad av desentralisering
Fordeler med blokkjeden
- Godt etablert og mye brukt av kryptovalutaer som Bitcoin og Ethereum
- Transparent og uforanderlig, svært sikker
- Kostnadseffektiv for transaksjoner med høy verdi
Ulemper med blokkjeden
- Krevende behov for lagring og nettverksbåndbredde
- Bruker enormt mye strøm
- Høye transaksjonsgebyrer
Til syvende og sist avhenger valget av modell av dine forretningsmål. Som vi har vært inne på, har hver modell sine styrker og svakheter, og den ene kan passe bedre enn den andre ut fra behovene dine.
