¿Qué es una dirección de monedero de criptomonedas? Guía para principiantes
Últimas actualizaciones:
4 nov 2024
Crear una dirección de monedero es lo primero que debes hacer para interactuar con cualquier red de cadena de bloques. Tanto si quieres almacenar criptomonedas, intercambiar tokens o interactuar con aplicaciones descentralizadas, tener un monedero de criptomonedas es esencial para poder realizar estas actividades. Es tu puerta de entrada al mundo digital, donde puedes gestionar y realizar transacciones con tus activos digitales de forma segura.
Si ya has utilizado un monedero de criptomonedas y posees tokens, es probable que tengas experiencia con las prácticas habituales de uso de monederos, como proteger las claves privadas y firmar transacciones. Estas acciones son fundamentales para garantizar que sólo tú tengas acceso a tus fondos y que las transacciones en la cadena de bloques se autoricen de forma segura. Comprender estos principios es vital para navegar con confianza por el ecosistema de la cadena de bloques.
En este artículo te explicaremos sin tecnicismos qué son las direcciones de monederos de criptomonedas y cómo funcionan los monederos de criptomonedas. Conocerás las operaciones que se realizan con criptomonedas que hacen que las direcciones de monedero sean especialmente seguras y capaces de interactuar con las cadenas de bloques.
¿Qué es una dirección de monedero de criptomonedas?
El registro distribuido de una cadena de bloques funciona de forma similar al libro de cuentas de un banco, mientras que la dirección de un monedero funciona como un número de cuenta bancaria. Aunque la tecnología de cadena de bloques, en particular la Máquina Virtual de Ethereum (EVM), permite operaciones más complejas que las simples transacciones, como ejecutar aplicaciones descentralizadas, en este artículo nos centraremos en sus aspectos contables y transaccionales.
Siguiendo con la analogía, cuando solicitas dinero a alguien compartes tu número de cuenta bancaria. Este identificador permite a otros enviarte fondos, pero no les da la capacidad de acceder a tu cuenta o retirarlos de ella. Del mismo modo, compartes una dirección de monedero para recibir criptomonedas. Es una cadena pública de caracteres que permite a otros enviarte criptomonedas, pero no da acceso a los fondos almacenados en el monedero.
En la red de Ethereum, una dirección de monedero es una cadena hexadecimal de 42 caracteres (formada por letras y números) que siempre empieza por "0x". Esta dirección sirve como tu identidad en el mundo digital de la cadena de bloques. Por ejemplo, si alguien quiere enviarte Ethereum (ETH), necesita tu dirección de monedero.
Una dirección de un monedero. Imagen vía MetaMask
Al igual que un banco mantiene un registro distribuido de los cargos y abonos en cuenta, la cadena de bloques lleva la cuenta de las direcciones de monedero y las transacciones asociadas a ellas. Este registro distribuido puede consultarse públicamente mediante los exploradores de la cadena de bloques, que proporcionan información detallada sobre el flujo de activos hacia y desde una dirección de monedero determinada.
Claves privadas
Las transacciones bancarias se autorizan utilizando identificadores personales como un PIN o similares. Estos identificadores son únicos para ti, pero cualquier persona que obtenga acceso a ellos puede controlar tu cuenta, por lo que es importante mantener seguras tus credenciales bancarias.
Del mismo modo, la dirección de monedero de criptomonedas está controlada por una clave privada, otra cadena hexadecimal que sirve como una "contraseña" criptográfica de tu monedero. Si alguien consigue acceder a tu clave privada, puede controlar los fondos de tu monedero. Por lo tanto, es crucial mantener tu clave privada en secreto y fuera de línea.
Por esta razón, las direcciones de monedero suelen denominarse claves públicas. Estas se comparten públicamente para recibir fondos, mientras que la clave privada se mantiene en secreto para autorizar las transacciones.
Funciones principales de una dirección de monedero
Enviar/recibir criptomonedas: La función más fundamental de una dirección de monedero es enviar y recibir criptomonedas. Recibes fondos en tu dirección pública y firmas las transacciones utilizando tu clave privada.
Identidad digital: Una dirección de monedero actúa como tu identidad digital en el mundo descentralizado. Se utiliza en varias plataformas basadas en la cadena de bloques para identificarte como usuario. Comprar un NFT marca la dirección del monedero como propietario, y el público rastrea tu actividad dentro de la cadena.
Acceder a dApps y contratos inteligentes: Las direcciones de monedero también te permiten interactuar con aplicaciones descentralizadas (dApps) y contratos inteligentes. Cuando conectas tu monedero a una dApp, la dirección de monedero identifica tu cuenta y facilita las interacciones con la cadena de bloques subyacente.
Un registro distribuido de activos propios, verificación pública: La dirección de tu monedero almacena un registro público de todos los activos que posees y de tus transacciones. La mayoría de las cadenas permiten la transparencia y la verificación pública, ya que cualquier persona puede consultar tu monedero en un explorador de cadenas de bloques para ver su historial de transacciones y su saldo. No obstante, tu identidad sigue siendo pseudo-anónima a menos que esté vinculada a tu identidad en el mundo real.
Tipos de criptomonedas y funciones. Imagen vía xgo
Cómo funcionan las direcciones de monederos
En la sección anterior destacamos que conocer el número de una cuenta bancaria no da acceso a los fondos que contiene. Acceder a una cuenta bancaria y controlarla requiere la utilización de credenciales privadas, como un PIN, para autorizar las transacciones. No obstante, esto plantea una pregunta interesante: ¿por qué alguien no puede gastar dinero sólo con el número de cuenta?
La razón reside en las normas que aplican los bancos. Estas normas no sólo las crean las instituciones financieras, sino que también están protegidas por leyes y reglamentos regionales. En otras palabras, el elemento humano, a través de los bancos y los sistemas legales, garantiza la seguridad de tu cuenta.
Por otro lado, la cadena de bloques funciona como un sistema autónomo y determinista. Se desarrolla sobre la base de reglas programadas y operaciones matemáticamente resolubles, sin necesidad de supervisión humana ni de la aplicación de leyes arbitrarias. Estas características son la base de su naturaleza descentralizada. Las cadenas de bloques no pueden depender de la intervención humana para asegurar las transacciones; deben depender totalmente de principios criptográficos.
En términos sencillos, mientras que las cuentas bancarias funcionan basándose en leyes reguladoras y en la aplicación de leyes arbitrarias, los monederos de criptomonedas funcionan puramente con leyes criptográficas. Estos procesos criptográficos dan a las direcciones de monedero su valor y les permiten funcionar sin una autoridad central.
Esta sección detallará los procesos criptográficos que hay detrás de los monederos, explicando por qué son seguros y cómo permiten transacciones sin necesidad de terceros de confianza en el ecosistema de la cadena de bloques.
Criptografía de clave pública
La criptografía es un método de protección de la información que utiliza códigos y conceptos matemáticos. Consiste en transformar la información en una forma a la que sólo puedan acceder o entender las personas autorizadas. Este proceso de ofuscar la información también se denomina cifrado.
Un concepto clave en criptografía es la Criptografía de Clave Pública (PKC) o criptografía asimétrica. Este sistema utiliza un par de claves para cifrar y descifrar la información. Este método es esencial para que las cadenas de bloques, incluida Ethereum, garanticen la comunicación y las transacciones seguras entre usuarios. En la PKC intervienen dos claves:
La clave pública: Esta clave se comparte con otros para verificar transacciones o cifrar información. Actúa como tu identificador público en la cadena de bloques.
Clave privada: Esta clave se mantiene en secreto y se utiliza para firmar transacciones, demostrando tu propiedad o autorización para mover fondos. Debe permanecer segura, ya que otorga control sobre tus criptoactivos.
Ethereum genera estos pares de claves utilizando un algoritmo PKC específico llamado Algoritmo de Firma Digital de Curva Elíptica (ECDSA). Aunque hay muchos algoritmos PKC diferentes, Ethereum confía en ECDSA porque permite a los usuarios interactuar sin permisos, lo que significa que cualquier persona puede participar en la red. Utilizar un algoritmo PKC común garantiza que todo el mundo pueda comunicarse y realizar transacciones de manera uniforme.
Representación gráfica de los algoritmos de la curva elíptica. Imagen vía Medium
Una característica esencial de este sistema criptográfico es que, aunque con la clave privada se puede generar la clave pública, es imposible hacer lo contrario: no puedes generar la clave privada a partir de la clave pública. Esta propiedad es similar a las leyes de seguridad de la banca tradicional, donde existen ciertas protecciones para salvaguardar los activos.
Para simplificar, imagina que los algoritmos PKC funcionan como un buzón. Tu buzón tiene una cámara bloqueada (similar a la clave pública), y cualquiera puede enviarte cartas o fondos dejándolos caer por la diminuta rendija. Sin embargo, sólo tú tienes la clave (clave privada) para abrir el buzón y recuperar el contenido.
El buzón como analogía de las criptomonedas. Imagen vía Mail Box
La siguiente sección proporcionará una visión general de cómo se aplican estos algoritmos criptográficos en el ecosistema de Ethereum para asegurar las cuentas y las transacciones.
Cómo genera Ethereum las direcciones
Vamos a explicar cada paso de la generación de una dirección de Ethereum con más detalle y a destacar la importancia de cada parte. Comprender estos pasos implica conceptos matemáticos y criptográficos.
Paso 1: Generación de la clave privada
Una clave privada es un número aleatorio entre 1 y 2^256. Es un número enorme, representado en 64 caracteres utilizando el sistema hexadecimal (incluyendo letras y números). Ethereum se basa en una fuerte aleatoriedad para garantizar la seguridad de las claves privadas. Si la aleatoriedad es débil o predecible, un atacante podría adivinar o deducir la clave privada de alguien, permitiéndole robar los fondos asociados.
¿Por qué es importante?
La clave privada es fundamental porque garantiza la propiedad y el control de los fondos asociados a una dirección de Ethereum.
La seguridad de Ethereum se basa en el hecho de que es computacionalmente inviable adivinar la clave privada de alguien debido a la inmensidad del espacio de claves (2^256 posibilidades, o aproximadamente 10^77).
Ejemplo de clave privada: 0x9c1c77ab91d10d71012d61dcb7b12aef8d509a2d13ed7c54f1e347b89720dc40
Esta clave se genera utilizando una función aleatoria. Puedes utilizarla para almacenar ETH, pero como es pública en este artículo, cualquiera puede reclamar los activos enviados aquí.
Paso 2: Obtención de la clave pública
Ethereum (como Bitcoin) utiliza la Criptografía de Curva Elíptica (ECC), concretamente la curva elíptica secp256k1, para derivar la clave pública de la clave privada utilizando principios geométricos. Se prefiere la ECC en la cadena de bloques porque proporciona un alto nivel de seguridad con tamaños de clave más pequeños en comparación con otros métodos como el RSA.
Multiplicación por Puntos de la Curva Elíptica:
La clave pública se obtiene mediante una operación de multiplicación en la curva secp256k1, cuyo resultado es un nuevo punto de la curva que representa la clave pública.
La particularidad de esta multiplicación en el algoritmo ECDSA es que es unidireccional, lo que significa que es prácticamente imposible invertir esta multiplicación y obtener la clave privada. Esta dificultad proviene del problema del logaritmo discreto en matemáticas sobre curvas elípticas, un problema bien conocido (más adelante hablaremos sobre ello).
¿Qué hace que la clave pública-privada sea indescifrable?
Se puede intentar forzar el algoritmo ECDSA. Como ya se ha explicado, la clave privada es un número enorme entre 1 y 2^256; puedes aplicar la misma multiplicación a cada número uno por uno hasta que obtengas dicha clave pública. Este proceso consume tantos recursos que es casi inabarcable. Veamos un ejemplo:
Si tuvieras un superordenador que pudiera realizar un billón de pruebas por segundo (10^12 pruebas/segundo), aún tardaría, de media, 2^256 / (10^12 conjeturas/segundo) = 10^65 segundos.
Esta cifra es mucho mayor que la edad del universo, que es de unos 13.800 millones de años (~10^17 segundos). Incluso con los ordenadores más rápidos de la Tierra, harían falta miles de millones de veces más que la edad del universo para tener una posibilidad razonable de adivinar correctamente una sola clave privada.
Paso 3: Obtención de la dirección de Ethereum a partir de la clave pública
Las direcciones de Ethereum no son simplemente la clave pública, sino que se derivan de ella mediante un algoritmo criptográfico de hash. En concreto, Ethereum utiliza Keccak-256 (una variante de SHA-3) para hacer hash de la clave pública. La función hash crea una cadena de 256 bits (64 caracteres hexadecimales).
Para representar la dirección de Ethereum solo se utilizan los últimos 20 bytes (40 caracteres) del hash Keccak-256. Este truncamiento forma la dirección estándar de Ethereum de 40 caracteres. Si se añade el "0x" antes de cada dirección, se obtiene la dirección de monedero de 42 caracteres que conocemos.
El hash Keccak-256 garantiza que las direcciones de Ethereum se distribuyan uniformemente y sean únicas para cada clave pública. Incluso un pequeño cambio en la clave pública producirá una dirección diferente (gracias al efecto avalancha de las funciones hash criptográficas).
¿Por qué es importante?
La dirección de Ethereum es el identificador compartido públicamente que permite a otros enviarte transacciones o tokens. No expone tu clave pública o privada directamente, lo que añade una capa extra de abstracción y seguridad.
El hash de la clave pública garantiza que el tamaño de la dirección sea manejable y que la posibilidad de colisión (es decir, dos usuarios con la misma dirección) sea prácticamente nula.
Resumen de conceptos clave e importancia
Generación de la clave privada: La seguridad se establece en esta fase mediante la aleatoriedad. Debido a su tamaño y al proceso seguro de generación aleatoria, la clave privada debe ser imposible de adivinar.
Criptografía de curva elíptica: Las claves públicas se obtienen mediante la multiplicación de puntos de la curva elíptica, lo que hace que el sistema sea eficaz y seguro, manteniendo al mismo tiempo tamaños de clave manejables. La naturaleza unidireccional de la criptografía de curva elíptica garantiza que las claves privadas permanezcan secretas.
Derivación de direcciones: Las direcciones de Ethereum se obtienen mediante el hash Keccak-256, que garantiza la unicidad, la coherencia y una longitud de dirección fija. Sólo se utilizan los últimos 20 bytes del hash, manteniendo el tamaño de la dirección lo suficientemente pequeño para su uso práctico.
Cada paso garantiza que las direcciones de Ethereum sean seguras, eficientes y resistentes a los ataques criptográficos habituales. Juntas, forman la columna vertebral del sistema de cuentas y del modelo de transacciones de Ethereum.
Direcciones del ecosistema Ethereum
Una de las ventajas del ecosistema Ethereum es que tu dirección de monedero Ethereum funciona sin problemas en todas las cadenas compatibles con la Máquina Virtual Ethereum (EVM). Esta interoperabilidad existe porque estas cadenas utilizan los mismos principios criptográficos para firmar y verificar las transacciones.
Si una cadena de bloques se ejecuta en la EVM, utiliza el Algoritmo de Firma Digital de Curva Elíptica (ECDSA), el mismo algoritmo que utiliza Ethereum. Dado que todas las cadenas compatibles con EVM se basan en este algoritmo compartido, puedes utilizar la misma dirección en varias cadenas, incluidas las redes Ethereum de nivel 2 como Arbitrum, Optimism y otras.
Mismas direcciones, no tokens
Es importante tener en cuenta que, aunque puedes utilizar la misma dirección de monedero en todas estas redes, los saldos y tokens de una cadena no aparecerán automáticamente en otra. Por ejemplo, tener un token en una cadena de capa 2 no será visible en la red principal de Ethereum, aunque utilices la misma dirección. El saldo del token se registra en el registro distribuido de contratos inteligentes de esa red específica. Si la transacción se registra en la capa 2, el saldo del token sólo será visible en esa capa 2, y lo mismo se aplica a la red principal de Ethereum.
En otras palabras, mientras que la dirección de tu monedero permanece constante dentro de estas cadenas, la visibilidad de los tokens depende de qué contratos inteligentes de la cadena de bloques tengan el registro de tus transacciones. Por tanto, tendrás que interactuar con la red específica de capa 2 o puentear activos a la red principal de Ethereum si quieres transferir saldos entre ellas.
Creación y uso de monederos
Al crear un monedero de criptomonedas, las aplicaciones correspondientes se encargan automáticamente de todos los pasos complejos de la construcción de una dirección, como la generación de claves privadas y públicas. Los usuarios no tienen que preocuparse de los procesos criptográficos tras bastidores. Sólo tienen que seguir los pasos que les proporciona la aplicación para crear y proteger su monedero. Así es como funciona el proceso:
Elección del monedero
En primer lugar, decide si necesitas un monedero caliente (conectado a Internet, como MetaMask) o un monedero frío (fuera de línea y más seguro, como Ledger). Un monedero caliente es más práctico para las transacciones frecuentes, mientras que un monedero frío ofrece mayor protección contra los hackeos, ya que se utiliza fuera de línea. Elige un proveedor de monederos de confianza en función de tus necesidades. Puedes consultar algunas recomendaciones sobre los mejores monederos Ethereum o monederos hardware en Coin Bureau.
Configuración del monedero
Una vez que hayas elegido un monedero, descarga la aplicación o configura el dispositivo físico y sigue las instrucciones. El paso clave es asegurar tu frase semilla, una serie de 12 o 24 palabras aleatorias que actúan como copia de seguridad de tu monedero. Una vez asegurada esta frase, la aplicación del monedero genera automáticamente tu clave privada, clave pública y dirección de monedero.
Configuración fuera de línea para mayor seguridad
Si es posible, generar la clave privada de tu monedero fuera de línea (utilizando un monedero frío) aumenta la seguridad. Como los monederos fríos no se conectan a Internet, reducen la exposición a posibles amenazas en línea, como hackeos o malware.
Empieza a utilizar tu monedero
Una vez configurado tu monedero, ya puedes comprar, enviar o recibir criptomonedas. Utilizarás la dirección de tu monedero para recibir fondos y tu clave privada para firmar las transacciones cuando gastes o envíes criptomonedas a otras personas.
Siguiendo estos pasos, tu monedero estará listo para almacenar y gestionar tus activos digitales de forma segura.
¿La computación cuántica es una amenaza para la tecnología de cadena de bloques?
Al hablar antes de la criptografía, comentamos el problema del logaritmo discreto, que hace prácticamente imposible invertir la criptografía elíptica como la empleada por ECDSA.
La computación cuántica es una amenaza potencial para las cadenas de bloques debido al Algoritmo de Firma Digital de Curva Elíptica. Ya hemos hablado de cómo incluso los mejores ordenadores modernos tardarían una cantidad de tiempo increíble en romper la criptografía ECDSA forzando la clave privada a partir de la clave pública. Esto se debe al inmenso número de posibles combinaciones de claves (alrededor de 2^256), que los ordenadores clásicos tendrían que probar individualmente.
No obstante, los ordenadores cuánticos funcionan de forma muy distinta. Mientras que un superordenador clásico intentaría todas las combinaciones posibles de forma secuencial, los ordenadores cuánticos pueden realizar determinados cálculos en conjuntos de datos muy grandes de forma simultánea utilizando los principios de la mecánica cuántica.
Esta capacidad, conocida como paralelismo cuántico, permite a los ordenadores cuánticos resolver problemas mucho más rápidamente. En concreto, el algoritmo de Shor puede resolver eficazmente el problema del logaritmo discreto de la curva elíptica, en el que se basa la criptografía ECDSA. Esta innovación hace que los ordenadores cuánticos puedan realizar ingeniería inversa de claves privadas a partir de claves públicas mucho más rápido que los ordenadores clásicos.
Debates en la comunidad Ethereum
En respuesta a la amenaza que suponen los ordenadores cuánticos, la comunidad de Ethereum ha estado debatiendo la sustitución del algoritmo de firma ECDSA por alternativas más seguras y resistentes a la computación cuántica. Una solución propuesta consiste en utilizar criptografía basada en retículos.
Criptografía postcuántica mediante retículos. Imagen vía PristineInfo
Mientras que la criptografía ECDSA utiliza curvas elípticas, en esencia objetos matemáticos bidimensionales, la criptografía basada en entramados añade muchas más dimensiones. En la criptografía de curva elíptica, el número de posibles combinaciones de claves es finito, pero extremadamente grande, lo que hasta ahora ha bastado para garantizar la seguridad. No obstante, los ordenadores cuánticos podrían reducir significativamente el tiempo necesario para descifrar estas combinaciones.
Con los retículos, podemos añadir 2, 3 o incluso más dimensiones, aumentando exponencialmente la complejidad del problema matemático. La complejidad añadida hace que sea mucho más difícil para los ordenadores cuánticos romper el cifrado. Mientras que las curvas elípticas limitan el número de combinaciones a un espacio muy grande pero finito, los retículos amplían exponencialmente ese espacio añadiendo más dimensiones, creando un método criptográfico resistente a la computación cuántica.
Qué es una dirección de monedero de criptomonedas: Conclusión
Este artículo tenía como objetivo proporcionar una inmersión más profunda en el funcionamiento de las criptomonedas, explorando cómo sirven de piedra angular de las interacciones de la cadena de bloques. Aunque hemos tocado algunos conceptos técnicos relacionados con la criptografía y la arquitectura de la cadena de bloques, esperamos que la comprensión de estos principios clave te haya proporcionado una mayor apreciación de la complejidad y solidez de la tecnología que hay detrás de los monederos de criptomonedas.
Comprender estos elementos fundamentales es crucial para cualquiera que desee entender plenamente la tecnología de cadena de bloques y su potencial. Con este conocimiento, puedes acercarte con confianza al sector, tomando decisiones informadas a medida que integras la cadena de bloques en tu vida financiera o exploras sus aplicaciones más amplias.
A medida que la cadena de bloques siga evolucionando, estos conceptos básicos seguirán estando en el centro de cómo interactuamos con los sistemas descentralizados, ayudando a dar forma al futuro de las finanzas y más allá.