He estado tratando de leer acerca de cómo funciona la criptografía de clave pública y acabo de entender qué es la criptografía de clave pública y en qué se diferencia de la criptografía de clave simétrica.
También acabo de leer que bitcoin usa "Algoritmo de firma digital de curva elíptica (ECDSA)" para generar pares de claves pública/privada, y luego
la clave pública se codifica varias veces hasta que se parece a la dirección familiar de Bitcoin.
Luego leí aquí, https://ethereum.stackexchange.com/questions/3542/how-are-ethereum-addresses-generated que Ethereum también usa ECDSA para generar un par de claves y luego se toma el hash Keccak-256 de la clave pública .
Mi pregunta es, ¿todas las criptomonedas existentes usan el mismo algoritmo para generar pares de claves?, si eso es cierto, ¿se puede usar un solo par de claves Públicas/Privadas para almacenar múltiples monedas dado que la clave pública tiene un hash de acuerdo con cada criptomoneda? estándar ?
No necesariamente.
Una criptomoneda puede usar cualquier algoritmo asimétrico que elijan, y estoy seguro de que algunos han intentado cosas diferentes, pero ECDSA tiene una gran ventaja: las claves públicas se generan a partir de claves privadas.
Con algoritmos asimétricos como RSA, las claves públicas y privadas se generan juntas. Con ECDSA, eliges un número aleatorio (dentro de ciertos límites), y esa es tu clave privada. Ahora todo lo que tiene que hacer es calcular la clave pública correspondiente a partir de su clave privada. Esto hace que la generación de nuevas direcciones sea rápida y computacionalmente económica. También permite esquemas como BIP32 HD Wallets.
También tenga en cuenta que ECDSA puede usar el mismo algoritmo usando diferentes curvas elípticas. Bitcoin usa secp256k1 , pero también existen otras curvas.
Al final, depende de la moneda. Hay tanta diversidad hoy en día, dudo mucho que todos usen el mismo algoritmo y curva.
Si desea ver cada paso, puede consultar algunas herramientas en línea, como https://gobittest.appspot.com/ .
Aquí puede probar todos los valores con diferentes prefijos y diferentes bytes de red. El cálculo es el mismo para todas las billeteras blockchain basadas en bitcoin.