Почему невозможно получить открытый ключ из адреса?

Это моя первая биткойн- транзакция .

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

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

Я думал, что мой адрес является открытым ключом. Неужели невозможно получить открытый ключ из адреса?

другие детали, информация о транзакции и адресе blockchain.info .

Ответы (2)

Адрес по своей сути является просто хэшем открытого ключа. Используемые хэш-функции (RIPEMD-160 и SHA256) являются криптографическими хеш-функциями. Их часто также называют односторонними функциями, именно поэтому вы не можете получить открытый ключ из адреса.

Односторонние функции обеспечивают именно это, a = f(pk)так что aвы не можете получить pk.

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

Для получения более подробной информации см . процесс получения адреса .

Адрес только 160-битный. Открытый ключ имеет длину 257 бит. Таким образом, нет никакого способа перейти от адреса к открытому ключу — информация отсутствует.

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

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