Actualmente, las direcciones de Bitcoin y sus sumas de verificación se construyen a partir de la clave pública mediante el uso de hashing repetido con SHA256 y RIPEMD160. Ahora entiendo el razonamiento detrás del uso de hashing para construir la suma de verificación, pero ¿por qué no se usó solo la clave pública original con una suma de verificación agregada? ¿Es solo por las direcciones más cortas o hay otras implicaciones de privacidad/seguridad al usar hashes de claves públicas en lugar de solo claves públicas?
Es solo para obtener direcciones más cortas. Las claves públicas normales tienen una longitud de 65 bytes, que es demasiado larga para ser conveniente. Las claves públicas comprimidas tienen 33 bytes y podrían usarse potencialmente en lugar de hashes, aunque estos son un poco más largos que los hashes de 20 bytes. También parece probable que Satoshi no supiera acerca de las claves públicas comprimidas o no se sintiera cómodo usándolas cuando diseñó Bitcoin.
Los hashes parecen ayudar contra ciertos ataques (algunos ataques contra ECDSA, por ejemplo), aunque también abren la posibilidad de otros ataques (como ataques contra RIPEMD-160). No me queda claro si mejoran la seguridad en general.
pieter wuille
liamzebedee
Tobias Kienzler
JBaczuk
Ilya Loskutov