Hashfunctie

Uit BitcoinWiki.nl

Een hashfunctie is een soort programma die een unieke vingerafdruk maakt van informatie. Een cryptografische hash-functie is een wiskundig proces dat een invoer van gegevens van elke grootte of lengte ontvangt, hier een bewerking op uitvoert en vervolgens gegevens van een vaste grootte of lengte produceert. De output wordt de hash of hashcode van de input genoemd.

Je kunt er allerlei gegevens instoppen, zoals woorden, getallen of zelfs hele bestanden, en de hashfunctie zal er een unieke reeks tekens uit spugen die de 'hash' wordt genoemd. De hash heeft een vaste lengte. Het bijzondere is dat zelfs een kleine verandering in de invoer een compleet andere hash oplevert. En belangrijk is dat er geen mogelijkheid is om vanuit de uitkomst de input terug te rekenen. Als laatste is de hashfunctie geen langdurige, computerintensieve functie.

Gebruik

Doordat elke input een unieke hash levert maakt het hashfuncties handig voor het beveiligen van gegevens en het controleren van hun integriteit. Ze worden veel gebruikt in de computerwereld. Bijvoorbeeld bij wachtwoordbeveiliging. Wanneer een gebruiker een wachtwoord kiest, wordt daarvan de hash opgeslagen. Bij het opnieuw intikken van het wachtwoord wordt de input opnieuw door dezelfde hashfunctie gehaald en vergeleken met de originele hash. Daarom hoeven de wachtwoorden alleen als hash worden opgeslagen. Ook bij digitale handtekeningen en het verifiëren van bestanden worden hashfuncties ingezet. Bij downloaden van een softwarepakket wordt vaak een hash meegestuurd om te controleren of alles is ontvangen. Hashfuncties helpen ons om gegevens veilig te houden en ervoor te zorgen dat ze niet onopgemerkt worden gewijzigd.

SHA-256

SHA (Secure Hash Algorithm) hashing is een cryptografische hashfunctie die wordt gebruikt in Bitcoin. De Bitcoin blockchain maakt gebruik van het SHA-256 hashing algoritme. Het SHA-256 algoritme is een bekend en veilig algoritme. Het levert altijd een hash op van 256 bit. Het is een belangrijk onderdeel van de beveiliging en integriteit van gegevens binnen het Bitcoin-netwerk.

(SHA) hashes worden gebruikt in mining. Miners proberen een hash te vinden met "voldoende nullen". Een voorbeeld:

00000000000000000000f1ba21d0a4325e7cb9069cfd2fb484b1eb22e3057225

Bovenstaande hash is van blok 832693. Er zijn heel wat pogingen gedaan, voordat een miner deze hash met 21 nullen vond.