cd ~/blog && cat construir-sobre-estandares.md

Construir sobre estándares

Por qué una semilla de 2017 sigue funcionando hoy

Escribes doce palabras en una aplicación que ni siquiera existía cuando las generaste. Pulsas «Restaurar» y, unos segundos después, ahí están tus fondos, con todo su historial.

¿Cómo es posible, si la aplicación es de otra empresa, de otro país y de otra época? Gracias a unos documentos que casi nadie lee: los estándares.

De claves sueltas a una semilla

Al principio, el software de Bitcoin generaba una clave privada al azar para cada dirección. Cada vez que querías recibir un pago en una dirección nueva, tenías una clave más que guardar. Hacer copias de seguridad era un dolor de cabeza, y perder una sola clave significaba perder los fondos de esa dirección.

En 2012 se propuso el estándar BIP32, que permite derivar un número ilimitado de claves a partir de una sola clave maestra, siempre en el mismo orden. Al año siguiente llegó BIP39, que convierte esa clave maestra en una lista de 12 o 24 palabras fáciles de apuntar.

Así nació lo que hoy conocemos como semilla. Una sola copia de seguridad, en papel, protege todas tus direcciones presentes y futuras. Y como cualquier aplicación que siga los mismos estándares deriva exactamente las mismas claves, la semilla funciona en todas ellas.

Cuatro generaciones de direcciones

Bitcoin no se ha quedado quieto desde entonces. Ha estrenado nuevos tipos de direcciones, y cada uno ha sido otro estándar acordado por todos. Se reconocen por cómo empiezan:

  • Legacy (P2PKH), empiezan por 1. Las originales. Funcionan, pero son las que más comisiones pagan.
  • P2SH, empiezan por 3. Las primeras en admitir condiciones de uso, como las direcciones que necesitan varias firmas.
  • SegWit nativo (P2WPKH), empiezan por bc1q. Separan la firma del resto de la transacción, lo que las hace más pequeñas y más baratas.
  • Taproot (P2TR), empiezan por bc1p. Activadas en noviembre de 2021, mejoran la privacidad y permiten condiciones más complejas.

Lo interesante es que ninguna generación ha borrado a la anterior. Una dirección de 2010 sigue siendo válida hoy. Cada estándar nuevo se añadió sin romper lo que ya existía, y cada uno tiene su propio camino de derivación, para que una misma semilla pueda generar direcciones de cualquier tipo.

Un detalle práctico: no todas las aplicaciones siguieron siempre los estándares al pie de la letra. Antes de confiar en una para restaurar tu semilla, conviene comprobar que los cumple.

Lo que un estándar te da

Esta historia no es exclusiva de Bitcoin. Puedes enviar un correo desde Gmail a alguien que usa Proton Mail porque ambos hablan SMTP, un estándar publicado en 1982. Puedes llevarte tus contactos de un teléfono a otro porque existe un formato común para describirlos. Nadie tiene que pedir permiso a nadie.

Un estándar abierto le da al usuario algo muy valioso: la libertad de elegir. Sus datos le pertenecen de verdad, porque cualquier herramienta compatible puede leerlos. Si una aplicación deja de gustarle, o deja de existir, se lleva todo a otra y sigue adelante.

Para quien construye un producto, apostar por estándares tiene otra ventaja menos evidente: obliga a ganarse al usuario cada día. Cuando los clientes se quedan porque quieren y no porque no pueden irse, el producto tiene que ser bueno de verdad.

Algunas formas sencillas de aplicarlo: exportar los datos en formatos comunes (CSV, iCalendar, vCard), apoyarse en protocolos abiertos en lugar de inventar uno propio y documentar cómo se guardan las cosas para que otros puedan leerlas.

Doce palabras que duran

Los estándares no son lo más vistoso de la tecnología, pero son lo que la hace durar. Una semilla apuntada en un papel en 2017 sigue abriendo los mismos fondos hoy, en aplicaciones que entonces no existían.

Si tu producto guarda algo importante para alguien, pregúntate si esa persona podría recuperarlo dentro de diez años, con otra herramienta. Si la respuesta es sí, has construido sobre algo sólido.

Referencias

¿Tienes algo que construir?

Empezar un proyecto