Succinct Atomic Swap (SAS), es un novedoso género de intercambio atómico que facilita este género de operaciones, al unísono que ofrece posibilidades de intercambio considerablemente más veloces, económicas, seguras y sin intercesores. 

Los desarrolladores de tecnología blockchain cada vez se enfocan más en traer nuevas funciones, especialmente aquellas que dejen el funcionamiento cruzado de múltiples blockchain, y una de esas tecnologías son los Succinct Atomic Swap (SAS) o bien Intercambios Atómicos Concisos.

Los Succinct Atomic Swap o bien SAS, son realmente una evolución de los intercambios atómicos o bien atomic swaps que podemos ver desplegados en múltiples blockchain. La diferencia radica en que los SAS procuran hacer más fácil, eficaz y segura la manera en de qué manera esta tecnología marcha.

Succinct Atomic Swap (SAS), mejorando a los atomic swaps

La idea de los Succinct Atomic Swap (SAS) tiene su origen en la psique de Ruben Somsen, quien el once de mayo de dos mil veinte, escribió en la lista de desarrollo de Bitcoin el próximo mensaje: SAS: Succinct Atomic Swap. En tal mensaje, Somsen describía una idea que dejaba crear intercambios atómicos de forma veloz, con una menor dificultad de código y scripts, y con una baja actividad sobre la blockchain. Todo ello mientras que explotaba la flexibilidad de ECDSA, e inclusive apuntando al futuro con el empleo de firmas Schnorr y direcciones multifirma (MultiSig).

La idea de Somsen estaba apoyada sobre el trabajo del equipo de Monero (XMR) y sus atomic swap entre Monero y Bitcoin. Y asimismo, tomaba ideas sobre lo presentado por el usuario @TierNolan en dos mil trece en el conocido foro de discusión Bitcointalk. En cualquiera de los casos, la propuesta de Somsen facilita de gran forma la manera en como los atomic swaps pueden efectuarse, reduciendo al tiempo el impacto de exactamente los mismos sobre la blockchain, sin abandonar a la seguridad y la privacidad de exactamente los mismos.

Pese a la refulgente idea, esta clase de protocolos todavía no han sido construidos, continuando en un modelo experimental.

¿De qué manera marcha el protocolo?

Ahora bien, el funcionamiento de este protocolo depende primeramente de tecnologías que tenemos a predisposición en Bitcoin. Hablamos de criptografía ECDSA, o bien asimismo firmas Schnorr, direcciones multifirmas, y de forma adicional de códigos de operación (OP_CODES) como CLTV, nLockTime y nSequence. En resumen, en su forma más básica, no es preciso añadir nada auxiliar al protocolo Bitcoin, y otras criptomonedas derivadas de Bitcoin.

Iniciando el proceso

El proceso de funcionamiento de un SAS empieza cuando 2 personas empiezan el intercambio. En un caso así, nos referiremos a esas personas como Laura y Daniel. Laura tiene 1 BTC que quiere intercambiar en su equivalente con Daniel que tiene Litecoin (LTC), y todo ello sin pasar por un exchange centralizado.

Así debemos Laura prepara 1 BTC en una transacción que ha firmado con una firma conjunta utilizando su firma y la de Daniel. Esta primera transacción que todavía no ha sido mandada, va a llegar a la blockchain en un estado de espera. Esto es posible utilizando OP_CODES como CLTV y nLockTime, que dejan delimitar un tiempo de espera y otras condiciones precisas para procesar la transacción. En un caso así, la condición para la liberación de dicha transacción es que Daniel revele su secreto a Laura, algo que en este punto todavía no ha pasado.

La programación con CLTV de esta transacción asimismo obedece a otro punto, y es que caso de que las partes no completen el intercambio, dicha transacción pueda ser mandada a la blockchain, y pasado un tiempo, Laura pueda desbloquearla sin inconvenientes recobrando los fondos. Esto es posible por el hecho de que CLTV puede convertir una dirección multisig en una dirección fácil bajo determinadas condiciones que pueden programarse. Al tiempo que Laura recobra sus fondos, revelará un secreto a Daniel, el que le dejará recobrar los fondos que bloquee en su transacción de Litecoin.

Preparando la segunda transacción

Mientras la primera transacción todavía no se ha mandado, Laura y Daniel van preparando el resto de condiciones para el intercambio. En este punto, Laura y Daniel ahora crean una nueva y segunda transacción, mas ponen sobre esta un bloqueo a nivel de transacción (utilizando nSequence). Esto evitará que la transacción sea tomada por los mineros hasta el momento en que el tiempo del bloqueo pase, este tiempo es decidido por Laura y Daniel, y han decidido darle una hora de bloqueo.

