Hoe veilig is blockchain eigenlijk?

Meneer Tech





Het hele punt van het gebruik van een blockchain is om mensen - in het bijzonder mensen die elkaar niet vertrouwen - waardevolle gegevens op een veilige, fraudebestendige manier te laten delen. Dat komt omdat blockchains gegevens opslaan met behulp van geavanceerde wiskunde en innovatieve softwareregels die voor aanvallers extreem moeilijk te manipuleren zijn. Maar de beveiliging van zelfs de best ontworpen blockchain-systemen kan falen op plaatsen waar de mooie wiskunde- en softwareregels in contact komen met mensen, die bekwame valsspelers zijn, in de echte wereld, waar dingen rommelig kunnen worden.

Om te begrijpen waarom, begin met wat blockchains in principe veilig maakt. Bitcoin is een goed voorbeeld. In de blockchain van Bitcoin zijn de gedeelde gegevens de geschiedenis van elke Bitcoin-transactie die ooit is gemaakt: een grootboek. Het grootboek wordt in meerdere exemplaren opgeslagen op een netwerk van computers, knooppunten genaamd. Elke keer dat iemand een transactie naar het grootboek indient, controleren de knooppunten of de transactie geldig is - dat degene die een bitcoin heeft uitgegeven, een bitcoin te besteden heeft. Een subset van hen strijdt om geldige transacties in blokken te verpakken en toe te voegen aan een reeks eerdere. De eigenaren van deze nodes worden miners genoemd. Mijnwerkers die met succes nieuwe blokken aan de keten toevoegen, verdienen bitcoins als beloning.

Het blockchain-probleem

Dit verhaal maakte deel uit van ons nummer van mei 2018



  • Zie de rest van het nummer
  • Abonneren

Wat dit systeem theoretisch fraudebestendig maakt, zijn twee dingen: een cryptografische vingerafdruk die uniek is voor elk blok, en een consensusprotocol, het proces waarbij de knooppunten in het netwerk overeenstemming bereiken over een gedeelde geschiedenis.

De vingerafdruk, een hash genaamd, kost in eerste instantie veel rekentijd en energie om te genereren. Het dient dus als bewijs dat de miner die het blok aan de blockchain heeft toegevoegd, het rekenwerk heeft gedaan om een ​​bitcoin-beloning te verdienen (om deze reden zou Bitcoin een proof-of-work-protocol gebruiken). Het dient ook als een soort zegel, omdat voor het wijzigen van het blok een nieuwe hash moet worden gegenereerd. Het is echter eenvoudig om te controleren of de hash overeenkomt met het blok, en zodra de knooppunten dat hebben gedaan, werken ze hun respectieve kopieën van de blockchain bij met het nieuwe blok. Dit is het consensusprotocol.

Het laatste beveiligingselement is dat de hashes ook dienen als de links in de blockchain: elk blok bevat de unieke hash van het vorige blok. Dus als je met terugwerkende kracht een item in het grootboek wilt wijzigen, moet je niet alleen een nieuwe hash berekenen voor het blok waarin het zich bevindt, maar ook voor elk volgend blok. En je moet dit sneller doen dan de andere nodes nieuwe blokken aan de keten kunnen toevoegen. Dus tenzij je computers hebt die krachtiger zijn dan de rest van de gecombineerde knooppunten (en zelfs dan is succes niet gegarandeerd), zullen alle blokken die je toevoegt in strijd zijn met bestaande blokken en zullen de andere knooppunten je wijzigingen automatisch weigeren. Dit is wat de blockchain fraudebestendig of onveranderlijk maakt.



Creatieve manieren om vals te spelen

Tot zover de theorie. Het in de praktijk toepassen is moeilijker. Alleen al het feit dat een systeem werkt zoals Bitcoin - zoals veel cryptocurrencies doen - betekent niet dat het net zo veilig is. Zelfs wanneer ontwikkelaars beproefde cryptografische tools gebruiken, is het gemakkelijk om ze per ongeluk samen te voegen op manieren die niet veilig zijn, zegt Neha Narula, directeur van MIT's Digital Currency Initiative. Bitcoin bestaat het langst, dus het is het meest grondig getest.

Mensen hebben ook creatieve manieren gevonden om vals te spelen. Emin Gün Sirer en zijn collega's van de Cornell University hebben aangetoond dat er een manier is om een ​​blockchain te ondermijnen, zelfs als je minder dan de helft van de mijnkracht hebt van de andere miners. De details zijn enigszins technisch, maar in wezen kan een egoïstische mijnwerker een oneerlijk voordeel behalen door andere knooppunten voor de gek te houden door tijd te verspillen aan reeds opgeloste crypto-puzzels.

