Gulden POW2 eenvoudig uitgelegd

Aat de Kwaasteniet
4 min readNov 22, 2020

For English version click here

Mining

Gemiddeld wordt bij Gulden 1 keer in de 150 seconden een blok met de nieuwe transacties toegevoegd aan de blockchain. Dit wordt gedaan door de zogenaamde “Miners”. Alle miners proberen een antwoord te raden op een, door het Gulden netwerk opgegeven som en degene die het antwoord als eerste vindt wordt toegestaan om het blok met transacties te controleren en aan de chain toe te voegen. Als beloning vangt de miner een “mining reward”. Bij Gulden bedraagt die beloning nu 50 Gulden. We noemen dit een zogenaamd PoW (Proof of Work) systeem. Veel crypto munten, zoals Bitcoin, Litecoin en Dogecoin gebruiken dit zelfde systeem maar allemaal met kleine variaties op het basissysteem.

Witness systeem

Witness is een systeem wat door Gulden zelf is ontwikkeld om de Gulden blockchain zo veilig mogelijk te maken.
Maar hoe werkt het witness systeem eigenlijk?
Zoals eerder verteld controleert de miner de transacties, maar wie controleert de miners? Dat zijn nu simpelweg gezegd de witnessen.
Transacties moeten goedgekeurd worden door de miners en het werk van de miners wordt weer door de Witness accounts verder verwerkt en gecontroleerd.

Witness accounts zijn accounts waarin Gulden voor kortere of langere tijd zijn vastgezet. De tijdspanne is minimaal 1 maand tot maximaal 3 jaar. Deze Gulden zijn gedurende die periode door de eigenaar niet meer te verplaatsen en zijn dus in feite buiten roulatie gebracht.

Alle witness accounts doen bij ieder blok mee met een loterij en de winnaar mag als “getuige” optreden bij het goedkeuren van de transacties in het betreffende blok. Hoe vaak een witnessaccount de loterij wint wordt bepaald door de “zwaarte” oftewel de witnessweight van het account. Hoe meer Gulden in het witness account geplaatst worden en hoe langer de duur van de vastzet periode is, hoe hoger de witnessweight van het account is. Voor dit werk ontvangt de witness, bij uitverkiezing dus, een beloning de zogenaamde witness reward die 30 Gulden bedraagt.

Dit gecombineerde werk van miners en witness accounts noemen we bij Gulden “Proof of Work and Witness” oftewel PoW2

De wisselwerking tussen miner en witness

  • Er zijn twee verschillende klassen van blokgeneratoren op het netwerk; de PoW-miners en de witnessaccounts.
  • Het minen van blokken wordt door PoW miners gedaan op de gebruikelijke manier die iedereen gewend is van PoW-systemen.
  • Wanneer een miner een blok vindt, wordt die aan het netwerk voorgelegd.
  • Nodes van het Gulden netwerk valideren, accepteren en geven het blok door zoals gewoonlijk, maar het wordt nog niet toegevoegd aan het uiteinde van de blockchain.

Dit blok bevindt zich op dit punt in wat we een “pre witness state” noemen.

  • Bij ontvangst van een pre-witnessed blok zal een uitgekozen witness het blok gaan ondertekenen met behulp van zijn private-key die het omzet in een witness blok.
  • De eerste stap van de witness werkzaamheden bestaat uit het toevoegen van extra gegevens aan het blok, dit omvat een tijdstempel van de witness, eventuele extra transacties (met inachtneming van de bestaande limiet voor de grootte van het blok) en een transactie om de witnessfee uit te betalen.
  • De witness probeert vervolgens het blok te ondertekenen.
  • Zodra een geldig witnessblok is aangemaakt, wordt het opnieuw uitgezonden naar het netwerk.
  • Zodra de nodes een geldig witnessblok ontvangen, voegen ze het toe aan het top van de blockchain en alles verloopt zoals gewoonlijk vanaf hier opnieuw, PoW miners te proberen om een nieuw blok te minen, en de cyclus…herhaalt zich.

De voordelen van PoW2

Dit PoW2 systeem levert een zeer veilig werkende blockchain op die bestand is tegen de grootste aanvallen.

De bekendste vorm van een blockchain aanval is de zogenaamde “doublespend via >50% attack”. Hierbij zal een kwaadwillende persoon of groep van personen proberen om meer dan 50% van transactiegoedkeuringscapaciteit in handen te krijgen waarbij er dus een kans van 1 op 2 ontstaat dat de aanvallers een Gulden tweemaal kunnen uitgeven (na 1 bevestiging) zonder dat de andere transactiegoedkeurders daar wat aan kunnen doen of zelfs maar iets van merken.

Zoals gezegd wordt het goedkeuren van een transactie dus door twee mechanismen bepaald, zowel door de miner alsook de Witness. Om dan een >50% attack te kunnen uitvoeren op de Gulden blockchain is het nodig om beide systemen aan te vallen. En om evenveel kans op succes te krijgen voor een double spend als bij de enkel transactiegoedkeuring systemen is het dus nodig om niet >50% van de miningpower te controleren of >50% van het aantal munten in witness accounts te bezitten maar van beide systemen meer dan 71%. (0,71 * 0,71 = 0,5 dus 50% kans).

Omdat veel Guldenbezitters hun Gulden vastgezet hebben in witness is het moeilijk om een 71% meerderheid te krijgen in witness. Er staan nu meer dan 100 miljoen Gulden vast in witness. Om een 71% meerderheid te krijgen moet een aanvaller dus zelf meer dan 220 miljoen Gulden extra in witness vast zetten. Naast dat dit schier onmogelijk is zou de koers van de Gulden sky high gaan als er zoveel Gulden gekocht moet worden door de aanvaller.
En omdat de aanvaller de Gulden vast moet zetten lijkt het als een bankovervaller die zijn eigen bank gaat beroven. Een dergelijke aanval is dus theoretisch wel, maar in werkelijkheid niet mogelijk.

Als u iets dieper op de materie in wil gaan kan ik u het volgende verhaal voor stellen: https://medium.com/@aat.de.kwaasteniet/mining-en-witnessrewards-uitleg-over-de-gulden-infrastructuur-a0055b8620f0

--

--