Что такое закрытый ключ и открытый ключ?

Что такое закрытый ключ и открытый ключ по отношению к Биткойну? Что это такое, как они используются и как узнать, какие у них закрытые и открытые ключи?

Я нашел этот ответ полезным: bitcoin.stackexchange.com/a/3057/516

Ответы (1)

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

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

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

Технически открытый ключ — это не число, а пара координат точки на кривой EC. Кроме того, он на самом деле не кодируется в биткойн-адрес; адрес кодирует хэш сериализованного открытого ключа.
@PieterWuille Отредактировано соответственно