Главная - Блокчейн - Хеш-функция в блокчейне

Хеш-функция в блокчейне

Данные, хранящиеся с использованием технологии блокчейн (blockchain), представляют собой непрерывную цепочку блоков, в каждый из которых записывается информация. Эта цепочка со временем обновляется и дополняется. Чтобы подтвердить истинность записанных блоков, в блокчейне используется функция хеширования (hashing).

Хеш-функция блокчейна

Пример хеширования

Блокчейн — революционная технология хранения и обработки данных, обладающая одновременно несколькими свойствами:

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

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

Хеш функция уникальна тем, что с ее помощью кодируется как многотомная книга, так и одно слово, а размер полученного ключа будет одинаковым. При попытке внести изменения хотя бы в 1 символ исходного блока, полученный в результате hash ключ будет кардинально отличаться. Эта ситуация называется «эффект лавины» и служит для защиты от изменений. Также алгоритм SHA-256 гарантирует защиту от коллизий, т. е. вероятность генерации совпадающих хешей при неодинаковых исходных данных стремится к нулю.

Хеширование в майнинге

Процесс хеширования в майнинге

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

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

Пример Hash id

ВАЖНО! Чтобы узнать хеш конкретной транзакции, нужно воспользоваться специальными программными средствами или сайтами. Например, если вводить на сайте www.blockchain.info информацию о биткоин-транзакции, то на экране отобразятся все сведения о ней, в том числе и искомый хеш. Управление транзакциями осуществляют в личном кабинете, там же отслеживают отправителей и получателей биткоинов, заводят биткоин-кошелек, обменивают криптовалюту.

Использование хеширования в области блокчейна и при создании биткоинов помогает проверять истинность и неизменность полученных блоков, защищает их от вмешательства извне. Кроме шифрования SHA-256, в блокчейне применяются другие хорошие криптографические методы: X11, DaggerHashimoto, Scrypt.

Видео: криптографические хеш-функции

Видео: что называется хешированием?

Сохранить статью

о Дмитрий Шустов

Автор популярных материалов на различных криптовалютных и блокчейн площадках. Интересуюсь данной сферой с 2015 года. Трейдер-аналитик. Junior-программист. Окончил Московскую школу экономики. Работаю в АНО "Рейтинговое агентство оценки проектов цифровой экономики".