Waarom is blockchain veilig

Waarom is blockchain veilig? Simpele uitleg voor beginners

Waarom blockchain zo veilig is, is bij veel mensen helemaal niet bekend. En dat is best raar. Blockchain wordt namelijk gezien als een populaire technologie die in de toekomst veel kan gaan betekenen.

Daarbij wordt er ook volop geld verdiend aan blockchain. Zelfs door de mensen die eigenlijk niet weten waarom het nou zo veilig is. Jij hoeft je geen zorgen te maken over de veiligheid van je cryptomunten, want in dit artikel leg ik haarfijn uit waarom blockchain zo veilig is.

Bekijk snel

Waarom is blockchain veilig?

Blockchain staat bekend om zijn veiligheid. Het idee achter blockchain is namelijk om veiligheid te bieden door gebruik te maken van cryptografie en redundantie via consensus algoritmes en decentralisatie van het hele systeem. Klinkt nog een beetje vaag, hè? Ik zal het je uitleggen.

Zoals je waarschijnlijk wel weet, bestaat een blockchain uit blokken die allemaal aan elkaar gelinkt zijn. In een blok zitten transacties en andere data. Denk bijvoorbeeld aan alle transacties van de cryptocurrency, of data uit de smart contracts

Alle blokken zijn aan elkaar gelinkt

Als een blok klaar is, wordt deze gehasht. Simpel gezegd betekent dat dat deze blokken worden omgezet naar een bepaalde wiskundige code, zodat ze beveiligd zijn. Deze code is gebaseerd op de inhoud van het blok. Mocht de inhoud van het blok aangepast worden, dan veranderd ook de hash. Maar naast transacties en data, wordt de hash van het vorige blok óók opgeslagen in het nieuwe blok. En dat gaat zo maar door, waardoor er een keten van blokken ontstaat, die allemaal aan elkaar gelinkt zijn. De blockchain dus.

Doordat ieder blok de hash van het vorige blok bevat, is het onmogelijk om transacties of data uit het verleden nog te wijzigen. Want op het moment dat iemand die inhoud van een blok uit het verleden aanpast, verandert de hash. Dat zou betekenen dat deze hash niet meer klopt met de hash die in het blok erna is opgeslagen. De ketting breekt dus. Iedereen in het netwerk van de blockchain zal dit vervolgens opmerken.

Hierdoor is fraude bijvoorbeeld onmogelijk. Als ik vandaag naar jou 1 Bitcoin overmaakt, dan kan ik dat niet meer terugdraaien. Ik zou hiervoor namelijk eerst het block moeten de-hashen, de inhoud aanpassen, en dan weer terug-hashen. Maar de nieuwe hash, is anders dan de vorige. Dat kan dus niet.

Wat gebeurt er als ik toch de geschiedenis van de blockchain aanpas?

Er zijn natuurlijk genoeg mensen die dit willen proberen. Wat zou er dan gebeuren?

Op het moment dat iemand een blok aanpast, treed het consensus algoritme in werking. Dit is het algoritme dat er voor zorgt dat iedere node in het netwerk van de blockchain elkaar controleert op de regels die in dit algoritme zijn opgenomen. Het consensus algoritme bepaalt ook of een transactie in de blockchain rechtmatig is.

Dit algoritme zal dus opmerken dat er iets niet klopt. Vervolgens zal degene die hier verantwoordelijk voor is, een straf krijgen (de straf is voor iedere blockchain anders). Er zijn verschillen consensus algoritmes, zoals Proof of Work, Proof of Stake en Proof of Authority.

Te veel blocks

Een extra beveiliging is het aantal blocks dat er al is. De Bitcoin blockchain mined bijvoorbeeld 144 blokken per dag (ongeveer iedere 10 minuten 1 blok). In totaal zijn er al 649.013 blokken gemined (in 2020). Wanneer je dus een blok van een week geleden wilt aanpassen moet je dus ook de minimaal 1000 blokken erna aanpassen, zodat de hash klopt. En dat is in combinatie met onderstaande twee punten onmogelijk.

Digital Signature

Naast dat de blokken in de blockchain worden beveiligd door middel van een hash, gebeurt dit ook nog eens met cryptografie. Iedere transactie die in de blockchain plaatsvindt, wordt gesigneerd door de private key en geverifieerd met een public key. Beide keys zijn eigenlijk een korte code die bestaat uit cijfers. Dit wordt ook wel assymetric cryptography genoemd.

Iedereen die in de blockchain zit, heeft een private key en een public key. De private key is, zoals de naam het al zegt, privé. Niemand mag weten hoe deze private key eruit ziet. Ook jij hebt een private key als je bijvoorbeeld een transactie maakt. Stel dat jij 1 Bitcoin overmaakt naar iemand, dan heb je altijd de public key van de ontvanger nodig. Op het moment dat jij je transactie verzend, wordt deze gesigneerd met jouw private key. Vervolgens wordt de public key gebruikt om de transactie the verifiëren, zodat de Bitcoin bij de rechtmatige eigenaar uitkomt.

Dit hele proces noemen we ook wel de digital signature. Iedereen die een transactie maakt, maakt hier gebruik van. Op deze manier weet de blockchain dat iemand geautoriseerd is om de transactie te maken. Zo kan iemand anders dus niet jouw Bitcoins uitgeven. Hier zou hij jouw private key voor nodig hebben, en die heeft niemand anders dan jijzelf.

