Протокол биткоина активно использует так называемую хеш-функцию для добавления новых блоков в блокчейн в процессе майнинга. С технической точки зрения хеш-функция представляет собой алгоритм, который, начиная с данных произвольной длины, создаёт хеш фиксированной длины. Этот хеш является шестнадцатеричным кодом, представляющим собой исходный пакет данных, который использовался для его генерации. Как правило, длина этих данных становится значительно короче. Основное использование этой функции — создание синтетического, относительно короткого кода, который представляет собой гораздо больший пакет данных. Будучи выполненным таким образом, этот процесс неизбежно влечёт за собой определённую потерю данных, что де-факто необратимо: хеш не может быть прослежен до стартового пакета данных, использованного для его генерации. Алгоритм, используемый биткоином для хеш-функции SHA-256, создаёт 256-битный хеш и требует предсказуемый объём вычислительной мощности компьютера. Чтобы добавить новый б