Hedera Hashgraph Swirlds Achtergrond

Wat is Hashgraph van Swirlds?

Door Derek op di, 25/09/2018 - 06:00

Hedera Hashgraph is een revolutionaire technologie die de potentie heeft om blockchain en (bijna) alle huidige cryptocurrency's overbodig te maken. Hedera Hashgraph is net als Directed Acylic Graph (DAG) een totaal nieuwe technologie die als belangrijkste eigenschap heeft dat het vele malen beter schaalbaar is dan blockchain. Hashgraph is in het begin wat lastig te begrijpen maar we hebben het in deze uitleg zo simpel mogelijk verwoord. Misschien dat het alsnog nodig is om dit artikel meerdere malen te lezen, maar dan snap je het wel echt goed! Aan het einde weet jij in ieder geval wat Hashgraph is, hoe het werkt en wat de voordelen ten opzichte van blockchain zijn! 

Lees snel:

Wat is Hashgraph? In het kort

Zoals gezegd is Hashgraph een nieuw consensus protocol dat beweert superieur te zijn aan blockchain. Het heeft een unieke database-structuur waardoor het in theorie stukken beter geschikt is voor massa-adoptie dan de huidige blockchaintechnologie. Het grootste nadeel momenteel is dat de uitvinder ervan, Leemon Baird, patent erop heeft aangevraagd en voorlopig nog niet van plan is de technologie met de buitenwereld te delen. Het patent is op dit moment in bezit van Baird zijn bedrijf Swirlds. 

Dit betekent ook dat er nog geen cryptocurrency gekoppeld is aan de technology waarin we zouden kunnen investeren. Daarnaast is Hedera Hashgraph nog volop in ontwikkeling, dus het is nog afwachten wat het ons gaat brengen.

Hashgraph is een oplossing voor de schaalbaarheidsproblemen waar Bitcoin en blockchain in het algemeen tegenaan blijven lopen. Door middel van twee eeuwenoude protocollen beweert Hashgraph 250.000 transacties per seconde aan te kunnen, terwijl het netwerk volledig decentraal blijft. Dit is naast sharding en DAG een van de weinige technologieën die blockchain kan schalen zonder het decentrale karakter aan te tasten. De twee protocollen die hiervoor gebruikt worden zijn het "Gossip over Gossip Protocol" en het "Voting Protocol". Hierover vertellen we je later meer als we je uit gaan leggen hoe Hedera Hashgraph werkt. Laten we eerst beginnen met de voordelen.

Image

Wat zijn de voordelen van Hashgraph?

Voordat we naar het lastige gedeelte gaan om Hedera Hashgraph uit te leggen, is het beter om te beginnen met de voordelen, zodat we weten waarom iedereen zo lyrisch over Hashgraph is. De technologie wordt gezien als een echte uitdager van blockchain en het heeft zelfs de potentie om blockchain volledig te vervangen. De voordelen van de technologie ten opzichte van blockchain zijn:

  • Het is snel. Hashgraph kan 250.000 transacties per seconde aan.
  • De technologie is eerlijk. Het kan niet gemanipuleerd worden.
  • Het kost weinig ruimte. Voor minder dan 1 GB ruimte kan je het al runnen tegenover de 60 GB ruimte die nodig is voor de blockchain van Bitcoin.
  • Hashgraph is veilig. De Byzantine agreement werkt. Bij blockchain zijn er honderden mini-vertakkingen nodig, omdat het Byzantine agreement niet voor 100% werkt. Deze vertakkingen zijn bij Hashgraph niet nodig.
  • Het is goedkoop
  • Hashgraph is schaalbaar.

Hashgraph versus blockchain

Voordat we kunnen uitleggen hoe Hashgraph in elkaar steekt, is het van belang om nog even het geheugen op te frissen over hoe blockchain ook alweer werkt. Je kan voor een meer uitgebreide uitleg onze uitleg over blockchain lezen. Voor nu focussen we even op de belangrijkste eigenschappen die verschillen met Hashgraph en gaan we ervan uit dat je de basis van blockchain begrijpt. 

