Abreviação de ‘Secure Hash Algorithm 256-bit’, SHA-256 é uma função de hash criptográfica que desempenha um papel crucial na blockchain e no espaço de criptomoeda. Faz parte da família de algoritmos SHA-2, que foram projetados pela Agência de Segurança Nacional dos Estados Unidos (NSA) e publicados pela primeira vez em 2001.
Projetado para ser resistente a colisões, o que significa que é computacionalmente inviável encontrar duas entradas diferentes que produzam o mesmo hash, o SHA-256 produz um valor de hash de tamanho fixo, 256 bits (32 bytes) a partir de uma entrada de qualquer tamanho e é usado para gerar identificadores únicos (hashes) para blocos na blockchain, garantindo a integridade e consistência dos dados. Cada bloco de uma blockchain contém um hash do bloco anterior, formando uma cadeia. Esta ligação garante que qualquer alteração num bloco mudaria o seu hash, quebrando a cadeia e tornando a adulteração detetável.
Nos mecanismos de consenso Proof of Work (PoW) (por exemplo, Bitcoin), os mineradores competem para resolver quebra-cabeças criptográficos que exigem encontrar uma entrada específica (chamada de nonce) que, quando hashada com o cabeçalho do bloco, resulta num valor de hash que cumpre certos requisitos (por exemplo, um certo número de zeros à esquerda). O SHA-256 é usado para gerar esses hashes, protegendo a rede ao tornar computacionalmente caro alterar a blockchain.
Isto garante que, uma vez que uma transação é registada num bloco, ela não pode ser alterada sem mudar o hash do bloco, mantendo assim a integridade e a segurança dos dados da transação. Além disso, os endereços de carteira de criptomoeda são derivados de chaves públicas usando SHA-256 (junto com outras funções de hash).