¿Qué es una PayNyms?
Básicamente el funcionamiento de una PayNyms es sencillo. Si usas Samourai Wallet, solo deberás ir a la opción “PayNyms” en su menú. Rápidamente se te preguntará si deseas reclamar una dirección PayNyms, a lo que puedes responder “Si”, y con ello recibes tu PayNyms listo para usar. Desde ese momento, basta con compartir este nombre con el resto del mundo para recibir pagos a través del mismo, y dichos pagos irán a distintas direcciones no asociables entre sí, permitiéndote mantener de forma privada tus saldos y demás. Esto sin embargo, es la forma sencilla de ver como funciona un PayNyms, porque debajo de todo esto, existe un procedimiento criptográfico bastante complejo.
El proceso de crear una PayNyms comienza con nuestra Master Private Key (XPriv) en el monedero determinístico que usemos (monedero HD). Esta clave será tomada para derivar de la misma el PayNym. La derivación de este código es posible haciendo una relación de la metadata de tu cuenta e identidad derivadas en tu monedero HD, usando el BIP-32 (el estándar de los monederos HD) y el BIP-44 (el estándar para monedero HD multicuentas).
Este proceso de derivación prácticamente lo que hace es crear desde tu XPriv (Master Private Key), una clave pública derivable asociable a tus cuentas del monedero HD, usando un secreto compartido creado a partir de un protocolo Elliptic-curve Diffie–Hellman (ECDH) y la curva elíptica secp256k1, estándar dentro de Bitcoin. El uso de ECDH permite crear un sistema seguro para compartir un secreto entre el que sería mi monedero, y el monedero de otras personas, un secreto que habilita al resto a poder enviar pagos al PayNyms creado, y a mi monedero entender esos pagos y recibirlos.
Una vez se ha creado el secreto, comienza el proceso de serialización o formateo de nuestro código de pago. El formato que se usa para este tipo de direcciones es del tipo binario (de 0 y 1) pero de cara al usuario siempre se usa el formato Base58, donde podemos ver la infaltable cadena inicial “PM8T”, indicando que estamos frente a un código de pago reutilizable, o PayNym en este caso.
Cuando compartimos este código con otros usuarios, lo que sucede es que el monedero toma el PayNym, y de el mismo deriva una dirección de pago del tipo P2PKH. La derivación de la dirección es posible porque dentro del PayNym hay un secreto criptográfico capaz de permitir dicha operación. El secreto está bien protegido, y no hay forma de violar el mismo y usarlo para adueñarse de los fondos en ningún momento. Así, cada vez que se realiza un pago, la dirección resultante es distinta, nunca se repite manteniendo en todo momento nuestra privacidad bien protegida. Es de destacar que recientemente, también se ha agregadosoporte para las direcciones SegWit usando PayNyms.