Blockchain is een vorm van een "distributed ledger technology". Dit betekent dat het een grootboek is dat verspreid wordt over verschillende computers of nodes om het in de gaten te houden. Hierdoor is het decentraal en veilig. Om ervoor te zorgen dat dit allemaal goed gebeurt, worden de transacties via de blockchain netjes geordend. De grootste uitdaging zit er dan ook in dat dit ordenen op een juiste wijze gebeurt. Als dit niet goed gaat, wordt het voor kwaadwillenden eenvoudig om hetzelfde geld twee keer uit te geven.

Om het allemaal goed te laten verlopen, dient het netwerk het met elkaar eens te zijn dat de volgorde van de transacties klopt. In de cryptowereld zeggen we ook wel dat ze consensus over de geschiedenis van de blockchain dienen te bereiken.

Er zijn verschillende manieren waarop ze consensus kunnen bereiken, maar de meest bekende is Proof of Work (PoW) van Bitcoin. Zo'n consensus algoritme is van essentieel belang, omdat het anders voor iedereen mogelijk is om totaal willekeurig blocks aan de blockchain toe te voegen. Nu komt het grootste probleem. PoW werkt op basis van Byzantine Fault Tolerance (BFT). Dit is een ingewikkelde techniek die een artikel op zich zou kosten om uit te leggen dus laten we voor nu focussen wat het betekent en niet hoe het werkt. In feite betekent het drie dingen:

  1. We gaan consensus bereiken (we gaan het met elkaar eens zijn over de volgorde van transacties).
  2. We zullen weten wanneer we consensus hebben bereikt.
  3. We hebben het nooit fout. Wiskundig gezien wordt gegarandeerd dat alle andere nodes precies dezelfde consensus gaan bereiken als wij.

Wat is het grote probleem dan? In de huidige blockchaintechnologie werkt Byzantine Fault Tolerance niet volledig. Het komt regelmatig voor dat er twee blokken op precies dezelfde tijd gemined worden, waardoor er een tijdelijke afsplitsing/fork ontstaat. Er bestaan dan dus opeens twee verschillende blockchains. Momenteel is hier wel een slimme oplossing op gevonden. Er wordt namelijk automatisch bepaald welke van deze twee blockchains de beste is. Dit doen miners door te kijken naar welke blockchain de langste is en welke de meeste ondersteuning krijgt van andere miners.

Dit is dan ook de reden dat het 10 minuten duurt voordat er een nieuw block gemined kan worden. Deze bewuste vertraging zorgt ervoor dat de tijd genomen kan worden om de beste blockchain te bepalen. Hierdoor is Bitcoin zo veilig als dat het is. Helaas verspillen we dankzij deze oplossing wel een hoop geld en tijd om het netwerk bewust trager te maken. Het is zeker geen slechte oplossing, maar het kan dus veel beter. Laten we daarom gaan kijken hoe Hashgraph hierin verschilt met blockchain.

De grootste verschillen

De drie grootste verschillen tussen blockchain en Hedera Hashgraph zijn:

  1. De manier waarop data worden opgeslagen
  2. De datastructuur
  3. Het protocol

 

Opslaan van data

In een blockchain worden alle data van een transactie opgeslagen in een block. Hierin staan:

  • Alle transacties die in een bepaalde periode zijn gemaakt
  • Een tijdstempel
  • De hash van het specifieke block
  • De hash van het vorige block

In een Hashgraph worden alle data opgeslagen in events. Hierin staan:

  • Alle transacties die in een bepaalde periode zijn gemaakt
  • Een tijdstempel
  • Twee hashes van twee verschillende 'parent events'

Onderstaande afbeelding kan dat wellicht verduidelijken.

Image

Datastructuur

Met blockchain wordt een consensus algoritme gedraaid, zodat de node/miner geselecteerd kan worden die het recht krijgt om een bepaald block van transacties toe te voegen aan de blockchain. Bij Hashgraph werkt dit totaal verschillend. Hier communiceren alle nodes met elkaar ("gossiping", wat roddelen betekent) wat de laatste staat is van alle informatie die ze bezitten. Al deze communicatie wordt vastgelegd door een diagram (graph, vandaar de naam) te bouwen van connecties. Onderstaande afbeelding laat dit wat duidelijker zien.

Image

Het protocol

