Secure Hashing Algorithm (SHA) -256 ist die Hash-Funktion und der Mining Algorithmus des Bitcoin-Protokolls und bezieht sich auf die kryptografische Hash-Funktion, die einen 256 Bit langen Wert ausgibt. Sie moderiert die Erstellung und Verwaltung von Adressen und wird auch zur Transaktionsüberprüfung verwendet. Bitcoin verwendet doppeltes SHA-256, d.h. die Hash-Funktionen werden zweimal angewendet. Der Algorithmus ist eine Variante des SHA-2 (Secure Hashing Algorithm 2), der von der National Security Agency (NSA) entwickelt wurde. SHA-256 wird auch in gängigen Verschlüsselungsprotokollen wie SSL, TLS, SSH und Open Source Operating Systemen wie Unix/Linux verwendet. Der Hashing Algorithmus ist extrem sicher und seine Funktionsweise ist in der Öffentlichkeit nicht bekannt. Er wird von der US-Regierung zum Schutz sensibler Daten verwendet, da er dank digitaler Signaturen den Inhalt von Daten verifizieren kann, ohne ihn preiszugeben. Darüber hinaus wird es auch zur Überprüfung von Passwörtern eingesetzt, da die Hash-Werte gespeichert und mit den Eingaben des Nutzers abgeglichen werden können, um zu überprüfen, ob sie korrekt sind oder nicht. Tatsächlich ist es fast unmöglich, die ursprünglichen Daten aus einem Hash-Wert selbst herauszufinden. Außerdem ist es extrem unwahrscheinlich, dass ein Brute-Force-Angriff erfolgreich ist, da es eine astronomische Anzahl von möglichen Kombinationen gibt. Außerdem ist es sehr unwahrscheinlich, dass zwei Datenwerte (sogenannte Kollisionen) denselben Hash-Wert haben.