¿Por qué las claves públicas no se utilizan directamente como direcciones de cuenta? [duplicar]

Entiendo que las direcciones son hashes de las claves públicas. ¿Pero por qué? ¿Cuál es la razón detrás de esta decisión de diseño?

¿Y por qué 160 bits? ¿Por qué no usar el hash directamente? ¿Se garantiza que 160 bits serán suficientes en el futuro para la compatibilidad y la seguridad?

tal vez solo sigan el diseño de bitcoin. referencia: bitcoin.stackexchange.com/questions/3600/…
(Ese duplicado básicamente pregunta "¿Cuál es el uso de la dirección Ethereum en primer lugar?")
@ lz96 Eso es interesante. De hecho, Bitcoin usa RIPEMD160, lo que probablemente explica por qué Ethereum trunca la salida de Keccak-256 a ese tamaño.

Respuestas (2)

Ethereum se ha creado para el "futuro" teniendo en cuenta la resiliencia. Para la generación de direcciones (es decir, par de claves públicas y privadas), se utiliza la criptografía de curva elíptica (ECC) y, entre otras razones, su rendimiento es muy superior a otros algoritmos existentes (por ejemplo, basados ​​en RSA).

Aunque no se ha encontrado ninguna falla en el algoritmo de curva elíptica utilizado en Ethereum, los diseñadores fundadores querían mantener el sistema resistente en caso de que se detecte una falla/vulneración en el algoritmo para que nadie pueda realizar ingeniería inversa de la clave privada a partir de la clave pública. . Debido a que ya se ha demostrado que el algoritmo hash es inmune a la ingeniería inversa, agregar esto en la parte superior significa que nadie puede volver a la clave privada desde la dirección (incluso si el algoritmo ECC fuera explotable).

Estoy de acuerdo en que es útil en los casos en que se requiere un cambio en el algoritmo clave, ya que el hashing agrega un nivel adicional de direccionamiento indirecto. Pero en cuanto a su reclamo de irreversibilidad, ¿la clave pública no está también presente en las transacciones?
Consulte crypto.stackexchange.com/a/18106/59755 para recuperar las claves públicas de las transacciones. Una propiedad interesante es que antes de que una cuenta haya firmado transacciones, no es posible recuperar las claves únicamente de las direcciones.

Las direcciones son más pequeñas que las claves públicas, son identificables a partir de las direcciones de otras criptomonedas, algunas direcciones como bitcoin tienen una suma de verificación incorporada, mientras que las direcciones de ethereum son números de cuenta IBAN válidos.

Estoy preguntando específicamente sobre Ethereum. No conocía la historia del IBAN. Pero eso parece ser solo una característica adicional, mientras que supongo que el diseño del espacio de direcciones debe ser anterior a ICAP.
Ok, había dado una respuesta en sentido genérico, tengo que investigar el diseño de direcciones de ethereum. Pero una cosa es segura, el diseño de direcciones de ethereum ha puesto a muchos usuarios en problemas, no tiene suma de verificación, el mismo espacio de direcciones se usa para las redes de prueba, incluso para las bifurcaciones de ethereum como ethereum classic. Los usuarios han enviado éteres accidentalmente a testnets y otras bifurcaciones. Mientras que bitcoin usa marcadores y sumas de verificación en sus direcciones. Para que los usuarios no puedan enviar monedas accidentalmente a direcciones incorrectas