NXTER.ORG

Ardor Frente a la competencia, Parte 6: Komodo/SuperNET

Este artículo forma parte de una serie que pretende comparar Ardor con otros proyectos blockchain con características u objetivos similares. A continuación puedes encontrar las entradas anteriores:

Esta semana he analizado Komodo, la plataforma blockchain que conforma la base de Supernet.

SuperNET

Al igual que sucede con Waves, SuperNET fue fundado por una persona que fue muy activo en la comunidad Nxt en el pasado. Y tal y como hice en mi artículo sobre Waves, no voy a entrar en este tema en este artículo.

Es suficiente con decir que James/jl777 era desarrollador de SuperNET, el Multigateway y varios otros proyectos en Nxt, incluyendo un determinado número de activos en el Intercambio de Activos de Nxt, pero que abandonó la comunidad Nxt durante el turbulento periodo de finales de 2015 y comienzos de 2016. Desde entonces, ha creado la plataforma Komodo, que ahora funciona como elemento base de SuperNET.

La visión de SuperNET es permitir que los usuarios realicenr transacciones de forma sencilla entre diferentes tipos de criptomonedas, para disfrutar de todas las ventajas de cada moneda. Por ejemplo, si lo he entendido correctamente, una aplicación de SuperNET podría permitir que los usuarios realizasen transacciones privadas con Bitcoin, siendo convirtida desde y hacia una moneda privada como Komodo en segundo plano. Desde el punto de vista del usuario, sería como si Bitcoin hubiese “tomodo prestada” la función de privacidad de Komodo.

Supernet en si mismo no es una blockchain. En cambio, es una estructura compuesta de varios componentes. Sus principales partes son:

  1. Komodo, una blockchain ligada a Bitcoin;
  2. assetchains y geckochains, blockchains independientes ligadas a Komodo;
  3. el monedero Agama, un monedero multimoneda;
  4. BarterDEX, un exchange descentralizado (DEX) que será integrado en el monedero Agama;
  5. Iguana, el código base sobre el que se cimienta el monedero de Agama y parte de Komodo.

Hay que mencionar que muchos de los textos sobre SuperNET hacen referencia al monedero de Agama como monedero Iguana, puesto que este era su nombre anterior.

El proceso de anclaje de los elementos 1 y 2 es el algoritmo de consenso delayed proof-of-work (Prueba de Trabajo Diferida) de Komodo, que describo a continuación. Hablaré de BarterDEX más adelante.

Prueba de Trabajo Diferida

Komodo es un fork de zCash, una blockchain que usa el algoritmo zero-knowledge proofs o de prueba de conocimiento-cero (via zk-SNARKs) para permitir que los usuarios realicen transacciones sin revelar sus números de cuentas al exchange. Komodo ha añadido varias características a su ramificación del código base de zCash, incluyendo el algoritmo de Prueba de Trabajo Aplazada (dPoW), así como un mecanismo para la creación de blockchains adicionales que son ancladas periódicamente a la cadena de Komodo.

El white paper del dPoW afirma que el mecanismo del dPoW permite que cualquier blockchain se asegure a sí misma usando el hashpower de Bitcoin, gracias a que periódicamente se certifican ante Bitcoin. En pocas palabras, el consenso en las blockchains más débiles tiene lugar en dos fases: un consenso inicial siguiendo los métodos tradicionales (por ejemplo con PoW o PoS) y una segunda capa de consenso establecida periódicamente por una serie de nodos notarios, elegidos por los partícipes, que almacenan un hash de los bloques de las cadenas débiles en la blockchain de Bitcoin. Todos los nodos en la red están de acuerdo en que, en caso de fork, no reorganizarán la blockchain a un estado anterior previo al que el que fue certificado usando Bitcoin.

Sostiene el autor que de esta manera, la blockchain más débil hereda algo de la seguridad de Bitcoin. Incluso un atacante que contase con la mayoría del haspower de la red no podría modificar la blockchain más allá del último bloque certificado. Del mismo modo, alguien que espere hasta que una transacción en la blockchain más débil sea certificada en Bitcoin puede estar seguro de que no será revertida.

