es
Volver a la lista

Drivechains, la tecnología para que Bitcoin absorba todas las altcoins

source-logo  observatorioblockchain.com 06 Febrero 2024 08:17, UTC

Las drivechains son una tecnología de Layer2 para Bitcoin que permiten la creación y utilización de múltiples cadenas laterales, facilitando así la existencia de monedas alternativas dentro de la misma red Bitcoin. Este enfoque presenta numerosas ventajas. Entre ellas, la posibilidad de experimentar, sin permiso, la introducción de nuevas funciones y casos de uso, la mitigación de la competencia entre cadenas de bloques y la mejora de la escalabilidad.

El creador de la propuesta es Paul Sztorc, un desarrollador de Bitcoin y actual CEO de LayerTwo Labs, que presentó en 2017 dos propuestas de mejora para Bitcoin (BIPs): los BIP-300 y BIP-301. En estos dos BIPs, Sztorc sentó las bases para una implementación descentralizada de múltiples cadenas laterales de Bitcoin.

Drivechains

El objetivo de Sztorc es que Bitcoin absorba el resto de altcoins, al permitirles ser representadas como sidechains de Bitcoin, evitando así la fragmentación del ecosistema y mejorando la interoperabilidad entre las mismas. De esta manera, forma, sería posible que criptomonedas como Litecoin, fueran simplemente una representación drivechain dentro de Bitcoin, asegurada por la red Bitcoin, compatible con la misma y siendo totalmente interoperable, tal como sucede con la actual red de Lightning Network.

Funcionamiento de las Drivechains

Para hacer realidad todo esto, las Drivechains utilizan una serie de capacidades de la red Bitcoin. Más específicamente, utilizan las pruebas de Verificación de Pago Simplificada (SPV) para permitir a los usuarios realizar transacciones de Bitcoin hacia y desde una cadena lateral (sidechain), empleando una vinculación bidireccional.

Posteriormente, el BTC enviado en esta operación se bloquea en una dirección en cadena dedicada. Esta dirección funciona como una bóveda segura, que asigna saldos a la drivechain en cuestión. Este sistema se parece mucho a lo que vemos en los actuales pool bridges cross-chain en el ecosistema DeFi.

Recordemos que cuando enviamos un token o moneda entre cadenas (ej: DAI desde Ethereum a DAI en Polygon) lo que realmente pasa es que el bridge toma nuestros DAI en Ethereum y emite la cantidad de DAI correspondiente (pagando comisiones) en la red Polygon.

Pues bien, exactamente lo mismo pasa con las drivechains. Cuando un usuario de Bitcoin hace un pago para interactuar con una drivechain, éste emite el pago con una serie de instrucciones (usando Bitcoin Script), que luego son procesadas por la red Bitcoin y la drivechain en cuestión.

Al final, el usuario recibirá su pago correspondiente en la drivechain y dirección especificada, mientras que su BTC (la moneda origen) queda almacenada en una bóveda a manera de seguro de liquidez entre ambas redes. Un mecanismo muy parecido se utiliza en Lightning Network, utilizando un tipo de contrato conocido como HTLC o Hash Time Lock Contract.

Sus propias reglas de consenso

Por supuesto, todo esto pasa por un proceso de verificación, en el que ambas partes (la mainchain y la drivechain) verifican la transacción realizada, asegurándose que la operación de bloqueo de saldos se haga de forma adecuada. Esto es importante porque de ello depende la seguridad y la correcta relación económica entre ambas cadenas.

Pero aquí entra en juego otro punto fundamental de las drivechains: puedan tener sus propias reglas de consenso. Gracias a esta capacidad, las drivechains pueden tener políticas de emisión y de comisiones distintas a las que vemos en la cadena principal de Bitcoin, lo que ,en efecto, les convierte en un ecosistema “separado” de Bitcoin, aunque en realidad estén ejecutándose de forma conjunta.

Múltiples criptomonedas, una sola red

Por ejemplo, una implementación posible con drivechains es ZCash. Recordemos que ZCash es un derivado del protocolo Bitcoin, al que se le ha agregado una serie de medidas pensadas en mejorar la privacidad de esta criptomoneda, gracias al uso de criptografía de pruebas de conocimiento cero, zk-SNARKs.

Al ser un derivado, ZCash tiene muchos aspectos similares con Bitcoin, lo que le hace compatible con la implementación de drivechains. Así, podemos crear una drivechain para ZCash y agregar en dicha drivechain todo lo necesario para su funcionamiento. Incluyendo, por supuesto, la capacidad de anonimato que zk-SNARKs habilita. Todo ello sin interrumpir el buen funcionamiento de Bitcoin.

Este ejemplo deja claro que las Drivechains amplifican la utilidad de la red Bitcoin. Así como podemos implementar ZCash, podemos implementar otras cadenas. Como Monero o Ethereum, incluyendo la EVM y toda la capacidad de smart contracts de esta red. Todo ello, porque la implementación sería una drivechain. Imaginen el nivel de expansión que puede alcanzar esta tecnología.

A igual que pasa con Lightning Network, lo mejor de todo es que podemos pasar de una drivechain a Bitcoin nuevamente. En este caso, el proceso a seguir es el contrario, emitiendo la operación desde la drivechain para luego llevar a la mainchain de Bitcoin. En el siguiente vídeo podemos ver como Paul Sztorc demuestra esta tecnología usando ZCash.

Hashrate Escrow, una gran multifirma de mineros

