El código de estado HTTP olvidado que revivió la Lightning Network

bitao36
3 min readApr 8, 2024

--

Los códigos de estado HTTP son una parte esencial del protocolo HTTP, utilizados para comunicar el resultado de una solicitud realizada por un cliente a un servidor. Sin embargo, entre todos los códigos de estado definidos en el estándar HTTP, hay uno que fue prácticamente olvidado: el código de estado 402.

“El futuro es ahora”

El código de estado 402, “Pago Requerido” (en inglés, “Payment Required”), fue definido en la especificación original de HTTP/1.1, pero nunca se ha utilizado de manera generalizada en la web. Sin embargo, esta situación cambió con la llegada de Lightning Network ya que el futuro llegó.

Olaoluwa Osuntokun de Lightning Labs el 30 de Marzo del 2020 publica la especificación LSAT la cual contempla el uso del código de estado http 402 , un token de autorización llamado macaroon y un lightning invoice.

LSAT= HTTP 402 + MACAROON + LIGHTNING INVOICE

LND que es la implementación de la lightning network desarrollada por Lightning Labs usa macaroons, no así todas las demás implementaciones, entonces el estándar ha pasado a llamarse L402, y así el macaroon se puede generalizar como un token de la siguiente forma:

L402= HTTP 402 + TOKEN + LIGHTNING INVOICE

Bueno , esto suena muy bien pero ¿para que sirve?

L402 sirve como autenticación y al mismo tiempo un sistema de pago nativo de Internet utilizando Lightning Network.

Un negocio puede ofrecer un nuevo nivel de servicio que se ubica entre lo gratuito y la suscripción, sin necesidad de inicio de sesión, correo electrónico, ni contraseñas.

Los casos de uso más importantes y visibles son: Pago por acceso a contenido premium,pay-per-view,micropagos automatizados,autenticación y autorización en servicios basados en Lightning Network y monetización de APIs.

Ahora teniendo claro como lightning network resucitó el código 402 y cuales son sus casos de uso principales vamos a examinar un poco como funciona la magia que lo hace posible:

Cuando un cliente realiza una solicitud HTTP a un servidor que protege algún contenido o servicio que debe ser pagado con Lightning, el servidor puede responder con un código de estado 402 junto con un encabezado de autenticación que contiene un lightning invoice bolt11 válido. El cliente puede entonces realizar el pago del invoice usando la red Lightning y hacer de nuevo una petición añadiendo en el header el token obtenido previamente y la preimagen del invoice bolt11 pagado y así obtener acceso al recurso solicitado.

A continuación se detalla el flujo como está en la especificación L402

Imagen tomada de la especificación

Para developers que quieran mirar un ejemplo, he creado un proyecto básico en python que implementa L402 y usa un nodo LND L402LNDPy

En resumen, el código de estado HTTP 402 ha sido revivido por Lightning Network y ha dado lugar al estándar L402, proporcionando una solución elegante para la monetización de contenido en la web. A medida que la adopción de Lightning continúa creciendo, es probable que veamos un aumento en el uso de este código de estado y su impacto en la economía digital.

Si este artículo te ha sido de utilidad, invítame un café y déja un mensaje que te salga del corazón 🙂 Sats para un café

--

--

bitao36

#Linux #Bitcoin & #LightningNetwork Líder de educación en La Librería de Satoshi