Este bloqueo sobre la transacción se efectúa como un seguro que evita que Laura pueda perder su dinero en el caso de que Daniel actué de forma indecente. Y es que, merced al bloqueo y las condiciones en la que fue creada esa transacción, Laura puede recobrar dicha transacción sin inconvenientes. De allá que la elección del bloqueo sea el OP_CODE nSequence, en tanto que este deja un bloqueo relativo. Esto es, el bloqueo solo puede activarse en el momento en que una transacción precedente y sus salidas asociadas (la primera transacción firmada por Laura y Daniel) haya sido incluida ya en la blockchain.

Enviando transacciones

Ahora bien, lo siguiente es empezar a mandar las transacciones. Laura manda primero la segunda transacción, la que va a estar bloqueada indefinidamente hasta el momento en que la primera transacción llegue a la blockchain. No obstante, este hecho de mandar la segunda transacción a la red es indicativo para Daniel de que Laura ha comenzado el proceso de intercambio. Conque lo próximo que hace Daniel es crear una transacción en Litecoin por el total de intercambio, y para esa operación utiliza las firmas de Laura y suya.

Esta transacción en Litecoin es vista por Laura quien conforme con exactamente la misma procede a mandar la primera transacción, la que contiene 1 BTC para Daniel. Laura no va a poder acceder a los fondos en Litecoin debido a que no conoce el secreto de Daniel preciso para desbloquear dicha transacción. De esta manera en el momento en que Laura manda la primera transacción a la blockchain de Bitcoin, comienza a correr el reloj de los bloqueos.

Ahora bien, queda otro punto ¿De qué manera posiblemente Laura y Daniel sepan los secretos precisos para desbloquear sus respectivas transacciones en Bitcoin y Litecoin? Puesto que bien, en este punto entra en juego algo conocido como adaptador de firmas ECDSA. Este adaptador vuelve posible que ECDSA bajo determinadas condiciones pueda descubrir el secreto preciso a fin de que Daniel y Laura puedan desbloquear sus transacciones. De esa forma, van a poder efectuar de manera exitosa el intercambio, algo que vamos a explicar ahora.

El instante de intercambio

Ahora bien, tan veloz como la primera transacción esté en la blockchain Bitcoin, empieza el proceso de intercambio. La primera transacción está firmada de forma tal que solo es válida si Daniel revela su secreto. O sea, si Daniel desea el Bitcoin, esto solo va a ser posible si Daniel revela el secreto al interaccionar con dicha transacción. Ello se debe a que Laura firma dicha transacción de forma tal que solo va a ser válida bajo ese supuesto y el responsable de ello va a ser el adaptador de firmas ECDSA. Lo mismo pasa con la segunda transacción, con lo que a Daniel solo le queda una alternativa, interaccionar con dichas transacciones para demandar los bitcoins que quiere.

Así, cuando Daniel interacciona con la transacción para demandar el BTC, revela el secreto a Laura. En este punto, Laura conoce el secreto de Daniel y el suyo, con lo que puede ir a la blockchain de Litecoin y con los dos secretos en su poder desbloquear la transacción de Litecoin que Daniel ha mandado en intercambio por el BTC. De esta manera, Laura y Daniel han efectuado de forma exitosa un Succinct Atomic Swap (SAS).

Si el proceso acaba exitosamente, esto va a hacer que la segunda transacción sea inválida. Mas si el proceso no se efectúa, entonces la segunda transacción (bloqueada con nSequence) servirá como una transacción de reembolso, permitiéndole a Laura recobrar su BTC sin inconvenientes. Al final, en el mejor caso, un SAS siempre y en toda circunstancia va a poder llevarse en 2 simples transacciones en la blockchain.

¿Cuánto sabes, criptonauta?

¿Es posible incorporar los Succint Atomic Swap sin mudar el protocolo de las criptomonedas?

Ventajas y desventajas de los Succinct Atomic Swap (SAS)

Ahora bien entre los beneficios de este modelo podemos destacar:

  1. Requiere solo 2 transacciones en cadena para llenar exitosamente, en vez de 4. En el peor caso, el modelo precisa de 3 transacciones (para efectuar el reembolso) lo que todavía es más eficaz que los atomic swap existentes.
  2. Es posible efectuar este género de intercambios sin script avanzados, aun es posible hacerlo sin bloqueos de tiempos en una de las cadenas.
    Se puede usar para intercambios de privacidad eficaces.

Por otro lado, sus desventajas son:

  1. El acceso al dinero depende de rememorar secretos (dificultad de la copia de respaldo).
  2. Es preciso estar on line a lo largo de todo el proceso de intercambio, o bien se corre el peligro de pérdidas de dinero.
  3. Adicionalmente es preciso edificar watchtower o bien torres de vigilancia blockchain que soporte los bloqueo de tiempo. Esto es preciso para una configuración de 2 transacciones seguras, mas superfluas en un escenario utilizando 3 transacciones o bien sin bloqueos de tiempo.