Monederos, seed y direcciones
Qué guarda realmente un monedero de Monero y por qué tiene dos claves
Un monedero de Monero no guarda monedas, sino claves. Todo parte de un único número aleatorio, apuntado como una frase semilla (seed) de 25 palabras. De él salen dos claves secretas: la clave de gasto (puede gastar) y la clave de visualización (solo puede ver los pagos entrantes). Y de ellas sale tu dirección pública.
Las monedas no están en el monedero
Tus monedas están registradas en la blockchain, un libro de cuentas compartido del que cada nodo guarda una copia. El monedero solo guarda el secreto que te permite (a) encontrar en ese libro las salidas que te pertenecen y (b) gastarlas. Si pierdes el secreto, pierdes el dinero. Si alguien descubre el secreto, puede gastarlo.
La frase semilla: 25 palabras
Al crear un monedero se genera un número aleatorio de 256 bits. Es incómodo de apuntar, así que el monedero lo convierte en 25 palabras de una lista: 24 palabras contienen el número en sí y la 25.ª es un checksum para detectar erratas. Estas palabras son tu monedero. Cualquier programa puede restaurar todo lo demás a partir de ellas.
Algunos monederos (por ejemplo, Feather) usan el formato más reciente Polyseed: 16 palabras que además codifican la fecha de creación del monedero (para no tener que escanear la blockchain desde el principio). La idea es la misma: las palabras son tu dinero. Más en frases semilla y direcciones.
¿Por qué dos claves?
En Bitcoin una sola clave secreta lo hace todo. En Monero las funciones están repartidas:
| Clave | Qué puede hacer | A quién se la puedes dar |
|---|---|---|
| clave de visualización | Encontrar los pagos entrantes y ver sus importes | A un contable, a un auditor, a un monedero de «solo lectura» en el servidor de una tienda |
| clave de gasto | Gastar dinero (e, indirectamente, ver los pagos salientes) | A nadie |
Esta división existe porque un monedero de Monero no puede simplemente «preguntar a la blockchain el saldo de una dirección»: la dirección no está en la blockchain. El monedero tiene que escanear cada transacción nueva y comprobar: ¿es para mí? Para esa comprobación basta la clave de visualización. Así, el escaneo se puede delegar en un servidor sin darle derecho a gastar.
Con solo la clave de visualización, un monedero ve los pagos entrantes, pero no puede saber con seguridad cuáles se han gastado: para eso hay que calcular la key image, que requiere la clave de gasto. Por eso un monedero de solo lectura muestra un saldo inflado hasta que se le importan las key images. Carrot (que llega con FCMP++) añade una clave aparte para esto.
Dirección principal y subdirecciones
La dirección principal empieza por 4 y tiene 95 caracteres. Pero compartirla con todo el mundo no es lo ideal: las personas a las que diste la misma dirección pueden saber que dos pagos fueron a la misma persona (por ejemplo, si dos plataformas comparan sus direcciones de pago).
Por eso los monederos de Monero pueden crear subdirecciones, que empiezan por 8. Puedes crear tantas como quieras, todas pertenecen a un mismo monedero, y las propias subdirecciones no revelan ningún vínculo entre ellas. Un buen hábito: una subdirección nueva para cada pagador.
Tipos de monederos
- Nodo completo + monedero (GUI/CLI oficial con tu propio
monerod): máxima privacidad: descargas y verificas la blockchain tú mismo. - Monedero con nodo remoto (Feather, Cake, Monerujo, etc.): el monedero descarga los bloques del nodo de otra persona, pero los escanea él mismo. El nodo no conoce tus claves, pero sí ve tu IP y cuándo envías transacciones.
- Monedero ligero: la clave de visualización se entrega a un servidor que escanea por ti. Cómodo, pero el servidor ve todos los pagos entrantes.
- De hardware (Ledger, Trezor): la clave de gasto nunca sale del dispositivo.
Hay recomendaciones concretas en la página monederos. ¿Quieres ver cómo funciona por dentro? Abre el generador de claves: realiza en tu navegador cada paso del diagrama de arriba.