Introducción

Una de las características que mayor atracción ejerció en el público, y tal vez la más controvertida, es la privacidad absoluta. Sin embargo, a medida que más técnicas de análisis de blockchain han aparecido en el ámbito de las criptomonedas, esta característica se ha ido desvaneciendo en algunos casos. Para hacer frente a esto, las PayNyms han nacido, con el firme propósito de volver a la vida esa característica inicial de las transacciones en criptomonedas.

Pero ¿Qué es PayNyms?

PayNyms es una herramienta digital que se usa para enviar y recibir bitcoins de forma segura y privada utilizando códigos de pago reutilizables. Esta herramienta le permite agregar a sus amigos a su lista de contactos usando un sencillo nombre para enviar y recibir criptomonedas. Pero adicional, lo hace sin revelar su saldo o historial de transacciones. Esta característica brinda un nivel de privacidad importante, si lo comparamos con el uso directo de las transacciones de criptomonedas. Pero no solo eso, también facilita el uso de las criptomonedas al sustituir las crípticas direcciones por nombres fácilmente recordables.

Esto es posible en Bitcoin gracias al uso del BIP-47. Esta especificación permite producir un "código de pago" especial (que comienza con "PM8T") y que nunca cambia. Dicho código se puede compartir públicamente y con total seguridad. De hecho, cuando es escaneado o agregado por una billetera compatible, este código generará direcciones únicas no utilizadas de bitcoin para el usuario. Y todo ello, sin revelar el historial de transacciones o saldos anteriores.

La creación de esta PayNym se realiza tomando un código BIP-47 válido y aplicando un algoritmo de hash especial que produce una huella digital única que se utiliza para crear la imagen y la identificación del PayNym Bot. Un PayNym Bot es una representación visual de un código de pago reutilizable BIP-47 válido. Por otro lado, los PayNyms se controlan y administran mediante el software de monedero del lado del cliente. Solo el propietario demostrable de las claves privadas puede interactuar con su PayNyms, aportando seguridad.

¿Quién las creó?

La implementación PayNyms, es una herramienta creada por los desarrolladores de la empresa Samourai. Dicha empresa es la creadora de la Samourai Wallet, una de las wallets de Bitcoin centrada en la privacidad. La intención en la creación de esta herramienta es facilitar el acceso a una herramienta de privacidad impulsada por el BIP-47.

BIP-47

Sin embargo, todo lo que hace PayNyms no sería posible, sin los BIP-47 el cual es una implementación estándar dentro de Bitcoin, y otras criptomonedas compatibles. Este BIP-47, es un sistema de códigos de pago reutilizables para billeteras deterministas jerárquicas (monedero HD). Éste fue presentado por Justus Ranvier en 2015. Cómo puede indicar el título, agrega funcionalidad a las estructuras de billetera deterministas jerárquicas (o HD) existentes, en particular, al delinear un sistema que facilita los pagos recurrentes entre partes (todo mientras protege su privacidad).

Las billeteras HD hacen que la privacidad sea más accesible para el usuario, al derivar claves públicas sin revelar la "privada" (o xpub, que debe mantenerse en secreto). Se puede crear una cantidad prácticamente ilimitada de estas claves públicas y entregarlas a las contrapartes, quienes sólo podrían obtener la cantidad retenida por una clave en particular (y no la totalidad de la billetera).

El BIP-47 representa una mejora neta, sin duda, pero aún lejos de ser óptima cuando se trata de transacciones frecuentes. La buena práctica dicta que se utilice una nueva dirección para cada pago, por lo que volver a emitirlos constantemente puede convertirse rápidamente en un inconveniente para su privacidad. En este sentido se implementó PayNyms para aprovechar las bondades de BIP-47 mientras que PayNyms crea nuevas direcciones para una de sus transacciones a la vez que mantiene inalterable su código de pago.

¿Cómo funcionan?

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 agregado soporte para las direcciones SegWit usando PayNyms.

Ventajas y desventajas de PayNyms

Ventajas

  1. Facilidad de uso: la simplificación de la herramienta ha hecho que el proceso de realizar transacciones sea un proceso sencillo e intuitivo.
  2. Privacidad: la utilización PayNyms le garantiza al usuario que sus datos sensibles están protegidos del conocimiento de personas ajenas. Sólo el propietario puede interactuar con su PayNyms, debido a que esta herramienta opera del lado de cliente.
  3. Sin intermediarios: PayNyms no recurre a intermediarios ni a servicios de terceros y, de ningún modo, es uno de éstos.
  4. Seguro: PayNyms genera automáticamente una dirección de bitcoin única detrás de escena en su billetera, para cada nueva transacción que se maneja con esta herramienta. Estas direcciones nunca se reutilizan y solo las conocen el remitente y el destinatario de la transacción.
  5. Versatilidad: Para las transacciones entrantes de PayNyms en una billetera (transacciones que ha recibido un usuario), podrá iniciar un pago de devolución a la billetera del remitente con el monto y la dirección precargados. Los usuarios pueden ver el poder que una característica de este tipo puede habilitar con un poco de desarrollo, especialmente para el uso dinámico de comerciantes ambulantes.

Desventajas

  1. Sólo se puede usar si tanto el remitente como el receptor tienen PayNyms.
  2. Sólo se puede utilizar con billeteras compatibles con BIP-47, lo que limita su usabilidad.

Conclusiones

La privacidad de Bitcoin no es algo garantizado a nivel de protocolo. La forma en que un individuo almacena, realiza transacciones o usa Bitcoin es la diferencia entre permanecer virtualmente anónimo y brindar a los espectadores motivados acceso permanente a su historial de transacciones.

Desafortunadamente, lograr una mayor privacidad a menudo tiene un costo de conveniencia. La reutilización de direcciones es un talón de Aquiles para la privacidad de las transacciones, pero para muchas personas, incluyendo a los expertos como a los inexpertos en la tecnología blockchain, generar una nueva dirección y compartirla con otros usuarios no siempre es una tarea simple.

Samourai Wallet se plantea alcanzar esto haciendo uso ordenado de los códigos de pago reutilizables BIP-47 llamados PayNyms. Esta tecnología se puede utilizar para realizar transacciones de forma más privada y, al mismo tiempo, hacerlo más fácil de usar. Ya no necesita generar nuevas direcciones, copiarlas y pegarlas o escanear códigos QR para enviar o recibir una transacción de un amigo.

Con PayNyms, obtiene un código de pago único que puede compartir libremente con sus compañeros. Generará automáticamente nuevas direcciones cuando alguien desee realizar un pago. Esto evita la reutilización de direcciones y evita que los observadores externos sepan qué dirección se utilizó para una transacción determinada. Desafortunadamente, los PayNyms no se utilizan ni se implementan ampliamente en otras carteras, lo que limita su usabilidad.

En definitiva, la reutilización de direcciones es una gran enemiga de la privacidad. Ya sea que esté recibiendo bitcoins de un amigo o enviándole algunos a sí mismo desde otra billetera, siempre debe usar direcciones recién generadas. Por eso, PayNyms se convierte en una gran opción que le permitirá realizar sus transacciones desde una billetera Samourai. Esperemos que esta tecnología se extienda y se generalice en el uso de otras billeteras.