Ahora bien, pasar de Bitcoin a la drivechain (o viceversa) es bastante sencillo, ya que para ello se establece un sistema de mensajería usando un nuevo código de operaciones conocido como OP_DRIVECHAIN. Este código de Bitcoin Script permite que la red Bitcoin pueda enviar mensajes a las drivechains y que éstas operen de acuerdo con los mismos. Por supuesto, las drivechains también pueden hacer lo propio, pero el mecanismo es un poco diferente, como podrás ver más adelante.

Lo importante es que cuando se realiza una operación entre una Bicoin y una drivechain entra en juego el OP_DRIVECHAIN. Este es nuestro mensajero y permite la interoperabilidad entre ambas redes y sus conjuntos de reglas de consenso. Todo este proceso es orquestado por un mecanismo llamado Hashrate Escrow.

El Hashrate Escrow es un sistema de votación que permite a los mineros de Bitcoin y a los operadores de la drivechain votar sobre la validez o invalidez de una operación. En realidad, se trata de una enorme multifirma en la que se necesitan un mínimo de 13150 votaciones (de un total de 26300) para que una operación sea aceptada o no. Estas firmas son las que habilitan la operatividad de una drivechain.

Un ejemplo de Hashrate Escrow

Por ejemplo, si ejecutamos un retiro desde una drivechain a la mainchain de Bitcoin, la operación se realiza siguiendo el consenso de la drivechain. Este consenso puede conllevar la congelación de los fondos que se van a retirar y el envío de los datos de operación correspondientes a los mineros de la cadena de bloques de Bitcoin, utilizando OP_DRIVECHAIN, con el fin de habilitar el retiro en la mainchain.

Sin embargo, esto no es inmediato, ya que aquí entra en juego el Hashrate Escrow. Para que esto sea aprobado los mineros deben votar si la operación es válida o no, lo que necesita de 13150 firmas, que son emitidas por el minero en cada bloque que se agrega a la red mainchain. De esta forma, un retiro desde una drivechain puede tomar aproximadamente seis meses.

Ciertamente, esto último no suena muy divertido y mucho menos usable. Pero todo tiene solución: la generación de mercados de compensación. Estos serían servicios que se pueden crear tanto en la mainchain como en la drivechain, para poner de acuerdo a ambas partes con el fin de hacer intercambios.

Por ejemplo, si Juan desea salir de una drivechain con 1000 €, pero María desea entrar a esa drivechain con la misma cantidad, se pueden crear mecanismos de intercambios que permitan que Juan y María intercambien entre ellos sus respectivas monedas. Así, Juan le pasa a María los 1000 € en la drivechain y María, a su vez, hace lo mismo en la mainchain. Así, ambas operaciones se harían de forma muchísimo más rápida y dando lugar a que se generen nuevos mercados y aplicaciones dedicadas a este tipo de servicios.

Blind Merge Mining, minando criptomonedas a ciegas

El segundo elemento que hace posible las drivechains es el Blind Merge Mining (BMM). El objetivo de este tipo de minería es superar dos limitaciones asociadas con la conocida Merge Mining (ej: la usada por RSK o Namecoin), Estas limitaciones en cuestión son:

  • Los mineros deben ejecutar un nodo completo de la drivechain (algo que puede llevar a errores)
  • Los mineros reciben pagos usando otra moneda distinta a Bitcoin (ej: en RSK, recibes tokens RSK).

Sin embargo, en Blind Merge Mining, los mineros de la cadena principal (mainchain, en este caso Bitcoin) pueden extraer en una cadena lateral (drivechain) sin necesidad de validar en la cadena lateral (sin ejecutar otro software que no sea Bitcoin Core).

Hash crítico

Para ello, las drivechains introducen un nuevo tipo de transacción en la que el nodo de la drivechain solicita al minero de la mainchain que incluya un «hash crítico” en la coinbase de un bloque de la mainchain. La inclusión del hash crítico en la coinbase significa una extracción exitosa del bloque de drivechain. Tras minarse un bloque Blind Merge Mining en la drivechain, el minero será capaz de reclamar la recompensa correspondiente a dicha drivechain, recibiendo dicha recompensa en la mainchain de Bitcoin y sujeta al Hashrate Escrow, por lo que el minero deberá esperar a que se complete el firmado para poder retirar dicha recompensa en Bitcoin.

Este es el mecanismo que permite que el OP_DRIVECHAIN sea capaz de interoperar entre ambas cadenas, ya que no se ejecutan nodos especiales para cada drivechain, sino que la funcionalidad de las mismas a nivel de generación de bloques y consenso, se puede lograr usando el mismo software de Bitcoin Core (con las correspondientes adiciones para ello).

Potencial e impacto de Drivechain en el ecosistema

Como puedes ver, las drivechains buscan abordar desafíos clave que enfrenta Bitcoin, como la escalabilidad, la capacidad de actualización y la diversificación de activos. Algunos de estos desafíos incluyen la necesidad de un consenso amplio para introducir cambios en Bitcoin. Como la limitación de Bitcoin para transferir solo su activo nativo y el trade-off entre escalabilidad y descentralización.

Igualmente, las drivechains buscan unificar las funciones existentes en otras cadenas dentro de Bitcoin. Por ejemplo, sería posible crear una drivechain que emule la funcionalidad de Filecoin, en la que los participantes de esa drivechain presten servicios de almacenamiento de datos y reciban pagos correspondientes por el servicio prestado. Recordando nuevamente, está ligado al BTC que está dentro de la drivechain.

Paul Sztorc sigue desarrollando este curioso diseño desde su empresa LayerTwo Labs. En la actualidad, ya hay implementaciones para Ethereum y ZCash, lo que muestra claramente el potencial de esta tecnología.

observatorioblockchain.com