Я играл с приложением Pycoin Ричарда Кисса, которое разъясняет, как работает P2PK. Я вижу, что hash160 значения: (0x04) (x-coordinate) (y-coordinate)
(для несжатого закрытого ключа Testnet в этом случае) дает значение hash160, используемое для подтверждения права собственности на закрытый ключ.
Насколько это вредно для повторного использования закрытых ключей, если нет проблем с ГПСЧ, обеспечивающими низкую энтропию? Я понимаю, как была использована ошибка Android (в какой-то степени она повторно использовала «случайные значения»), но я не понимаю, почему только совместное использование hash160 в одной транзакции может быть злонамеренно использовано. Чтобы уточнить, я не говорю о проблемах конфиденциальности отслеживания адресов через Блокчейн.
РЕДАКТИРОВАТЬ: рассматриваемые уязвимости (как указано в ответе, связаны с квантовыми вычислениями и / или недостатками EDCSA, ни одна из которых не существует)
Потенциальная проблема безопасности заключается в том, что открытый ключ EC однажды может быть преобразован в закрытый ключ с использованием, например, алгоритма Шора[1]. Это не относится к хэшу открытого ключа (он же адрес).
Поскольку открытый ключ биткойн-адреса раскрывается при первой транзакции, расходуемой с этого адреса, повторное использование этого адреса считается плохой практикой (в том числе из соображений конфиденциальности).
Если ваши PRNG хороши, вы не потеряете безопасность, используя один и тот же адрес любое количество раз. Некоторые веб-сайты утверждают, что адреса не следует использовать повторно, потому что это сделает ваши биткойны уязвимыми для квантовых компьютеров и/или некоторых недавно обнаруженных уязвимостей в ECDSA. Однако оба эти сценария на данный момент нереалистичны, и я думаю, что если они все-таки станут реальными, это станет такой большой проблемой для мировой криптографии, что вы не станете первой жертвой (если только вы не Сатоши Накамото).
Нейт Элдридж
Волшебник Оззи