¿Qué son los Cross-chain Swaps?

Los Cross-chain Swaps o bien Intercambios Entre-Cadenas, son un género de intercambio Peer to Peer que nos deja convertir seguramente nuestras criptomonedas o bien otras, sin mediadores de ningún género. 

Los cross-chain swaps o bien atomic cross-chain swaps, son un género de intercambio de monedas que tiene sitio entre 2 criptomonedas diferentes que se ejecutan en sus blockchain. O sea, es un mecanismo que deja a los usuarios intercambios de diferentes criptomonedas de forma directa entre 2 pares.

La forma más fácil de ver esta clase de cambios es el cambio de divisas fíat de siempre. En tales intercambios, 2 personas (una con euros y la otra con dólares estadounidenses) desean intercambiar sus monedas una por la otra a una tasa determinada. Para ello, en fíat sencillamente conociendo la tasa y haciendo las cuentas, cada una de las partes puede darle a la otra la cantidad de monedas equivalentes al cambio. Por poner un ejemplo, cien euros serían un equivalente a unos ciento veintiuno con cincuenta y cinco dólares americanos , utilizando una tasa de cambio de uno con 2 mil ciento cincuenta y cinco dólares americanos por euro. Basta decir, que dicho cambio ha sido directo y sin mediador.

Sin embargo, en este caso charlamos de cosas tangibles, es dinero que está en el planeta real. El interrogante acá es: ¿De qué forma hacer posible dicho intercambio utilizando criptomonedas cuyos sistemas marchan en plataformas diferentes? Puesto que bien, la contestación a ello son los cross-chain swaps y de ellos vas a conocer considerablemente más ahora.

Inicios de los Cross-Chain Swaps

El primer whitepaper que explica extensamente la naturaleza de cross-chain swaps es “Atomic Cross-Chain Swaps”, de Maurice Herlihy, del Departamento de Ciencias de la Computación de la Brown University Providence. Dicho documento, presentado a lo largo del Simposium ACM dos mil dieciocho, nos explica meridianamente de qué manera marcha un atomic cross-chain swap, sus posibilidades y primordiales desafíos en la creación de este género de herramientas.

Básicamente, lo que un cross-chain swap hace es; tomar el dinero de las partes y también ingresarlo bajo una programación singular que garantiza que la operación solo se pueda acabar con el permiso de las dos partes. Y, en el caso de que alguna parte actúe de forma maliciosa, esta no pueda tomar el control de nuestros fondos.

Ahora bien, la una parte de programación probablemente ha captado tu atención en este punto. Puesto que bien, primeramente, recuerda que toda transacción de criptomonedas se da merced a que dichas monedas responden a una programación o bien smart contracts que deja mandar, tomar y dar el control de dichas monedas. En Bitcoin, por poner un ejemplo, llamamos a esta programación es posible merced a Bitcoin Script, y en Ethereum, merced a Solidity. Normalmente, toda criptomoneda emplea este modelo de manejo para sus operaciones. A propósito, si deseas saber como comenzar a programar smart contracts para Ethereum, puedes comprobar nuestro articulo ¿De qué manera comenzar a programar en Solidity?

Ahora bien, tomando en cuenta que las criptomonedas son monedas programables, podemos hacer una programación singular, que nos deje el intercambio cross-chain de exactamente las mismas con toda seguridad. Esto es lo que vuelve posible este género de intercambio, y sobre esto vamos a hablar más a profundidad en la próxima sección.

Programando monedas, la clave de los cross-chain swaps

Ahora bien, vayamos un tanto al lado práctico de los cross-chain swaps y para esto vamos a tomar por servirnos de un ejemplo, a Bitcoin. Como ya mentamos, en Bitcoin contamos con el lenguaje de programación Bitcoin Script. Este lenguaje de scripting nos deja mandar y percibir monedas de forma absolutamente programada. En verdad, cada transacción en Bitcoin solo es posible utilizando dicha programación.

Pero hay algo bien interesante con las capacidades de este lenguaje, más particularmente con las funciones OP_CHECKSEQUENCEVERIFY (CSV) y OP_CHECKLOCKTIMEVERIFY (CLTV). La primera es un código de operación o bien OP_CODE realmente útil, en tanto que nos deja bloquear la ejecución de una determinado script o bien transacción hasta el momento en que determinadas condiciones se cumplan. Merced a esto, cosas como Lightning Network son posibles, como intercambios descentralizados y también intercambios Peer to Peer seguros. Exactamente estas 2 últimas son las que entran en el campo de las operaciones cross-chain swaps. El segundo código, por su lado, nos deja poner bloqueos de tiempo a nuestras transacciones, algo que podemos utilizar para crear mecanismos de seguridad para nuestros intercambios.

Así, si empleamos un monedero capaz de darnos la capacidad de efectuar operaciones cross-chain swaps, podemos hacer empleo de las funciones OP_CHECKSEQUENCEVERIFY y OP_CHECKLOCKTIMEVERIFY, y efectuar operaciones cross-chain swap con personas que tengan exactamente la misma capacidad. Y todo, pues nuestro monedero programará las monedas a fin de que solo puedan mudarse bajo una serie de condiciones que las dos partes hayan decidido por adelantado y sin intercesor alguno.

Por supuesto, esta es una explicación sencillísima de de qué manera sucede todo realmente, conque ahora vamos a explicar como realmente sucede todo esto.

¿De qué forma marcha un cross-chain swap?

Ahora bien, supongamos el próximo escenario. Por una parte, tenemos a Laura que quiere intercambiar su Bitcoin (BTC) por Monero (XMR). Y, por otra parte, tenemos a Juan que quiere intercambiar su Monero por Bitcoin. Los dos tienen una necesidad de intercambio, y las dos partes tienen la moneda que precisan.

