Поделиться этой статьей

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

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

Автор Corin Faife
Обновлено 11 сент. 2021 г., 1:06 p.m. Опубликовано 19 февр. 2017 г., 12:35 p.m. Переведено ИИ
bitcoin, computer

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

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

Продолжение Читайте Ниже
Не пропустите другую историю.Подпишитесь на рассылку Crypto Daybook Americas сегодня. Просмотреть все рассылки

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

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

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

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

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

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

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

Простые хеш-функции на 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

Больше для вас

KuCoin Hits Record Market Share as 2025 Volumes Outpace Crypto Market

16:9 Image

KuCoin captured a record share of centralised exchange volume in 2025, with more than $1.25tn traded as its volumes grew faster than the wider crypto market.

Что нужно знать:

  • KuCoin recorded over $1.25 trillion in total trading volume in 2025, equivalent to an average of roughly $114 billion per month, marking its strongest year on record.
  • This performance translated into an all-time high share of centralised exchange volume, as KuCoin’s activity expanded faster than aggregate CEX volumes, which slowed during periods of lower market volatility.
  • Spot and derivatives volumes were evenly split, each exceeding $500 billion for the year, signalling broad-based usage rather than reliance on a single product line.
  • Altcoins accounted for the majority of trading activity, reinforcing KuCoin’s role as a primary liquidity venue beyond BTC and ETH at a time when majors saw more muted turnover.
  • Even as overall crypto volumes softened mid-year, KuCoin maintained elevated baseline activity, indicating structurally higher user engagement rather than short-lived volume spikes.

Больше для вас

Биткоин застрял около отметки $88 000, в то время как рекордные ралли золота и серебра демонстрируют признаки исчерпания

Bitcoin (BTC) price on Jan. 26 (CoinDesk)

"Золото и серебро легко добавляют рыночную капитализацию, эквивалентную целому биткоину, всего за один день," написал один из криптоаналитиков.

Что нужно знать:

  • Биткойн отступил от своих самых низких показателей выходных, но все еще находится близко к годовому минимуму на уровне 87 700 долларов.
  • Столкнувшись с теми же новостными циклами, что и криптовалюты, драгоценные металлы продолжали стремительно расти, но быстрое отступление от пиков в понедельник свидетельствовало о признаках некоторого истощения.
  • Аналитики сохраняют мрачный прогноз относительно перспектив цен на криптовалюту в связи с надвигающейся остановкой работы правительства, а также задержками в принятии закона Clarity Act.