Stel nou dat iemand jouw transactie onderschept, en het adres waarnaar de Bitcoin wordt verstuurd wijzigt. Wat gebeurt er dan? Op dat moment zal de signature ongeldig worden, waarna de block niet meer gevalideerd kan worden. De transactie moet dan opnieuw gemaakt worden. In dit geval verlies je geen Bitcoins.

Blockchain is gedecentraliseerd

De meeste applicaties maken gebruik van een gecentraliseerd systeem. Denk bijvoorbeeld aan een website. Een website staat opgeslagen op 1 webserver, en iedereen ter wereld moet de website bij deze webserver opvragen. Hierdoor is een website een erg makkelijke prooi voor hackers. Ze hoeven namelijk alleen maar die ene webserver te infecteren met malware om iedereen die deze website bezoekt te hacken. Een gecentraliseerd systeem geeft iemand dus toegang tot veel apparaten.

Bij een blockchain werkt dit wat anders. Blockchain maakt namelijk gebruik van een gedecentraliseerd systeem. De blockchain staat niet opgeslagen op 1 server, maar op de apparaten van íedere node die in het netwerk van de blockchain zit. Er wordt geschat dat er in het blockchain netwerk van Bitcoin ongeveer 10.000 nodes actief zijn.

Wanneer iemand de blockchain dus wilt aanpassen, zal hij dit moeten doen bij al die 10.000 nodes. Want op het moment dat hij dit maar bij 1 node doet, zullen de overige 9.999 nodes opmerken dat er iets niet klopt. Het is zo dat minimaal 51% van blockchain het ergens over eens moet zijn voordat het als waarheid wordt gezien. Als 6.000 nodes dus vinden dat iemand malafide transacties uitvoert, en 4.000 nodes dat niet vinden, zullen de 6.000 hun gelijk krijgen.

Bevat een blockchain dan helemaal geen kwetsbaarheden?

Het is onmogelijk om een systeem te creëeren dat geen enkele kwetsbaarheid bevat. Dat geldt dus ook voor blockchain. De technologie is namelijk in zo'n snelle ontwikkeling, dat er over een paar jaar misschien wel software is die razendsnel de inhoud en hashes van blocks kan veranderen.

In het verleden zijn er dan ook verschillende kwetsbaarheden in blockchain gevonden. De belangrijkste en meest bekende zijn waarschijnlijk de Race Attack, 51% Attack en de Finney Attack.

Race Attack

Een Race Attack wordt uitgevoerd door twee transacties op dezelfde tijd, vanaf twee verschillende apparaten te versturen. De eerste transactie wordt naar het slachtoffer gestuurd, die de betaling accepteert en vervolgens zijn product levert. In dit voorbeeld zou het slachtoffer dan een webshop-eigenaar kunnen zijn die betalingen in Bitcoin accepteert.

De tweede transactie wordt naar het netwerk verzonden, maar wordt niet geaccepteerd. Hierdoor wordt ook de eerste transactie niet meer geaccepteerd, waardoor de aanvaller het product heeft ontvangen zonder er daadwerkelijk voor hebben betaald.

51% Attack

De bekendste kwetsbaarheid is waarschijnlijk de 51% Attack. Deze is hierboven al eens besproken. Een blok wordt geaccepteerd wanneer er maar liefst 51% van de miners het met de acceptatie eens is. Wanneer minder 50% van de miners het over de acceptatie eens is, wordt het blok geweigerd.

Het ding is dus, dat wanneer iemand maar liefst 51% van het blockchain netwerk in zijn bezit heeft, hij in de meerderheid is. Hij kan dan dus doen wat hij wilt. Op deze manier kan er ook historische data gewijzigd worden. Of kunnen er malafide blokken geaccepteerd worden.

Het kost erg veel energie om zo'n aanval uit te voeren, omdat een aanvaller veel machines nodig zal hebben om zo'n aanval te kunnen uitvoeren. Natuurlijk kunnen aanvallers zich ook in grote groepen scharen, om zo samen een 51% aanval uit te voeren.

In theorie is het mogelijk om deze aanval uit te voeren in bijvoorbeeld de Bitcoin blockchain. Er zijn namelijk grote mining pools actief, die samen blokken minen. Mochten zij samen ooit meer dan 51% van het netwerk bezitten, betekent dat het einde van de veiligheid van Bitcoin.

Finney Attack

Bij een Finney Attack is de aanvaller een miner. Eerst maakt hij een transactie, maar voordat hij deze transactie naar het netwerk stuurt, mined hij zijn eigen transactie. Vervolgens gebruikt hij dezelfde waarde voor de tweede transactie, waarna hij beide transacties het netwerk in stuurt. Op deze manier kan hij de waarde die hij in de transactie verwerkt meerdere keren gebruiken.

Blockchain veilig? Echt wel!

Je hebt nu gelezen waarom blockchain als een veilige technologie wordt gezien. Er zijn natuurlijk kwetsbaarheden, maar die wegen niet op tegen die veiligheid die blockchain biedt. Deze kwetsbaarheden kunnen namelijk alleen in uitzonderlijke situaties uitgevoerd worden. Bijna iedere blockchain heeft zich beveiligd tegen de kwetsbaarheden die bekend zijn. Is blockchain dus veilig? Echt wel!


Starten met crypto en geen idee waar je moet beginnen?

Kom dan naar onze gratis online crypto training!

Bekijk hier wat je gaat leren!

Image
Online Bitcoin Training van allesovercrypto