Найти в Дзене
Blockspoint

Двоичность — основа хеширования, применяемого в криптосреде

Оглавление

Каждая криптовалюта может быть описана как уникальный набор технологий, сплавленных воедино. За кулисами маркетинговых слоганов и утверждений скрываются несколько дюжин IT-компонентов. Некоторые из них очень сложные, как, к примеру, Виртуальная машина Эфириума (EVM). Другие — достаточно просты для освоения, как структура блоков в Биткоине. Независимо от того, что это за компоненты и насколько сложными они кажутся, все они интересные и захватывающие.

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

Двоичность в хешировании

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

Двоичная система представляет информацию в том виде, в котором ее обрабатывает компьютер. Память компьютера состоит из маленьких кусочков данных, называемых битами. Каждый бит может быть либо 0 либо 1. Отсюда происходит название «двоичный». Все операции внутри компьютера проводятся с большими наборами чисел, представленных в двоичном виде. Поскольку методы двоичного управления выходят из математической логики, иногда 0 и 1 называют «истина» и «ложь» (true и false). Хеширование здесь не исключение. Основные бинарные операции очень просты. К ним относятся:

  • Инверсия. Эта операция также называется «НЕ» и использует один бит на входе. Она отрицает значение единого бита. Если значение было 0, то становится 1, и наоборот;
-2
  • Конъюнкция. Эта операция также называется «И» и, используя два бита на входе, дает только один на выходе. Оба входа должны быть 1, чтобы получить 1 в результате. Иначе на выходе получится 0;
-3
  • Дизъюнкция. Эта операция также называется «ИЛИ» и, используя два бита на входе, дает только один на выходе. Хотя бы один бит на входе должен быть 1, чтобы получить 1 в результате. Иначе выход будет 0.
-4

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

Хеширование в крипто

Так что же всё-таки представляет собой хеширование? Как указано в большинстве источников, операция хеширования используется для взятия случайных данных различной длины на входе и получения выхода фиксированного размера. Это значит, что, независимо от того, сколько именно бит было использовано, мы получим строку одинаковой длины на выходе. Наиболее известные семейства функций хеширования —  SHA-2 и SHA-3, где SHA значит Secure Hash Algorithm (безопасный алгоритм хеширования). Они применяются в Биткоине, Эфириуме и других крипто решениях. В одних случаях они улучшены разработчиками, в других — взяты в первоначальном виде.

                                   Преобразование хешируемых данных в строку из 256 бит
Преобразование хешируемых данных в строку из 256 бит

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

Послесловие

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

Сергей Борсук, blockspoint