Меню

Что такое хеширование и цифровая подпись в блокчейне

Всем привет. Сегодня мы поговорим о понятии blockchain и подробно разберем его, чтобы понимать, что это значит. Мы рассмотрим две основные криптографические концепции, стоящие за технологией блокчейн. Одна из них — хеширование, вторая — цифровая подпись.

Что такое хеширование

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

Если вы хотите узнать словарь блокчейна, читайте статью Словарь блокчейна: от А до Я

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

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

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

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

Например, WikiLeaks публикует набор файлов вместе с их хэшами MD5. Тот, кто скачивает эти файлы, может проверить, действительно ли они из WikiLeaks, если вычислит хэши MD5 этих скаченных файлов.

В том случае, если полученный хэш не соответствует тому, который был опубликован WikiLeaks, значит, этот файл был каким-то образом изменен.

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

Хеш здесь используется для того, чтобы любой участник мог убедиться, что состояние блокчейна остается неизменным. Но как эти хэши фактически вычисляются?

Первый хеш рассчитывается для первого блока, так называемого Genesis-блока. Последовательность транзакций, записанных внутри блока, используется для вычисления хеша Genesis-блока.

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

Именно так и образуется цепочка блоков или blockchain. Каждый хеш нового блока указывает на хеш предыдущего.

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

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

Например, длина блокчейна Ethereum’а в настоящее время составляет десятки гигабайт, но его текущее состояние, как записи, представляет собой шестнадцатеричный хеш, содержащий всего 256 бит.

Что такое цифровая подпись

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

Цифровая подпись — это способ доказать, что сообщение исходит от конкретного человека, а не от хакера.

Цифровые подписи используются сегодня во всем Интернете. Всякий раз, когда вы посещаете сайт через ACTPS, вы используете SSL, который применяет цифровые подписи для установления соединения между вами и сервером.

В асимметричных системах шифрования пользователи генерируют по определенному алгоритму так называемые пары ключей, каждая из которых является открытым ключом (public key) и закрытым ключом (private key).

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

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

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

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

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

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

Оставить комментарий

ТОП 3 криптобиржи