Zoals gezegd, zijn er twee protocollen waar Hashgraph gebruik van maakt:

  1. Het gossip protocol
  2. Het voting protocol

Het gossip protocol wordt door zowel blockchain als door Hashgraph gebruikt, maar door beide op een geheel andere manier. Dit protocol houdt in dat nodes met elkaar 'roddelen'. Hiermee wordt bedoeld dat de nodes elkaar alle informatie vertellen en op deze manier verspreidt informatie zich snel door het netwerk. Iedere keer dat een node een nieuwe transactie binnenkrijgt, vertelt hij dit meteen door aan zijn buren. Echte roddeltantes dus. Bij blockchain hebben de blokken maar twee buren, terwijl bij Hashgraph het mogelijk is dat er elke keer weer andere buren zijn.

Het voting protocol is wat Hashgraph onderscheidt van blockchain. Hierboven hebben we al uitgelegd waarom de blockchain er 10 minuten over doet om een block goed te keuren. Dit goedkeuren kost naast veel tijd ook nog eens ongelooflijk veel energie. Momenteel kost het minen van een block van Bitcoin evenveel energie als ruim 8 huishoudens een dag van genoeg elektriciteit voorzien. Maar hoe werken deze protocollen dan precies?

Hoe werkt hashgraph?

Zoals we eerder al kort benoemden, komt de naam Hashgraph voort uit het feit dat het als een soort diagram werkt. Diagram is vertaald naar het Engels "graph". Het proces is redelijk ingewikkeld en we gaan dit zo simpel mogelijk voor je proberen uit te leggen aan de hand van deze uitleg van Swirlds. 

Fase 1: het creëren van een nieuwe ronde

De Hashgraph wordt verdeeld in verschillende rondes. Op de afbeelding hieronder kan je zien dat er 4 rondes bestaan. Zo'n ronde wordt gecreëerd als een event (snelle reminder: een Hashgraph werkt met events waar een blockchain met blocks werkt) in staat is om meer dan ⅔ van van de eerste events van de huidige ronde kan verbinden met connectiepaden die meer dan ⅔ van het aantal nodes verbinden. Geen zorgen, wij moesten deze zin ook meer dan één keer lezen voordat we hem goed snapten. We gaan het voor je verduidelijken met een paar voorbeelden en dan wordt het vanzelf duidelijk wat er met die zin bedoeld wordt.

Wanneer bovenstaande gebeurt, dan zeggen ze bij Hashgraph ook wel dat een event "sterk" een ander event "ziet" ("strongly sees"). Je dient dus op de volgende dingen te letten:

  1. De eerste events van een ronde (zie alle rode bolletjes op onderstaande afbeelding).
  2. De connectiepaden (zie de rode en blauwe lijn op onderstaande afbeelding).
  3. Het totaal aantal nodes (zie de vier rode bolletjes helemaal onderaan de afbeelding).

Als we kijken naar het voorbeeld hieronder dan zien we event B4 bovenin staan. Dit is node B in ronde 4. Zo'n eerste event van een ronde noemen we ook wel een "witness". Het totaal aantal nodes is 4 (A, B, C en D). De connectiepaden zijn weergeven met de kleuren blauw en rood. We zien dat de connectiepaden van B via D naar A verbonden zijn. Dit betekent dat de connectiepaden door ¾ (drie van de vier) van het aantal nodes gaan. We kunnen dus zeggen dat B4 "strongly sees" A3. In feite was alleen het blauwe pad al genoeg geweest en was het rode pad niet eens nodig om tot deze conclusie te komen. 

Image

 

Nog een voorbeeld om het echt goed te begrijpen. We zien in de afbeelding hieronder ook dat B4 strongly sees B3. Het blauwe pad verloopt namelijk via node D en B, terwijl het rode pad via node A en B verloopt. Er is dus weer minimaal ¾ van het aantal nodes verbonden.

Image

 

Wanneer het gebeurt dat B4 minstens 3 van de 4 events "sterk ziet", wordt er dus een nieuwe ronde gecreëerd. Je kan zelf nagaan of dat het geval is bij dit voorbeeld (het antwoord is "ja"). 

Fase 2: consensus over de vorige ronde