El white paper también propone un mecanismo para permitir que la red vuelva a su mecanismo inicial de consenso en caso de que un nodo que actúe como notario no esté disponible. La idea es que todos los nodos en la red tienen la posibilidad de minar, pero a los nodos notario se les asigna una dificultad menor que a los nodos normales. Como resultado, los nodos notario ganarán normalmente la mayoría de los bloques, pero si un atacante consiguiese de algún modo desactivarlos (con un ataque DDoS, por ejemplo) los nodos normales podrían continuar minando bloques y la blockchain continuaría su funcionamiento sin interrupción, solo que sin la seguridad adicional proporcionada por Bitcoin. De esta manera, la cadena dPoW es de algún modo menos centralizada de lo que parece en un primer vistazo.

Esta serie de razonamientos nos lleva a preguntarnos que es exactamente lo que se gana con el mecanismo de notarización/certificación. En particular, si un atacante es capaz de obtener el control de los nodos notario, puede evitar que estos firmen las transacciones Bitcoin que certifican los bloques de las cadena más débiles, obligando a la blockchain más débil a depender únicamente de su mecanismo de consenso inicial. Así que parece que la seguridad extra ofrecida por el proceso de certificación depende implícitamente en la existencia de una mayoría de nodos notario honestos.

[EDICIÓN: Tras hablar con jl777, he descubierto que Komodo permite que una minoría de los notarios (13 de 64) firmen cada transacción de certificación. Esto, a su vez, reduce las tasas de Bitcoin que deben pagarse y hacen más difícil el ataque expuesto, puesto que un atacante tendría que controlar la gran mayoría de los nodos para vencer al mecanismo de notarización. Mis afirmaciones originales estaban basadas en lo que escribió en el whitepaper del dPoW, el cual sugiere que 33 de los 64 notarios deben firmar las transacciones de certificación.]

Esto es básicamente el modelo de seguridad de las blockchains basadas en el modelo de Prueba de Participación Diferida (delegated proof-of-stake – DPOS) como Bitshares. Tanto en DPoW como en DPoS, los usuarios votan en función de su saldo (stake) en favor de una serie de cuentas “especiales” de las cuales depende la seguridad del resto de la red. Ambos sistemas también sufren las mismas debilidades: una responsabilidad para los usuarios para mantenerse al día con los temas “politicos” del sistema para saber que cuentas son lo suficientemente confiables y merecen ser votadas, y la consiguiente apatía del votante que produce esta responsabilidad.

Con todas estas consideraciones, creo que no le veo mucho sentido al dPoW sobre otras alternativas. Si el mecanismo de consenso inicial de la cadena más débil es lo suficientemente seguro para protegerlo, dado su actual valor económico, entonces pagar Bitcoin para certificarlo parece un derroche de dinero. Por otro lado, si el consenso inicial no fuese suficiente, entonces parece que la seguridad del resto de la cadena depende de la elección de notarios honestos. Pero, en ese caso, ¿Por qué no utilizar DPOS y beneficiarse del mejorado rendimiento de las transacciones que las cadenas DPOS ya han alcanzado?

Dejando de lado estas consideraciones, no hay que pasar por alto el hecho de que la plataforma Komodo usa cadenas dPoW anidadas para ayudar a conseguir el objetivo de SuperNET de conectar diversas blockchains diferentes. Las cadenas adicionales de Komodo se llama assetchains” y “geckochains. Estas cadenas se certifican a si mismas ante Komodo, quien a su vez se certifica ante Bitcoin. De nuevo se afirma que todas las cadenas involucradas heredan el nivel de seguridad de Bitcoin pero, tal y como se describe más arriba, buena parte de esto depende de los nodos notario de cada cadena.

A diferencia de los activos en Nxt y Ardor, o incluso en las child chains de Ardor, las cadenas de activos (assetchains) de Komodo son blockchains completamente independientes. Su única conexión con las cadenas de Komodo es el mecanismo de certificación dPoW. De esta manera, quizá se encuentren más próximas a las cadenas lateras que proponen Lisk y Stratis que a las férreamente dependientes child chains de Ardor.

Las geckochains son como las assetchains pero con soporte para contratos inteligentes. No he encontrado muchos detalles sobre las geckochains, y no parece que estén disponibles todavía, pero el cliente de Komodo ya soporta las assetchains a través de una interfaz de línea de comandos.

