BTC 103450$
ETH 2422.63$
Tether (USDT) 1$
Toncoin (TON) 2.92$
telegram vk
telegram vk Х
Russian English
"

Хэш-функция: концепция и применение в Биткоине

Дата публикации:12.03.2024, 12:18
908
908
Поделись с друзьями!

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

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

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

•          Однонаправленность: если у нас есть документ M, хэш позволяет нам создать его сводный хеш под названием h (M), но из этого хеша невозможно узнать содержимое исходного документа M.

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

•          Простота расчета: должно быть легко вычислить h (M) из «M» для быстрого расчета и без траты времени, энергии и вычислительной мощности.

•          Широковещательная рассылка битов: хэш h (M) должен быть сложной функцией исходного сообщения «M». Если бы М был модифицирован где-либо, даже если бы это была минимальная модификация, элемент h(M) изменился бы полностью.

•          Слабое сопротивление столкновению: будет вычислительно невозможно найти известное M, мы можем найти другое M 'такое, что h (M) = h (M'). Первый предварительное изображение.

•          Сильная устойчивость к столкновениям: должно быть сложно с вычислительной точки зрения найти пару (M, M'), такую что h (M) = h (M'). Второй предварительное изображение.

Хэш безопасность

Можно найти исходный текст хеша. Но это практически невозможно.

Например, 128-битный хэш (базовая версия хэша) имеет 2 ^ 128 различных возможностей, и вероятность 50% будет равна квадратному корню из 2 ^ 128, что приводит к тому, что 2 ^ 64 считается примером. Отсюда получается, что на статистическом уровне легче сломать столкновение, чем преодолеть сопротивление предыдущего изображения.

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

Хэш-функция в Биткоине

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

Одно из сотен тысяч мест, где он используется, — это Биткоин.

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

Хэш-функция в Биткоине используется в двух случаях.

1. Создание адреса

Одно из наиболее распространенных применений хеш-функции — процесс генерации адреса Биткоина.

Хеш-функция SHA256 используется до 3 раз в процессе генерации адреса.

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

2. Майнинг: доказательство работы

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

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

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

Таким образом можно полностью связать все новые и прошлые транзакции, обеспечивая полную целостность и неизменяемость.

Выполнить процесс хеширования один раз чрезвычайно просто, но майнеру придется делать это миллионы раз.

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

Подписывайся на наш Telegram канал. Не трать время на мониторинг новостей. Только срочные и важные новости

https://t.me/block_chain24