Krijn Soeteman

Krijn Soeteman (2022)

Gepubliceerd op 07-07-2022

DAG

betekenis & definitie

Complex concept om consensus te bereiken in een gedistribueerd systeem zonder een blockchain; directed acyclic graph of gerichte graaf zonder cycli.

Veelgebruikte structuur om data te modelleren in de wetenschap om relaties tussen variabelen te bepalen en hoe ze op elkaar van invloed zijn.

Een DAG bestaat uit hoekpunten en ribben die ze verbinden. Stel dit voor als bollen verbonden met lijnen. De richting van de lijnen is één kant op: stel ze voor als pijlen. Het systeem is acyclisch omdat er niet teruggekeerd kan worden naar een eerder punt: de informatie gaat in de richting van de pijl, ofwel een gerichte grafiek zonder cyclus.

Een DAG bij een cryptovaluta werkt als volgt: elk knooppunt in de structuur vertegenwoordigt een transactie. Hierdoor zijn geen blokken nodig: elke transactie wordt bovenop andere transacties gebouwd.

Om spam in het netwerk tegen te gaan, kost het wel iets om een transactie uit te voeren, een soort van proof-of-work. Dus: nieuwe transacties worden bovenop de oude gebouwd. Na het opbouwen van een transactie op oudere transacties wordt de transactie erkend door het verwijzen naar de oudere, in de verte een beetje vergelijkbaar met het terugverwijzen naar een ouder blok in een blockchain.

Door het verwijzen naar een oudere transactie, wordt die oudere bevestigd. Deze nieuwe transactie wordt pas bevestigd als weer een nieuwere terugverwijst naar die transactie. Hoe meer transacties bovenop een transactie zijn gebouwd, hoe ‘zwaarder’ de transactie weegt.

Een speciaal selectie-algoritme moet double spending tegengaan. Een beetje vergelijkbaar met het wachten op meerdere bevestigingen van een transactie bij een proof-of-work-systeem. Cryptovaluta IOTA gebruikt een DAG-systeem waarbij een selectie-algoritme 100 keer moet draaien vanaf specifieke ‘tips’ (transacties waar het netwerk op moet verder bouwen).

Het pad dat de transactie volgt, kiest de gebruikte wallet zelf door zwaarwegende ‘tips’ te selecteren met veel verzamelde bevestigingen, het pad terug te volgen om zo zeker te weten dat er voldoende balans is en vervolgens de transactie toe te voegen aan de DAG en daarmee de voorgaande transacties te bevestigen waarop voortgebouwd is.