BarterDEX

El exchange descentralizado de SuperNET, llamado BarterDEX, permite a los usuarios realizar transacciones atómicas entre blockchains sin tener que depender en la confianza en terceros. El equipo todavía no lo ha integrado en la interfaz de usuario del monedero Agama pero ya están trabajando en ello. Mientras tanto, BarterDEX puede usarse por separado.

BarterDEX consiste en tres componentes principales: un juego de nodos designados para encontrar órdenes coincidentes; una serie de nodos “proveedores de liquidez”, que actuarán como creadores de mercado; y un protocolo para que los usuarios intercambien entre sí monedas de diferentes blockchains en una única operación atómica.

Los nodos para encontrar órdenes coincidentes funcionan del mismo modo que en Waves: se encargan de centralizar parcialmente las órdenes de compra y venta para ofrecer una experiencia de usuario más atractiva. De este modo, los traders no tienen que esperar al siguiente bloque en las blockchains en cuestión para saber si sus órdenes se han ejecutado o si deben cancelar una orden.

Los nodos Proveedores de Liquidez (Liquidity provider – LP) mantienen los saldos de al menos dos de las monedas soportadas y automáticamente comercializan con ellas con un margen de beneficios que es definido por el usuario, relativo a un exchange centralizado. Por ejemplo, es posible estable un nodo LP que tradee BTC y KMD en BarterDEX a la vez que en Bittrex. Los operadores de los nodos LP asumen el riesgo asociado con poseer fondos en un exchange centralizado, a cambio de beneficiarse de las oportunidades de arbitraje entre los dos mercados. El resto de usuarios de BarterDEX, por su parte, obtienen mayor liquidez y menores diferenciales entre las órdenes bid y ask que si no contaran con este servicio, sin tener que dejar sus monedas en un exchange centralizado.

Cuando la orden de un usuario se completa, posiblemente con una orden emitida por un nodo LP, BarterDEX usa un protocolo de canjeo atómico entre cadenas para fijar fijar la operación en las dos blockchains involucradas. Probablemente los detalles variarán dependiendo del par de monedas en cuestión, pero conceptualmente el proceso es similar en todos los casos. Se supone que una blockchain es compatible con Bitcoin o, como mínimo, soporta el equivalente a los Contratos de Ejecución Retardada Hasheados (Hashed timelocked contracts – HTLCs) de Bitcoin. La otra blockchain tiene que soportar 2 de 2 transacciones multifirma del tipo 2 de 2 (2-of-2 multisign).

Supongamos que Bob quiere tradear sus fondos en una cadena compatible con Bitcoin a cambio de las monedas de Alice en otra cadena. Tanto Alice como Bob crean un par de clave pública / clave privada y los hashes de las claves privadas. Alice envía a Bob una transacción multifirma 2 de 2 que él puede gastar una vez que conozca ambas claves privadas, momento en el que Bob enviará a Alice una transacción del tipo timelocked que Alice puede gastar cuando revele su clave privada. Una vez lo haya hecho, Bob la usará para desbloquear su transacción multifirma y la operación se completará.

El protocolo añade un poco de complejidad para proteger a cada parte en caso de que la otra parte cancele el procedimiento anticipadamente. Si Alice se va sin gastar la transacción que envió Bob, Bob puede recuperar sus fondos una vez que el bloqueo temporal sobre esa transacción caduque, utilizando tan solo su clave privada para ello. Por otro lado, para proteger a Alice del mismo riesgo, el protocolo requiere que Bob emita un “depósito” inicial en forma de transacción hasheada retardada. Si abandona antes de pagar a Alice, ella puede esperar a que cumpla el plazo del timelock sobre este depósito para recuperarlo.

Admito que esto solo es una visión superficial del protocolo de canjeo automático, pero espero que sirva para darte una idea de cómo funciona. La parte más importante aquí es que no existe ningún exchange centralizado para facilitar la transacción. Alice y Bob han intercambiado monedas en diferentes blockchains sin tener que confiar en la otra parte o en algún intermediario. Puedes encontrar más detalles sobre este proceso en el white paper de BarterDEX.

Comparado con Ardor

