Закрытый и открытый ключ

Материал из Bitcoin Wiki
Это утверждённая версия страницы. Она же — наиболее свежая версия.
Перейти к: навигация, поиск
Открытый и Закрытый ключ Биткоин – приватный ключ

Открытый и закрытый ключ Биткоин адреса – это набор ключей, при помощи которых пользователь контролирует доступ к криптовалюте Bitcoin, хранящейся в кошельке.

Ключи шифрования[править]

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

Надёжность ключа зависит от его длины в битах. В технологии SSL используют шифры 4096 бит для корневого сертификата и 128–256 бит для клиентских. Такая длина достаточна для безопасной передачи данных.

Протокол SSL использует асимметричное шифрование или шифрование с открытым ключом для установки соединения. Несмотря на название, здесь используются 2 ключа: открытый и закрытый. Оба формируются при запросе SSL-сертификата.

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

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

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

Цифровые ключи Биткоина[править]

Принципы хранения, создания холодных кошельков и безопасности с Биткоин 2018

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

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

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

Биткоин-адрес и крипто-ключи[править]

Основная статья: Адрес

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

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

Цифровая подпись в Bitcoin[править]

приватный ключ биткоин – транзакции

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

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

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

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

См. также на BitcoinWiki[править]

Источники[править]