Приватный и публичный ключ

Приватный

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

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

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

Но знание адреса кошелька не обеспечивает к нему доступа. Поскольку за него отвечает такой процесс, как ассиметричное шифрование. И основные его инструменты – приватный и публичный ключи.

Приватный ключ

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

L2hjTJNhjpUTdAVMArh3UqmnTXEVx6J6faui8cbxcppyqmuekj50

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

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

Впрочем, многие современные блокчейны начали потихоньку отходить от практики использования бессмысленных комбинаций в пользу так называемых «seed phrases» - «мнемонических фраз». Суть та же самая, но запоминать, воспроизводить и сохранять – намного проще.

Публичный ключ

Второй важный элемент криптографии с открытым ключом (PKC). Генерируется на основании закрытого и используется для шифрования сообщений. По сути, когда другой человек с помощью открытого ключа осуществляет транзакцию – только тот, кто обладает приватным кодом, может ею воспользоваться.

Наиболее распространённым и успешным подобным алгоритмом является RSA, созданный в 1977 году разработчиками Rivest, Shamir и Adleman. Как выяснилось, это надёжная альтернатива симметричному шифрованию, при котором между сгенерированными кодами существовала прямая закономерность. Впрочем, даже ими можно было безопасно обмениваться, особенно если использовать специальные протоколы, типа «Diffie-Hellman-Merkle key exchange protocol».

Существенный недостаток данного алгоритма – медленная скорость работы и увеличение объемов передаваемых данных. Поэтому дополнительное шифрование открытых адресов обычно не используется.

Открытых адресов может быть множество – если один из них потеряется, на основе закрытого можно создать ещё. И каждый из них можно использовать для проверки цифровых подписей, сделанных на основе приватного кода. Это осуществляется, например, за счёт алгоритма ECDSA, используемого в блокчейнах Биткоин и Ethereum.

Вывод

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