Hash

A fixed-size cryptographic identifier created from variable-sized input data.

Hashing is used throughout computer science for data indexing and retrieval, but in blockchain, it is the bedrock of security. It allows the network to verify the integrity of blocks and transactions. For instance, Bitcoin uses the SHA-256 algorithm to secure its ledger. Because hashes are one-way, they allow for 'Proof of Work'—where miners must find a specific hash that meets a difficulty target, proving they expended computational energy without revealing the secrets behind the data.

        graph LR
  Center["Hash"]:::main
  Pre_cryptography["cryptography"]:::pre --> Center
  click Pre_cryptography "/terms/cryptography"
  Rel_encryption["encryption"]:::related -.-> Center
  click Rel_encryption "/terms/encryption"
  Rel_mathematics["mathematics"]:::related -.-> Center
  click Rel_mathematics "/terms/mathematics"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explain Like I'm 5

🌍 Think of a hash as a 'Digital Fingerprint'. Just as any person can be identified by their fingerprint, any digital file can be identified by its hash. If you change even one pixel in a photo, its digital fingerprint changes completely, letting you know the file was tampered with.

🤓 Expert Deep Dive

Cryptographic hash functions must satisfy three primary criteria: Pre-image Resistance (impossible to reverse the input from the output), Second Pre-image Resistance (impossible to find a different input that yields the same output), and Collision Resistance (statistically impossible for any two distinct inputs to produce the same hash). In blockchain, the 'Avalanche Effect' is critical — where a 1-bit change in input flips approximately 50% of the output bits, making the function unpredictable. Hashing is the fundamental building block of Merkle Trees, allowing for efficient verification of large datasets without needing the entire data set.

🔗 Related Terms

Prerequisites:

📚 Sources