Artículo de Blog

Experimenta con Canales de Pago en Stellar

Autor

Bri Wylde

Fecha de publicación

On/Off-Ramps

Pagos transnacionales

Fíat

En junio de este año, la red de Stellar fue actualizada al Protocolo 19, que implementó CAP-0021 (Condiciones Generales para Transacciones) y CAP-0040 (Firmante de Carga de Ed25519 para la Divulgación de la Firma de Transacciones). Estos dos nuevos CAPs abren muchas oportunidades para los usuarios, incluyendo puentes hacia otras blockchains, soluciones de recuperación de claves y canales de pago, que es nuestro tema principal de hoy.

Refresco de CAP-21 y CAP-40

Ha pasado un tiempo desde que hablamos sobre CAP-21 y CAP-40, así que hagamos un pequeño resumen (reCAP, ¿entiendes?).

CAP-0021 introdujo nuevas precondiciones opcionales que afectan la validez de una transacción y son integrales para la funcionalidad de un canal de pago. Entre las precondiciones están:

  • Número de secuencia mínimo - típicamente en Stellar, las cuentas deben enviar transacciones a la red con números de secuencia incrementando de uno en uno. Esto puede ser problemático al enviar múltiples transacciones rápidamente ya que pueden validarse fuera de orden, resultando en errores.

    Con esta precondición establecida, puedes saltarte números de secuencia, permitiéndote enviar una transacción exitosamente siempre y cuando su número de secuencia sea mayor que el minSeqNum.
  • Edad mínima de secuencia - te permite imponer bloqueos temporales relativos en una transacción, significando que una transacción solo es válida cuando transcurre una duración establecida desde la edad del número de secuencia de la cuenta.

    Esta precondición puede imponer una separación temporal entre la declaración del cierre del canal de pago y el cierre real, lo que permite a cada parte disputar el estado final del canal.

CAP-0040 introduce un nuevo tipo de firmante que puede simplificar el proceso de firma. En los canales de pago, los participantes deben intercambiar firmas a través de múltiples transacciones en la cadena (apertura, declaración y cierre). La introducción de CAP-40 de un nuevo tipo de firmante hace posible que las partes intercambien todas las firmas para un conjunto de transacciones en un solo mensaje, reduciendo la complejidad sin sacrificar la seguridad.

Con el Protocolo 19 en su lugar, los usuarios y creadores de Stellar son libres de explorar el maravilloso mundo de los canales de pago! E incluso experimentar con Starlight — el propio protocolo de canal de pago de Capa 2 de SDF, sobre el cual puedes leer en nuestro blog anterior aquí.

¿Por qué usar canales de pago de todos modos?

Los canales de pago son geniales para hacer montones de transacciones de manera económica y en un corto periodo de tiempo. Probablemente estés pensando: “Pero si Stellar ya es económico y rápido, ¿por qué necesito canales de pago?” Buena pregunta. Stellar tiene tarifas bajas y un TPS rápido. Sin embargo, mientras que la red de Capa 1 de Stellar típicamente procesa alrededor de 200 transacciones por segundo, Starlight registró 1.19 millones (así es, millones) de pagos por segundo entre dos usuarios. Si tienes un caso de uso para hacer montones de micropagos en un corto periodo de tiempo, los canales de pago podrían valer la pena.

Otra gran cosa sobre los canales de pago es que no importa cuántas transacciones se realicen en el canal, solo tres se registran en la cadena (apertura del canal, declaración del cierre y el cierre). Esto te da lo que quieres de un TPS alto sin realmente aumentar el TPS en la red, liberando la red para cosas más emocionantes, como emitir tu propio token HAMSTER.

Entonces, la mayoría de las transacciones de un canal de pago ocurren fuera de la cadena. ¿Eso significa que estamos sacrificando seguridad? ¡Definitivamente no! Los canales de pago en Stellar son criptográficamente seguros. Todavía necesitas firmar y acordar cada transacción al transaccionar fuera de la cadena.

Desglosemos cómo funciona esto.

Un desglose de cómo funciona un canal de pago Starlight

Nota aquí que Starlight es solo una variante de canal de pago, algo que puedes usar, modificar y expandir. Exhibe una relación de dos partes, bidireccional- pero los canales de pago no están limitados a este escenario. Puedes experimentar con canales de pago de múltiples partes si lo deseas, ¡y alentamos esa experimentación!

Armemos un pequeño escenario. Walker y Daniel quieren abrir un canal de pago juntos. Walker ha estado robando descaradamente el WiFi de Daniel, y Daniel ha decidido que es hora de que Walker comience a pagar (ojalá no con tokens HAMSTER).

  1. Daniel propone abrir un canal de pago con Walker.
  2. Walker acepta, lo que abre el canal de pago.
  3. Con el canal de pago abierto, se crean dos nuevas cuentas multi-firma: una para Daniel (DM) y una para Walker (WM).
    a. Dado que Daniel es el iniciador, su cuenta multi-firma (DM) es la cuenta fuente para las transacciones dentro del canal de pago y se usa para rastrear el estado del canal.
    b. DM mantiene los activos que Daniel aporta al canal de pago; WM mantiene los activos que Walker aporta al canal de pago.
    c. DM y WM son controladas por las cuentas de Daniel y Walker cuando el canal de pago está abierto.
  4. DM y WM transaccionan en el canal de pago.
    a. Estas transacciones ocurren fuera de la cadena, con cada pago dictando un nuevo saldo final que Daniel y Walker recibirán o pagarán al cierre del canal.
  5. Daniel expresa su deseo de cerrar el canal de pago con la transacción de declaración.
  6. Debido a la precondición de bloqueo temporal relativo de CAP-21, Walker tiene tiempo para evaluar el estado final del canal de pago y disputarlo si es necesario.
  7. Una vez que la transacción de declaración es firmada por ambas partes y enviada, la transacción de cierre también se envía en la cadena, finalizando el cierre del canal de pago.
    a. Dependiendo del estado final del canal, los activos se distribuyen de DM a WM o viceversa.
    b. El control de WM se devuelve a Walker, y DM se devuelve a Daniel.

Esta es una explicación muy básica de cómo funcionan los canales de pago. Si estás interesado en ver el proceso en detalle de 1080p, revisa este video de SDF: Video Meridiano de Starlight y la documentación detallada de Starlight.

Starlite: viendo los canales de pago en acción

No, no he escrito mal ‘Starlight’. Starlite es un prototipo de canal de pago basado en web, prueba de concepto, demo, si quieres, traído a ti por el Ingeniero de Ecosistema de SDF Tyler van der Hoeven para ayudarte a ver los canales de pago en acción. No es bonito, pero hay algo que decir sobre la simplicidad, ¿sí?

Échale un vistazo para ver qué tan rápido se pueden hacer pagos fuera de la cadena y cuán rápidamente alcanza el estado final en la cadena.

Hay muchas posibilidades que el Protocolo 19 trae a la red de Stellar. Ya sea que estés trabajando con puentes, canales de pago o cualquier cosa entre ellos, siéntete libre de participar y hacer preguntas en nuestro Discord de Desarrolladores de Stellar (echa un vistazo al canal #starlight específicamente).