Зачем в блокчейне приватные и публичные ключи Skip to content

Шифрование в блокчейне: зачем нужна цифровая подпись

Шифрование в блокчейне: зачем нужна цифровая подпись обложка

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

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

  1. P2P: где используются одноранговые сети
  2. Шифрование в блокчейне: на пальцах
  3. Блокчейн — цепочка блоков транзакций. Разбираем определение по словам
  4. Шифрование в блокчейне: зачем нужна цифровая подпись
  5. Принцип работы блокчейна: кто создает блоки
  6. Для каких целей и задач подходит блокчейн

Вспоминаем основные понятия

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

Симметричное и асимметричное шифрование

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

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

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

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

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

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

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

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

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

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

Публичный ключ и адрес в блокчейне

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

Прежде чем купить биткоины, необходимо создать кошелек, на котором они будут храниться. Кошельком называют программу, с помощью которой можно получить как приватные, так и публичные ключи от блокчейна. Для биткоинов есть много таких программ: Bitcoin Core, Electrum, Samurai Wallet.

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

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

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

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

Приватный ключ и цифровая подпись в блокчейне

С помощью приватного ключа создается электронная цифровая подпись в блокчейне. Это способ подтвердить свое право совершать транзакции в блокчейне. В жизни для этой цели мы предъявляем паспорт, ставим подпись или вводим ПИН-код. Особенность цифровой подписи в блокчейне в том, что она дает возможность подтвердить личность, но при этом не раскрывать свои данные. Рассмотрим ее использование на примере блокчейна Биткоина.

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

Цифровая подпись — это хеш, созданный на основе приватного ключа и самих подписываемых данных. То есть это набор символов, который получен с помощью шифрования. В Биткоине для создания такого хеша используют Алгоритм Цифровой Подписи Эллиптической Кривой (ECDSA).

Рассмотрим как создается и подписывается транзакция в блкочейне:

  1. Информация об отправлении шифруются с помощью SHA-256.
  2. Алгоритм ECDSA получает на вход приватный ключ и хеш подписываемых данных.
  3. В результате работы алгоритма ECDSA и создается цифровая подпись.
  4. В транзакцию записывается зашифрованная информация об отправлении и цифровая подпись.
Подпись транзакции в блокчейне
Хеш информации вместе с приватным ключом образуют цифровую подпись

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

Проверка подписи в транзакции
Пользователи блокчейна проверяют достоверность транзакции, сравнивая хеш данных с расшифровкой открытого ключа

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

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

Заключение

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

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

0
Поделиться в telegram
Поделиться в facebook
Поделиться в vk

Рекомендуем почитать

Еще почитать по теме

Комментариев пока нет, добавьте свой отзыв ниже.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *