Почему открытые ключи не используются напрямую в качестве адресов учетных записей? [дубликат]

Я так понимаю, что адреса - это хэши открытых ключей. Но почему? Чем обосновано такое дизайнерское решение?

А почему 160 бит? Почему бы просто не использовать хэш напрямую? Гарантировано ли, что 160-битной версии будет достаточно в будущем для обеспечения совместимости и безопасности?

возможно, они просто следуют дизайну биткойнов. ссылка: bitcoin.stackexchange.com/questions/3600/…
(Этот дубликат в основном спрашивает: «Какое использование адреса Ethereum в первую очередь?»)
@ lz96 Это интересно. Биткойн действительно использует RIPEMD160, что, вероятно, объясняет, почему Ethereum усекает вывод Keccak-256 до такого размера.

Ответы (2)

Эфириум был построен для «будущего» с учетом устойчивости. Для генерации адресов (т.е. пары открытый-секретный ключ) используется криптография на основе эллиптических кривых (ECC) , и, помимо других причин, ее производительность намного превосходит другие существующие алгоритмы (например, основанные на RSA).

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

Я согласен, что это полезно в тех случаях, когда требуется изменение алгоритма ключа, поскольку хеширование добавляет дополнительный уровень косвенности. Но что касается вашего утверждения о необратимости, разве открытый ключ также не присутствует в транзакциях?
См. crypto.stackexchange.com/a/18106/59755 для восстановления открытых ключей из транзакций. Интересным свойством является то, что до того, как учетная запись подписала какие-либо транзакции, невозможно восстановить ключи исключительно по адресам.

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

Я спрашиваю конкретно об Эфириуме. Не знал историю с IBAN. Но это, кажется, просто дополнительная функция, хотя я думаю, что дизайн адресного пространства должен предшествовать ICAP.
Хорошо, я дал ответ в общем смысле, нужно изучить дизайн адреса ethereum. Но одно можно сказать наверняка: дизайн адресов Эфириума создал проблемы для многих пользователей, у него нет контрольной суммы, одно и то же адресное пространство используется для тестовых сетей, даже для форков Эфириума, таких как Эфириум Классик. Пользователи случайно отправили эфиры в тестовые сети и другие форки. Тогда как биткойн использует маркеры и контрольные суммы в своих адресах. Чтобы пользователи не могли случайно отправить монеты не на тот адрес