In de volgende fase gaan de events van de laatste complete ronde na of ze het eens zijn met de data in de voorgaande ronde. Ze gaan dus na of er consensus is met een bepaald event. Deze consensus is bereikt wanneer ze alle 4 verbonden zijn met het specifieke event in de voorgaande ronde. Misschien weer een beetje een abstracte uitleg, dus we pakken het voorbeeld er weer bij.

In het eerste voorbeeld hieronder is te zien dat alle nodes uit ronde 3 verbonden zijn met witness B2. Er wordt dus consensus bereikt over event B2.

Image

 

Het tweede voorbeeld hieronder laat zien dat het ook kan voorkomen dat er geen consensus wordt bereikt over een bepaalde witness. In dit geval gebeurt dit bij C2. Alleen C3 is verbonden met C2. Alle andere events in ronde 3 hebben geen verbinding met C2. Je zou kunnen zeggen dat A3 verbinding met C2 heeft, maar dit is niet het geval. De verbinding moet namelijk altijd naar beneden verlopen en mag dus niet terug naar boven gaan. Over C2 wordt dus geen consensus bereikt.

Image

 

Deze wijze van consensus bereiken zorgt ervoor dat het niet nodig is om een hele blockchain op je computer op te slaan. De events hebben maar een beperkte hoeveelheid informatie nodig om ervan uit te kunnen gaan dat er al dan niet consensus is. Mocht je graag meer de technologische diepte in willen gaan, dan raden we je aan om naar de website van hashgraph en Swirlds zelf te gaan en hun uitgebreide uitleg te lezen.

Kritiek

Hashgraph is een zeer interessant consensus protocol om in de gaten te houden. Ze hebben in privé en statische settings laten zien dat ze veel transacties per seconde aan kunnen. Helaas hebben we echter nog geen idee wat er gebeurt in een publieke setting. De kans is zeker aanwezig dat het dezelfde problemen zal ondervinden als de huidige blockchains als het zo veilig mogelijk wil zijn. 

Een ander groot nadeel van Hashgraph is dat de technologie momenteel gepatenteerd is en dat de makers ervan het dus vooral voor zichzelf willen gebruiken. Helaas heeft dat weinig met de idealistische ambitie van de cryptogemeenschap te maken. Het is ironisch dat Swirlds een decentrale oplossing heeft ontwikkeld die ze centraal willen gaan exploiteren. 

Het laatste nadeel is momenteel nog niet zo groot, maar kan het wel worden. De technologie is in theorie beter schaalbaar dan blockchain en zelfs Visa, maar het is nog lang niet genoeg om the Internet of Things en het wereldwijde betaalverkeer aan te kunnen. Het is een enorm goede stap richting massa-adoptie, maar het lijkt nog niet genoeg te zijn om voor de absolute lange termijn. 

Conclusie

We zijn erg onder de indruk van het nieuwe consensus protocol dat Hedera Hashgraph heet. Het is een oplossing die stukken beter lijkt te werken dan blockchain zonder dat het de veiligheid in gevaar brengt. Bovendien is het daadwerkelijk decentraal.

Helaas is het bedrijf dat het patent erop heeft wel centraal en het lijkt nog niet van plan om het publiek mee te laten genieten van hun oplossing. We zijn benieuwd hoe ze dit in de toekomst toch willen doen. In principe zijn we absoluut niet tegen het patenteren van uitvindingen. Het is begrijpelijk dat ze Hedera Hashgraph willen beschermen. Het grootste gevaar is namelijk dat een ander bedrijf je technologie gaat namaken en vervolgens hier dan wél patent op aanvraagt, waardoor je zelf kan stoppen.

We vinden het alleen jammer dat er geen plannen zijn om echt als een decentraal platform door te gaan, maar misschien komt dat in de toekomst nog. Het is in ieder geval duidelijk dat Hedera Hashgraph aan populariteit wint en het de interesse wekt van steeds meer mensen. Zodra er vorderingen zijn, zullen wij dit zo snel mogelijk op de website plaatsen, dus blijf ons vooral in de gaten houden!

Reacties

Er zijn nog geen reacties.

Log in of Registreer om een reactie te plaatsen!