Ante esto, Laura y Juan empiezan con el proceso de intercambio teniendo sus monederos capacitados para esto. Primeramente, Laura crea una transacción utilizando el código de operación OP_CHECKSEQUENCEVERIFY y bloquea la cantidad de Bitcoin a intercambiar con Juan. Dicho script solo va a poder ser desbloqueado cuando Juan cumpla con las condiciones de intercambio, emitiendo su transacción equivalente en Monero, y conozca el secreto que resguarda a la transacción de Laura. En el caso de que algo vaya mal, la transacción de Laura tiene una medida de seguridad que le dejaría recobrar el dinero pasado un tiempo, utilizando para esto OP_CHECKLOCKTIMEVERIFY.

Por su lado, Juan asimismo emite una transacción en Monero utilizando la programación pertinente. En un caso así, Monero no es compatible con OP_CHECKSEQUENCEVERIFY, sino en su sitio emplea una operación llamada DLTC o bien Discrete-log Timelock Contract, un sistema que deja pagos condicionales en esta moneda. Dicha operación, le deja a Juan producir un pago en Monero, que solo se va a hacer efectivo si Laura cumple con las condiciones. De la misma manera que Laura, Juan ha incluido condiciones que le dejarán recobrar los fondos caso de que algo vaya muy mal.

En este punto, las dos partes han emitidos los pagos, mas absolutamente nadie tiene el dinero. En este punto, llega la hora de revisar las condiciones de desbloqueo, que le dejarán a Laura y Juan tomar el dinero del intercambio de forma eficaz. De este modo, tanto Laura como Juan revelan los secretos que resguardan sus transacciones. Es cuando los dos conocen dichos secretos, cuando van a poder utilizarlos para desbloquear el script que retiene los pagos. Caso de que ciertas partes haya actuado de forma maliciosa, una de las partes puede hacer empleo de las medidas de seguridad para sus transacciones.

Estas medidas de seguridad son los bloqueos de tiempo, y su función es asegurar que los fondos estén inalcanzables para las dos partes por un determinado y prudencial periodo de tiempo. De esta forma, si pasado un tiempo, una de las partes no cumple con las condiciones, la otra puede sencillamente retirar su dinero del intercambio y recobrarlo, quedando como al comienzo.

Cross-chain swaps con otras criptomonedas

El ejemplo que hemos dado aquí lo hemos efectuado con Bitcoin y Monero. Y, a pesar de que es un caso falso, se aproxima a la realidad de este sistema. En verdad, el equipo de Monero está hoy en día trabajando en un protocolo de cross-chain para dejar que los usuarios de Bitcoin puedan transformar su BTC en Monero utilizando esta aproximación.

Por supuesto esto no solamente se limita con criptomonedas como Bitcoin o bien Monero, todas y cada una de las criptomonedas tienen esta posibilidad, siempre que cumplan con estos 2 requisitos:

  1. Deben permitir el bloqueo a nivel de scripts.
  2. Deben permitir el bloqueo a nivel de tiempo.

Ambos bloqueos de ejecución de transacciones tienen como finalidad añadir la seguridad precisa a fin de que estos intercambios sean seguros. De esta manera, por servirnos de un ejemplo, Ethereum podría incorporar este sistema para permitir cross-chain con otras criptomonedas, y lo mismo con el resto de criptos. La única limitante en todo esto es la que los desarrolladores puedan interponer al no aguantar determinadas funciones o bien equivalencias en la blockchain y criptomoneda.

¿Cuánto sabes, criptonauta?

¿Los Cross-chain Swaps pueden ser un medio simple para hurtarnos nuestras criptomonedas?

Otras alternativas

Otras opciones alternativas a los cross-chain swaps son los Succint Atomic Swaps (SAS), cuyo funcionamiento asimismo dejaría el intercambio de monedas cross-chain. No obstante, este sistema apenas ha sido definido y por el momento no hay un modelo de funcionamiento teorizado completo y revisado.

Pros y contras de los Cross-chain swaps

En primer sitio, entre los pros de los cross-chain swaps podemos mencionar:

  1. Permite una nueva funcionalidad descentralizada, segura y privada para intercambiar nuestras monedas por otras sin depender de los exchanges centralizados o bien descentralizados.
  2. Nos ayuda a producir una activa de empleo de monedas considerablemente mayor. El intercambio de moneda, por poner un ejemplo, nos dejaría ampliar nuestro empleo de monedas en cualquier instante, y sin mayores dificultades. De esta manera podríamos mudar nuestro BTC de manera rápida por EOS, caso de que un negocio o bien establecimiento solo admite EOS como forma de pago.

Por sus contras podemos mencionar:

  1. Si utilizamos monederos que tengan una pobre implementación de esta clase de protocolos nos exponemos a perder nuestro dinero. La seguridad de este sistema se encuentra en la programación de condiciones bien claras y seguras que nos resguarden en todo instante.
  2. Pueden ser algo complejos de emplear, de manera especial para aquellos que inician en el planeta de las criptomonedas.

bitcoin
Bitcoin (BTC) $ 63,054.00
ethereum
Ethereum (ETH) $ 4,151.52
binance-coin
Binance Coin (BNB) $ 485.33
tether
Tether (USDT) $ 1.01
cardano
Cardano (ADA) $ 2.15
solana
Solana (SOL) $ 209.23
xrp
XRP (XRP) $ 1.09
polkadot
Polkadot (DOT) $ 43.67
dogecoin
Dogecoin (DOGE) $ 0.264147
usd-coin
USD Coin (USDC) $ 1.00