Entonces, ¿qué podemos hacer con Komodo y SuperNET? Esta cuestión depende en gran medida de si el algoritmo de prueba de trabajo diferida de Komodo ofrece un grado sustancial de mejora de la seguridad para Komodo y sus assetchains. Desde mi punto de vista, no lo consigue: ofrece aproximadamente el mismo grado de seguridad que el algoritmo de prueba de participación diferida, aún en el caso de que la blockchain notario fuese perfectamente inmutable.

Con esto en mente, las assetchains de Komodo se parecen mucho a las side chains desplegables por el usuario que tanto Lisk o Stratis pretenden ofrecer. En los tres proyectos, a diferencia de las child chains de Ardor, cada assetchain o sidechain es responsable de su propia seguridad. Sin embargo, Komodo parece tener ventaja sobre tanto Lisk como Stratis en términos de funcionalidad, puesto que los usuarios ya pueden desplegar sus propias assetchains y realizar transacciones de canjeo atómicas entre algunos pares.

Hay que darse cuenta de que las child chain de Ardor almacenan los hashes de sus bloques en la cadena de Ardor, de forma semejante a como Komodo almacena los de sus bloques en Bitcoin, pero hay una diferencia crucial: los nodos forjadores de Ardor validan todas las transacciones de todas las child chains. Cada child chain hereda de manera efectiva todo el poder de forja de la cadena de Ardor, convirtiéndolas en tan seguras como lo es Ardor y obviando la necesidad de mineros o forjadores separados.

Sobre los canjeos atómicos entre cadenas, Ardor y Komodo presentan mayores diferencias. Ardor soporta de manera nativa transacciones entre las child chains y también entre cada child chains y la cadena madre. Además, soporta un tipo de transacción por fase que es equivalente a la multifirma 2 de 2, permitiendo los mismos tipos de canjeos atómicos con las blockchains compatibles con Bitcoin que permite BarterDEX. Ardor incluso añade la capacidad de combinar múltiples operaciones condicionadas con los operadores booleanos AND, OR y NOT, permitiendo potencialmente a los usuarios a crear el equivalente a las Transacciones de Ejecución Retardada Hasheadas. Usando el enfoque de BarterDEX, esta característica podría permitir los canjeos atómicos entre cadenas hacia cualquier blockchain que soportase multifirma 2 de 2.

Conclusión

La visión de SuperNET sobre las blockchains interconectas presenta mucho atractivo, y con la combinación de la plataforma Komodo, el monedero Agama y el exchange BarterDEX, Supernet ha hecho un gran progreso para materializar ese objetivo. Aunque soy escéptico acerca de que el algoritmo de prueba de trabajo diferida ofrezca un grado sustancial de seguridad adicional a Komodo y a sus assetchains, la capacidad de desplegar rápidamente una assetchain pone a Komodo, como mínimo, por delante de Lisk y Stratis en su carrera para crear una plataforma funcional con cadenas laterales. Además, encuentro que tiene mucho valor la capacidad de realizar canjeos automáticos entre cadenas usando BarterDEX.

Aún así, no puedo evitar pensar si existe en el corazón de SuperNET una tensión fundamental entre dos de sus objetivos. Por un lado, pretende integrar las mejores características de blockchains muy dispares entre sí, ofreciendo a los usuarios y desarrolladores una manera impecable de disfrutar de las ventajas exclusivas que cada cadena ofrece. Por otro lado, ofrece a Komodo como una única plataforma para solucionar la mayoría de los problemas, permitiendo las transacciones privadas, cadenas laterales creadas por los usuarios y, en el futuro, contratos inteligentes. El éxito en cualquiera de estos objetivos parece que obstaculizará conseguir el resto.

Ardor, por su parte, también tiene una visión atractiva, y quizá sea una visión más coherente: soportar una multitud de negocios y proyectos en sus child chains, ofreciendo a cada uno de ellos una serie de características listas para su uso, permitiendo que cada una de ella interactúe con el resto y evitar que ninguna de ellas se tenga que preocupar por su seguridad o por almacenar el historial de transacciones del resto. Ardor ya ofrece ya la mayoría de la tecnología para materializar esta visión. Sólo falta que los negocios, desarrolladores y los usuarios le den buen uso a esta tecnología.


Prueba Ardor en la testnet

View this in: English 简体中文

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.