Semilla, clave privada, dirección pública… Una sopa de letras.
Las wallets modernas usa el estándar HD. Hierarchical Deterministic. Las direcciones se generan deterministicamente. Siempre las mismas. Todas.
Para ello empezamos con una semilla. La semilla es un conjunto de x palabras extraídas aleatoriamente de esta lista es una manera fácil de codificar en lenguaje humano la clave privada maestra. Luego vienen las rutas de derivación, que no es más que ponerle un contador a la clave maestra e ir generando casi infinitas claves privadas. La clave privada genera la clave pública y ésta junto con el script, crean una dirección pública. El script no es un código que define las condiciones futuras de desbloqueo de los fondos que contiene la dirección. A esa dirección pública se pueden enviar efectivamente los fondos.
- Semilla. Nivel de seguridad EXTREMO.
Aplicamos un poco de magia (en realidad criptografía no reversible) - Clave privada maestra. Nivel de seguridad EXTREMO
Le ponemos un contador + Magia - Clave privada. Nivel de seguridad MUY ALTO.
Magia - Clave pública. Nivel de seguridad MEDIO.
Condiciones de desbloqueo + Magia - Dirección pública para recibir fondos. Nivel de seguridad MEDIO.
¿A qué me refiero con los niveles de seguridad?
EXTREMO: Su seguridad afecta al total de la cartera, es decir, a todas las direcciones, presentes siendo usadas y futuras aún por usar.
MUY ALTO: Su seguridad afecta a una única dirección y a los fondos contenidos en ella.
MEDIO: No afecta a la seguridad, pero sí a la privacidad. No puede mover fondos.
La magia, al menos hasta que la computación cuántica sea una realidad, sólo permite recorrer ese camino en una dirección. Dadas dos direcciones cualquiera, no hay manera humana o computacional a día de hoy de que un observador externo pueda afirmar que efectivamente pertenecen a la misma cartera.
Otra cosa el comportamiento humano y el uso que hagamos con esas direcciones. Los espías de la cadena no duermen.
Vires in numeris.