Una versión de este artículo se publicó originalmente en BC1984.
Episodio 70 de “Citadel Dispatch”, “Uso de Lightning en privado con Tony y @FuturePaul”:
Tony:
“Hay una delgada línea entre educar y ser pesimista. La gente necesita saber que no es perfecto y que hay muchos agujeros en la privacidad de Lightning y también en la privacidad de Bitcoin. No es una causa perdida. Me gusta remolcar la línea entre romper la privacidad y arreglar la privacidad. Romper la privacidad para educar a las personas que está un poco rota y que debes tener cuidado. Pero también tratando de educar y mejorar al mismo tiempo. La razón por la que hago esto es para que podamos mejorar la privacidad”.
Mate:
“Para solucionar problemas, primero debe ser consciente de los problemas”.
pLN es un nuevo proyecto de billetera en el que están trabajando Tony y @futurepaul que tiene como objetivo facilitar a los usuarios seguir el “camino feliz” de realizar pagos en privado en la red Lightning.
Todavía es muy temprano en el proyecto, pero el caso de uso es muy claro, considerando todas las trampas al tratar de gastar bitcoin en lugar de Lightning de una manera que preserve la privacidad.
Los objetivos principales para el lanzamiento del producto mínimo viable (MVP) de pLN son permitir a los usuarios:
- Abrir canales Lightning a través de un depósito en cadena
- Realice pagos a través de Lightning
Y, lo que es más importante, al menos en la versión inicial:
- Se desactivará la recepción de pagos Lightning
- Cada canal se abrirá en su propio nodo separado
Para comprender por qué la recepción de pagos se deshabilitará desde el principio, es importante comprender algunos de los principales obstáculos en Lightning tal como existen actualmente:
- Todas las facturas contienen el ID de canal del destinatario
- El ID del canal filtra información determinista sobre el nodo/propietario
Sin embargo, si en su lugar utiliza el “ID de canal corto”, que aún no es ampliamente compatible, estos no tienen ningún vínculo con el estado de la cadena, el propietario del nodo o los UTXO originales utilizados para financiar el canal.
La aplicación pLN en sí se está escribiendo con Flutter, lo que significa que las versiones de escritorio y móvil (tanto para Android como para iOS) estarán disponibles.
Bajo el capó
Debajo del capó, la aplicación utiliza un “nodo raíz” y una serie de “nodos de canal”, uno para cada canal. La aplicación se basa en gran medida en el proyecto Sensei de John Cantrell, que se basa en LDK.
El nodo raíz se encarga del trabajo pesado: escuchar los mensajes de chismes, construir el gráfico de la red, calcular las rutas, etc. Los nodos de canal individuales solo rastrean su propio estado de canal y nada más.
El backend de Bitcoin puede ser una conexión a bitcoind o un servidor Electrum personal. Para dispositivos móviles, Electrum probablemente sea la mejor opción, ya que está diseñado para conexiones remotas seguras.
¿Qué pasa si quiero pagarle a mi amigo que también usa pLN?
Dado que los pagos directos a los socios de canal revelan información sobre su nodo y dejan en claro que los pagos provienen de usted, debe tener cuidado al realizarlos, y hacerlo con moderación en el mejor de los casos.
El concepto de negación plausible entra en juego con un mayor número de saltos entre usted y el destinatario final. Cuantos más saltos haga en el camino, mayor será su conjunto de anonimato.
La aplicación eventualmente le permitiría anular las protecciones integradas y realizar un pago a un par, pero solo después de advertencias claras y fuertes sobre lo que esto implica y qué información puede estar filtrando, si decide continuar.
Por ejemplo, puede optar por realizar un pago directo a su amigo que también está ejecutando pLN si lo desea. (Imagina que no te importa o no importa si saben qué canales tienes abiertos, ya que les estás pagando en persona y confías en ellos).
Pero la aplicación lo alentaría a intentar realizar un pago con múltiples saltos si es posible. (Es probable que los valores predeterminados opten por más de un par de saltos al menos, supongo).
También le avisará si intenta abrir un canal con un centro público importante (como en los nodos de ACINQ o Breez). Idealmente, debería abrir canales con nodos desconocidos/más pequeños siempre que sea posible.
¿Qué pasa con los pagos grandes?
Se pueden hacer pagos grandes para que parezcan pagos atómicos de rutas múltiples (AMP) parcialmente completados (AMP que están a la mitad), con liquidez saliendo de varios de sus nodos de canal individuales, según sea necesario. Todos los satélites convergen en el destino final al final. ¡Muy genial!
Ideas futuras para la aplicación (TBD)
- Habilite rutas ciegas una vez que esté disponible en LDK
- CoinJoin continuo con UTXO en cadena en la billetera en el nodo raíz
- Empalme de salida/empalme continuo y CoinJoin con sats en canales
- Opciones de UX de tiempo de espera: si su pago tarda demasiado en enrutarse, la aplicación puede indicarle si desea probar otra ruta con menos saltos
Pensamientos finales
- La privacidad es un espectro
- Tenemos que equilibrar la usabilidad y la experiencia del usuario con los conjuntos de anonimato (anonsets) y la privacidad mientras tratamos de ayudar a evitar que los usuarios se disparen en el pie.
Creo que este es un proyecto y una billetera nuevos y emocionantes que deberían ayudar tanto a educar a los usuarios sobre la privacidad como a permitirles usar Lightning de una manera sencilla.
Esta es una publicación invitada de Adam Anderson. Las opiniones expresadas son totalmente propias y no reflejan necesariamente las de BTC Inc o Bitcoin Magazine.