Hash
Wat is een hash?
Een hash is een functie die een invoer van letters en cijfers omzet in een gecodeerde uitvoer met een vaste lengte. Een hash wordt gemaakt met behulp van een algoritme en is essentieel voor blockchain beheer in cryptocurrency.
Belangrijkste leerpunten
- Een hash is een functie die voldoet aan de versleutelde eisen die nodig zijn om een blockchain-berekening op te lossen.
- Een hash is, net als een nonce of een oplossing, de ruggengraat van het blockchain-netwerk.
- Hashes hebben een vaste lengte, omdat het bijna onmogelijk is om de lengte van de hash te raden als iemand de blockchain probeerde te kraken.
- Een hash wordt ontwikkeld op basis van de informatie die aanwezig is in de blokheader.
Hoe een hash werkt
De ruggengraat van een cryptocurrency is de blockchain, een grootboek dat wordt gevormd door afzonderlijke blokken transactiegegevens aan elkaar te koppelen. De blockchain bevat alleen gevalideerde transacties, wat frauduleuze transacties en dubbele besteding van de valuta voorkomt. De resulterende versleutelde waarde is een reeks cijfers en letters die niet lijken op de originele gegevens en wordt een hash genoemd. Cryptocurrency-mining omvat het werken met deze hash.
Hashing vereist het verwerken van de gegevens van een blok via een wiskundige functie, wat resulteert in een uitvoer met een vaste lengte. Het gebruik van een uitvoer met een vaste lengte verhoogt de beveiliging omdat iedereen die de hash probeert te ontsleutelen, niet kan zien hoe lang of kort de invoer is door simpelweg naar de lengte van de uitvoer te kijken.
Het oplossen van de hash begint met de gegevens die beschikbaar zijn in de blokheader en is in wezen het oplossen van een complex wiskundig probleem. Elke blokheader bevat een versienummer, een tijdstempel, de hash die in het vorige blok is gebruikt, de hash van de Merkle Root, de nonce en de doelhash.
De mijnwerker concentreert zich op de nonce, een reeks getallen. Dit nummer wordt toegevoegd aan de gehashte inhoud van het vorige blok, dat vervolgens wordt gehasht. Als deze nieuwe hash kleiner is dan of gelijk is aan de doel-hash, wordt deze geaccepteerd als de oplossing, krijgt de mijnwerker de beloning en wordt het blok toegevoegd aan de blockchain.
Het validatieproces voor blockchain-transacties is afhankelijk van het versleutelen van gegevens met behulp van algoritmische hashing.
Het oplossen van de hash vereist dat de miner bepaalt welke string moet worden gebruikt als de nonce, wat zelf een aanzienlijke hoeveelheid trial-and-error vereist. Dit komt doordat de nonce een willekeurige tekenreeks is. Het is hoogst onwaarschijnlijk dat een miner bij de eerste poging met succes de juiste nonce zal bedenken, wat betekent dat de miner mogelijk een groot aantal nonce-opties zal testen voordat hij het goed doet. Hoe groter de moeilijkheid – een maatstaf voor hoe moeilijk het is om een hash te maken die voldoet aan de vereisten van de doelhash – hoe langer het waarschijnlijk duurt voordat een oplossing is gegenereerd.
Een voorbeeld van een hash
Als u het woord ‘hallo’ hash, krijgt u een uitvoer die even lang is als de hash voor ‘Ik ga naar de winkel’. De functie die wordt gebruikt om de hash te genereren, is deterministisch, wat betekent dat het elke keer dat dezelfde invoer wordt gebruikt hetzelfde resultaat oplevert. Het kan efficiënt een gehashte invoer genereren; het maakt het ook moeilijk om de input te bepalen (wat leidt tot mining), en het brengt ook kleine veranderingen in het input-resultaat in een onherkenbare, geheel andere hash.
Het verwerken van de hash-functies die nodig zijn om nieuwe blokken te versleutelen, vereist een aanzienlijk computerverwerkingsvermogen, wat kostbaar kan zijn. Om individuen en bedrijven, ook wel miners genoemd, te verleiden om te investeren in de vereiste technologie, belonen cryptocurrency-netwerken hen met zowel nieuwe cryptocurrency-tokens als transactiekosten. Miners krijgen alleen een vergoeding als ze de eersten zijn die een hash maken die voldoet aan de vereisten die in de doelhash zijn uiteengezet.