Glosario / Lightning y capa 2
Intercambio submarino
- ¿Qué es un intercambio submarino?
- Un intercambio submarino permuta bitcoin on-chain por bitcoin en Lightning en un solo paso atómico, usando el mismo hash de pago en ambos lados para que ninguna parte pueda llevarse el dinero y huir.
Los dos lados de la operación viven en capas distintas, y ahí está toda la dificultad. Un intercambio submarino la resuelve haciendo que un solo secreto desbloquee ambos tramos: el contrato on-chain y el pago Lightning están atados a un único hash, así que o se liquidan ambos o se reembolsan ambos. Alex Bosworth describió la técnica en 2018.
Cómo funciona
Un intercambio submarino es un solo secreto que gasta dos contratos situados en capas distintas.
Suponga que tiene monedas on-chain y quiere un saldo Lightning. El proveedor de swaps genera una preimagen aleatoria, calcula su hash y le emite una factura Lightning que fija ese hash. Usted paga con una transacción on-chain normal a un script que dice: el proveedor puede reclamar esto revelando una preimagen que coincida con el hash, o usted puede recuperarlo cuando expire un bloqueo temporal (timelock). El proveedor ve que sus fondos se confirman, revela la preimagen on-chain para reclamarlos, y esa misma preimagen es lo que liquida la factura Lightning en su billetera. Un valor, dos liquidaciones, ninguna ventana en la que un lado tenga las dos cosas.
Los bloqueos temporales son lo que lo hace seguro y no simplemente cómodo. La ruta de reembolso on-chain tiene que expirar más tarde que el tramo Lightning, de modo que, si el proveedor se estanca, su pago Lightning ya haya fallado y se haya deshecho antes de que su reembolso on-chain se pueda reclamar. Si ese orden se invierte, el proveedor podría retener la preimagen hasta que se gaste su reembolso y después liquidar el lado Lightning.
Si se ejecuta la misma construcción a la inversa, cumple la función opuesta. En un intercambio submarino inverso, usted paga una factura Lightning y el proveedor le paga on-chain, lo que convierte saldo del canal en almacenamiento en frío sin cerrar ningún canal. Lightning Labs empaquetó ambos sentidos como Loop, publicado como versión alfa el 20 de marzo de 2019, y Loop Out es el sentido inverso y el que la gente usa para crear espacio para recibir.
Lo que el intercambio submarino no elimina es una exposición a la contraparte de un tipo más leve. Su dinero no se puede robar, porque cada ruta se hace cumplir mediante un script o expira. Sí se puede retrasar: un proveedor que se desconecta a mitad del intercambio submarino lo deja a usted esperando un bloqueo temporal, que son minutos en el tramo Lightning y pueden ser horas en el tramo on-chain.
Dónde aparece
Los intercambios submarinos son la infraestructura que hay detrás de funcionalidades que nunca los mencionan.
Las billeteras móviles que le permiten "recargar desde su saldo on-chain" sin abrir un canal suelen estar ejecutando internamente un intercambio submarino. Las billeteras que ofrecen un movimiento de un solo toque desde Lightning de vuelta a una dirección de billetera de hardware están ejecutando un intercambio submarino inverso. Los operadores de nodos los usan como una tienda usa un depósito nocturno, vaciando canales llenos hacia almacenamiento on-chain y recuperando la capacidad de recibir pagos. Boltz y Loop son los dos nombres que más encontrará en herramientas y documentación.
Conviene conocer dos costos antes de usar uno. Primero, el proveedor cobra una comisión de servicio además de la comisión de minería on-chain, y en montos pequeños domina la comisión de minería: hacer un intercambio submarino de 50.000 satoshis cuando la cadena pide 20 sat/vB es una mala operación, por bueno que sea el precio del proveedor. Segundo, uno de los tramos es una transacción on-chain, así que toda la operación espera confirmaciones aunque la mitad Lightning sea instantánea.
Intercambio submarino frente a intercambio atómico
Un intercambio submarino permuta bitcoin por bitcoin entre dos capas; un intercambio atómico permuta dos activos distintos entre dos cadenas distintas. Ambos usan el mismo truco de hash y bloqueo temporal, y por eso los nombres se confunden. La diferencia está en lo que cambia de manos: después de un intercambio submarino usted tiene el mismo activo en otro lugar, on-chain en vez de en un canal, mientras que después de un intercambio atómico tiene algo completamente distinto y ha asumido el riesgo de precio de ese activo. Los intercambios submarinos son infraestructura rutinaria que se usa a diario. Los intercambios atómicos entre cadenas siguen siendo raros en la práctica, porque necesitan que ambas cadenas admitan contratos compatibles y que ambas partes permanezcan en línea.