Technisch gezien wordt een hash geproduceerd door een wiskundig algoritme dat invoergegevens vermengt via een vaste reeks bewerkingen, herhaald over meerdere ronden, tot het geheel wordt samengeperst tot een korte digest. Dit proces werkt maar één kant op: het is computationeel onhaalbaar om vanuit de hash terug te rekenen naar de oorspronkelijke data, en het is deterministisch, dus dezelfde invoer levert altijd hetzelfde resultaat op.
Wat hashing zo bruikbaar maakt voor blockchains is een eigenschap die het avalanche-effect wordt genoemd: het wijzigen van één enkel teken, of zelfs één enkel bit, in de invoer levert een volledig andere, onvoorspelbare hash op. Dat maakt hashes ideale vingerafdrukken om manipulatie te detecteren. Een goed ontworpen hashfunctie moet ook bestand zijn tegen botsingen (collision resistant), wat betekent dat het praktisch onmogelijk moet zijn om twee verschillende invoerwaarden te vinden die dezelfde uitvoer opleveren.
In de praktijk leunen blockchains voortdurend op hashing. Elke transactie wordt gehasht, elke block header verwijst naar de hash van het voorgaande block, wat de fraudebestendige keten vormt die blockchain zijn naam geeft, en wallet-adressen worden afgeleid door een public key te hashen. Tijdens Proof of Work-mining, zoals gebruikt bij Bitcoin, hashen miners telkens opnieuw de blockdata met verschillende nonce-waarden, op zoek naar een uitvoer onder een bepaalde drempelwaarde; er is geen shortcut, alleen brute-force trial-and-error.
Naast blockchains beveiligt hashing ook de opslag van wachtwoorden, verifieert het de integriteit van gedownloade bestanden en vormt het de basis voor digitale handtekeningen.