Een andere mogelijkheid is een eclipsaanval. Knooppunten op de blockchain moeten constant in communicatie blijven om gegevens te kunnen vergelijken. Een aanvaller die erin slaagt de communicatie van één knooppunt over te nemen en het voor de gek houdt om valse gegevens te accepteren die van de rest van het netwerk lijken te komen, kan het ertoe brengen middelen te verspillen of valse transacties te bevestigen.



Tot slot, hoe fraudebestendig een blockchain-protocol ook is, het bestaat niet in een vacuüm, zegt Sirer. De cryptocurrency-hacks die de recente krantenkoppen drijven, zijn meestal mislukkingen op plaatsen waar blockchain-systemen verbinding maken met de echte wereld, bijvoorbeeld in softwareclients en applicaties van derden.

Hackers kunnen bijvoorbeeld inbreken in hot wallets, op internet aangesloten applicaties voor het opslaan van de persoonlijke cryptografische sleutels die iedereen die cryptocurrency bezit nodig heeft om het uit te geven. Portefeuilles die eigendom zijn van online cryptocurrency-uitwisselingen zijn hoofddoelen geworden. Veel beurzen beweren dat ze het grootste deel van het geld van hun gebruikers in koude hardware-wallets bewaren - opslagapparaten die zijn losgekoppeld van internet. Maar zoals de overval in januari van meer dan $ 500 miljoen aan cryptocurrency van de in Japan gevestigde beurs Coincheck aantoonde, is dat niet altijd het geval.

Misschien wel de meest gecompliceerde contactpunten tussen blockchains en de echte wereld zijn slimme contracten, dit zijn computerprogramma's die zijn opgeslagen in bepaalde soorten blockchain die transacties kunnen automatiseren. In 2016 maakten hackers gebruik van een onvoorziene gril in een slim contract geschreven op de blockchain van Ethereum om 3,6 miljoen ether te stelen, destijds ongeveer $ 80 miljoen waard, van de Decentralized Autonomous Organization (DAO), een nieuw soort op blockchain gebaseerd investeringsfonds.



Omdat de DAO-code op de blockchain leefde, moest de Ethereum-gemeenschap een controversiële software-upgrade, een hard fork genaamd, pushen om het geld terug te krijgen - in wezen een nieuwe versie van de geschiedenis creëren waarin het geld nooit werd gestolen. Onderzoekers ontwikkelen nog steeds methoden om ervoor te zorgen dat slimme contracten niet defect raken.

De centralisatievraag

Een vermeende veiligheidsgarantie van een blockchain-systeem is decentralisatie. Als kopieën van de blockchain worden bewaard op een groot en wijdverbreid netwerk van knooppunten, is er geen zwak punt om aan te vallen en is het voor iedereen moeilijk om voldoende rekenkracht op te bouwen om het netwerk te ondermijnen. Maar recent werk van Sirer en collega's laat zien dat noch Bitcoin, noch Ethereum zo gedecentraliseerd is als je zou denken. Ze ontdekten dat de vier beste bitcoin-mijnactiviteiten meer dan 53 procent van de gemiddelde mijncapaciteit van het systeem per week hadden. Volgens dezelfde maatstaf waren drie Ethereum-mijnwerkers goed voor 61 procent.

Sommigen zeggen dat alternatieve consensusprotocollen, misschien degenen die niet afhankelijk zijn van mijnbouw, veiliger kunnen zijn. Maar deze hypothese is niet op grote schaal getest en nieuwe protocollen zouden waarschijnlijk hun eigen beveiligingsproblemen hebben.

Anderen zien potentieel in blockchains waarvoor toestemming nodig is om deel te nemen, in tegenstelling tot het geval van Bitcoin, waar iedereen die de software downloadt zich bij het netwerk kan aansluiten. Dergelijke systemen zijn een gruwel voor het antihiërarchische ethos van cryptocurrencies, maar de aanpak spreekt financiële en andere instellingen aan die de voordelen van een gedeelde cryptografische database willen benutten.

Toegestane systemen roepen echter hun eigen vragen op. Wie heeft de bevoegdheid om toestemming te verlenen? Hoe zorgt het systeem ervoor dat de validators zijn wie ze zeggen dat ze zijn? Een systeem met toestemming kan ervoor zorgen dat de eigenaren zich veiliger voelen, maar het geeft hen eigenlijk gewoon meer controle, wat betekent dat ze wijzigingen kunnen aanbrengen, ongeacht of andere netwerkdeelnemers het ermee eens zijn - iets wat echte gelovigen zouden zien als een schending van het hele idee van blockchain.

Dus uiteindelijk is veilig heel moeilijk te definiëren in de context van blockchains. Van wie beveiligen? Veilig voor wat? Het hangt af van je perspectief, zegt Narula.

zich verstoppen