Share this article

Объяснение хэш-функций Bitcoin

Все, что вы всегда хотели знать о хешировании Bitcoin , но боялись спросить.

Updated Sep 11, 2021, 1:06 p.m. Published Feb 19, 2017, 12:35 p.m.
bitcoin, computer

Любой, кто интересуется Bitcoin , в какой-то момент слышал фразу «криптографическая хэш-функция». Но что именно она означает и как она связана с Криптовалюта?

Хэш-функции являются неотъемлемой частью не только протокола Bitcoin , но и информационной безопасности в целом.

Продолжение Читайте Ниже
Don't miss another story.Subscribe to the Crypto Daybook Americas Newsletter today. See all newsletters

В следующей статье мы рассмотрим несколько простых примеров их работы, а также проведем простую демонстрацию.

Что такое хеш-функция?

Абстрактно, хеш-функция — это математический процесс, который принимает входные данные любого размера, выполняет над ними операцию и возвращает выходные данные фиксированного размера.

В более конкретном примере это можно использовать для взятия последовательности буквлюбойдлина в качестве входных данных – то, что мы называемнить– и вернуть последовательность буквзафиксированныйДлина. Независимо от того, является ли входная строка одной буквой, словом, предложением или целым романом, выходной сигнал, называемыйдайджест– всегда будет одинаковой длины.

Распространенное применение этого вида хеш-функции — хранение паролей.

Когда вы создаете учетную запись пользователя в любой веб-службе, требующей пароль, пароль проходит через хэш-функцию, и хэш-дайджест сообщения сохраняется. Когда вы вводите свой пароль для входа, та же хэш-функция запускается для введенного вами слова, и сервер проверяет, соответствует ли результат сохраненному дайджесту.

Это означает, что если хакеру удастся получить доступ к базе данных, содержащей сохраненные хэши, он не сможет немедленно скомпрометировать все учетные записи пользователей, поскольку не существует простого способа найти пароль, с помощью которого был создан тот или иной хэш.

Простые хеш-функции на Python

Вы можете экспериментировать со значениями хэша, используя Python, язык программирования, установленный в операционных системах Mac и Linux по умолчанию. (В этом руководстве предполагается, что вы используете какую-либо версию OS X или Linux, поскольку использование Python в Windowsболее сложный.)

Сначала откройте терминал, введитепитони нажмите ENTER.

Это перенесет вас в Python REPL — среду, в которой вы можете опробовать команды Python напрямую, а не писать программу в отдельном файле.

Затем введите следующее, нажимая клавишу ENTER после каждой строки и клавишу TAB там, где она отмечена:

импорт hashlibdef hash(mystring):[TAB] hash_object = hashlib.md5(mystring.encode())[TAB] print(hash_object.hexdigest())[ENTER]

Теперь вы создали функцию,хэш(), который вычислит и выведет хэш-значение для заданной строки, используя алгоритм хэширования MD5. Чтобы запустить его, поместите строку в скобки в кавычках, например:

хэш("CoinDesk рулит")

И нажмите ENTER, чтобы увидеть хэш-дайджест этой строки.

Вы увидите, что вызов хеш-функции для одной и той же строки всегда будет генерировать один и тот же хеш, но добавление или изменение ONE символа будет генерировать совершенно другое значение хеш-функции:

хэш("CoinDesk рулит") => 7ae26e64679abd1e66cfe1e9b93a9e85хэш("CoinDesk рулит!") => 6b1f6fde5ae60b2fe1bfe50677434c88

Хэш-функции в Bitcoin

В протоколе Bitcoin хэш-функции являются частью алгоритм хеширования блоковкоторый используется для записи новых транзакций в блокчейн посредством процесса майнинга.

При майнинге Bitcoin входными данными для функции являются все последние, еще не подтвержденные транзакции (вместе с некоторыми дополнительными входными данными, относящимися к временной метке и ссылке на предыдущий блок).

В примере кода выше мы уже видели, что изменение небольшой части входных данных для хэш-функции приводит к совершенно иному выходу. Это свойство имеет решающее значение для алгоритма «доказательства работы», используемого в майнинге: чтобы успешно «решить» блок, майнеры пытаются объединить все входные данные со своими собственнымипроизвольный фрагмент входных данныхтаким образом, чтобы полученный хеш начинался с определенного количества нулей.

В качестве базовой демонстрации мы могли бы попробовать «майнить» с помощью нашей хэш-функции Python, вручную добавляя восклицательные знаки после «CoinDesk rocks!», пока не найдем хэш, начинающийся с одного нуля.

>>> хэш("CoinDesk рулит!!")66925f1da83c54354da73d81e013974d>>> хэш("CoinDesk рулит!!!")c8de96b4cf781a6373766c668ceac0f0>>> хэш("CoinDesk рулит!!!!")9ea367cea6a2cc4a6f5a1d9a334d0d9e>>> хэш("CoinDesk рулит!!!!!")b8d43387d98f035e2f0ac49740a5af38>>> хэш("CoinDesk рулит!!!!!!")0fe46518541f4739613b9ce29ecea6b6 => РЕШЕНО!

Конечно, решение хэша для блока Bitcoin – который на момент написаниядолжен начинаться с 18 нулей – требуетсяочень сильнобольшой объем вычислений (и поэтому объединенная вычислительная мощность всех компьютеров в сети по-прежнему требует около 10 минут для решения блока).

Именно необходимость в таком большом объеме вычислительной мощности означает, что новые биткоины будут добываться в течение длительного периода времени, а не все сразу.

Чтобы заработать биткоины с помощью майнинга, вам нужно проделать огромный объем работы, необходимый для решения блока, и, получая это вознаграждение, вы фиксируете все новые транзакции в блоке, который добавляется к постоянной записи всех предыдущих транзакций: блокчейну.

Какие еще основы Криптo вы хотели бы получить? Электронная почта: CoinDesk.

Изображение Bitcoin на клавиатуречерез Shutterstock

More For You

Protocol Research: GoPlus Security

GP Basic Image

What to know:

  • As of October 2025, GoPlus has generated $4.7M in total revenue across its product lines. The GoPlus App is the primary revenue driver, contributing $2.5M (approx. 53%), followed by the SafeToken Protocol at $1.7M.
  • GoPlus Intelligence's Token Security API averaged 717 million monthly calls year-to-date in 2025 , with a peak of nearly 1 billion calls in February 2025. Total blockchain-level requests, including transaction simulations, averaged an additional 350 million per month.
  • Since its January 2025 launch , the $GPS token has registered over $5B in total spot volume and $10B in derivatives volume in 2025. Monthly spot volume peaked in March 2025 at over $1.1B , while derivatives volume peaked the same month at over $4B.

More For You

Повышение процентных ставок в Японии ставит биткоин в фокус unwind-операций с йеной

Aerial view of Tokyo (Jaison Lin/Unsplash, modified by CoinDesk)

Укрепление иены обычно сопровождается снижением рисков в макро-портфелях, и эта динамика может ужесточить ликвидные условия, которые недавно способствовали восстановлению биткоина после ноябрьских минимумов.

What to know:

  • Ожидается, что Банк Японии повысит процентные ставки до 0,75% на заседании в декабре, что станет самым высоким уровнем с 1995 года, оказав влияние на мировые рынки, включая криптовалюты.
  • Укрепление иены может привести к снижению рисков в макропортфелях, что повлияет на условия ликвидности, поддерживавшие недавнее восстановление биткойна.
  • Губернатор Кадзуо Уэда указал на высокую вероятность повышения процентной ставки, при этом чиновники готовы к дальнейшему ужесточению политики, если их экономический прогноз это подтвердит.