learn me a monero

Cómo funciona Monero de verdad, explicado para que pueda seguirlo alguien que nunca ha abierto un libro de criptografía.

¿Quién lo envió? firmas de anillo → FCMP++ ¿Quién lo recibió? direcciones de un solo uso (stealth) ¿Cuánto? compromisos de Pedersen + Bulletproofs+ todo junto = RingCT (hoy) → FCMP++ (pronto)
Monero oculta tres cosas que en Bitcoin ve todo el mundo. Cada una tiene su propia técnica.

¿Por dónde empiezo?

El sitio tiene cuatro partes:

  • Principiantes: explicaciones sencillas sin fórmulas. Si nunca has oído hablar de Monero, empieza aquí.
  • Técnico: cómo funciona por dentro: claves, direcciones, firmas, compromisos, RingCT y FCMP++. Hay fórmulas, pero cada una se desmonta paso a paso.
  • Práctica: monederos, frases semilla, mantener el anonimato, tener tu propio nodo, dónde comprar, comparación con otras monedas, recursos.
  • Herramientas: calculadoras en vivo en tu navegador: genera claves y una dirección, construye una dirección de un solo uso, suma compromisos de Pedersen, mira cómo se eligen los señuelos.

¿Por qué este sitio?

Bitcoin tiene explicaciones estupendas en lenguaje sencillo. Monero tiene sobre todo artículos de investigación, código fuente en C++ y discusiones de desarrolladores que dan por hecho que ya lo sabes todo. Entre «Monero es una moneda privada» y «CLSAG es una firma de grupo anónima espontánea, vinculable y concisa» hay un abismo.

Este sitio intenta tender un puente sobre él. Cada tema empieza por el porqué, después explica el cómo y solo entonces muestra las fórmulas. Los diagramas usan los mismos colores en todo el sitio:

  • rojo: claves privadas y secretos (nadie más debería verlos);
  • turquesa: claves públicas y puntos de la curva (todo el mundo los ve);
  • morado: key images (la huella de una salida gastada);
  • verde: importes y compromisos;
  • amarillo: hashes.
Todo es verificable

Las herramientas de este sitio usan las mismas matemáticas que un monedero real de Monero (Keccak-256, Ed25519, Base58 de Monero) y se han comprobado contra una implementación de referencia. El código es pequeño, no tiene dependencias y está en xmrcrypto.js. Aun así, es código didáctico: no lo uses para guardar dinero real.