Las llaves públicas y privadas son más que importantes para una wallet. Sobre todo la privada, ya que si perdemos esta, perdemos nuestras cripto. Las mismas pueden representarse en distintos formatos para transportarse y que sea más amena su lectura.
Representación de llaves públicas y privadas
Podremos encontrar diferentes formas de representar las llaves públicas y privadas para que sea más fácil para una persona leer la información o transcribirla.
Formatos de llaves privadas
Las llaves privadas pueden representarse en cuatro formatos distintos:
Raw: formato en crudo de 32 bytes poco legible.
Hex: formato hexadecimal más legible para un usuario.
WIF (Wallet Import Format): el formato de importación de billeteras codificado en Base58 es el ideal para transportar claves privadas. Incluye un prefijo para identificar la red de la Blockchain y un algunos bytes de comprobación de la clave.
WIF-compressed: similar a WIF, comprimido y con otro tipo de sufijos para determinar de qué tipo de dirección se trata.
Base58 Tal vez conozcas la codificación Base64. Satoshi Nakamoto propuso Base58 como un subconjunto de Base64 que elimina ambigüedades y lo vuelve más legible para un usuario. Concretamente, se elimina el número 0 y la letra O (mayúscula), se elimina la I (mayúscula) y la L (minúscula). También se eliminan caracteres especiales para que sea más fácil el copy/paste de una clave y evitar saltos de líneas.
Formatos de llaves públicas
Las llaves públicas pueden representarse en dos formatos distintos.
Los dos tipos son compatibles, tanto la llave pública comprimida como sin comprimir. Los algoritmos de curva elíptica Secp256k1 por detrás permiten esta compatibilidad. Claramente, la llave comprimida es mucho más amigable para el usuario y más utilizada en wallets.
Conclusión
Cada uno de estos formatos de llaves públicas y privadas representan la misma información. Por detrás de la conversión de un formato a otro existen complejos algoritmos criptográficos.
Es importante que, a no ser que tengas muy en claro el funcionamiento y la lógica de las fórmulas matemáticas y las técnicas de conversión, no realices tus propias implementaciones y te apoyes en librerías confiables ya desarrolladas por terceros en proyectos reales.
Indicaciones para correr el código: Crear un entorno virtual, e instala con pip estos módulos para que lo puedas correr correctamente: requests future cryptos
Aportes 16
Preguntas 2
Ordenar por:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
Buen día, en este link hay un cuaderno de Colab, donde se puede ejecutar el código ya esta listo con la dependencia solo dar ctrl+enter en la celda y se ejecuta el código, como decía en linea sin instalar nada si no les funciona simplemente hacen una copia de ustedes y ya: https://colab.research.google.com/drive/1uJr0aBv3UQPpPLMB5plnbIoOEN4H5PGn?usp=sharing
Private Key (hex) is: 8b190f68eb4e8e297e23b40b6916f837b50688b9e1db8762d761c410d11204c2Private Key (decimal) is: 62915763484503847160890079897021083875239575327126863714233910932760129832130Private Key (WIF) is: 5JsYegPLv8NZsGoBbY9z28ADt8zqbFHhL8gVzQ1XCanuUZ7uD28Private Key Compressed (hex) is: 8b190f68eb4e8e297e23b40b6916f837b50688b9e1db8762d761c410d11204c201Private Key (WIF-Compressed) is: L1t6hJqcuVYC4tiqmSWefxbhriJHUA4h1SuLxLZJJ89ccB39dp34Public Key (x,y) coordinates is: (7197675130297107898742386717568837453194295022719731921067843943001533515301, 55479910122938569818543254464113349726433849579481412965593111117842121137304)
Public Key (hex) is: 040fe9bd60a3b4e8a00cde7c7814839ba447e8335791ce66371b470674d0e106257aa8842ead072d434c0db591cc9c0b9abf4564c2655bb7db35f59905679a9c98Compressed Public Key (hex) is: 020fe9bd60a3b4e8a00cde7c7814839ba447e8335791ce66371b470674d0e10625Bitcoin Address (b58check) is: 16hMGE3VRSXu8eBbFaLUR2EhGv1THkLue7Compressed Bitcoin Address (b58check) is: 1CePtDnTvzFNmwmJwwvRP1iXk3JShGanMc
Se generaron las llaves publicas bajos distintos formatos, mencionados en el curso. Finalmente se obtuvo la direccion bitcoin.
<PrivateKey (hex) is: b16b283d16abe0f3843cc6730e61a5042adb7475c2adf09631dfce4e8da7f40e
PrivateKey (decimal) is: 80248704551967633403318141118943285104738343460734753862985386429697164309518PrivateKey (WIF) is: 5KARW1uFc3KY6acQqdaDdzmfSVZM8XmfpLPkYNut7raQoT3GpP6
PrivateKey Compressed (hex) is: b16b283d16abe0f3843cc6730e61a5042adb7475c2adf09631dfce4e8da7f40e01
PrivateKey (WIF-Compressed) is: L3Ab94ydTfEpFdMJDeRcnHz8fX3mrEpAKvbRBViQdFpU3jSfNAfX
PublicKey (x,y) coordinates is: (83142563456670743538220110363282001641222369218482212793296363729031210599649, 1393382102868651299104042344384187089921538542533733303875880869672751989354)
PublicKey (hex) is: 04b7d105f592f3355ce512e98a09b07ae33034ebafb4ffcd3f28df6803410e04e10314a056a984be333ce3f5c114359ca47f457056a745335aabef4ac908f8026a
Compressed PublicKey (hex) is: 02b7d105f592f3355ce512e98a09b07ae33034ebafb4ffcd3f28df6803410e04e1
Bitcoin Address (b58check) is: 15GyG39TAH4EDRueouNuJQpDZ6Vc6iYKSZ
Compressed Bitcoin Address (b58check) is: 12pebXX6FPomK7F6Gbs6mMzzLdh4dsFZgU
>
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?