NXTER.ORG

Ardor Frente a la Competencia, Parte 4: Waves

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:

Hasta este momento, uno de mis principales objetivos en esta serie ha sido analizar las diferentes enfoques para permitir escalara a la tecnología del Libro de Cuentas Distribuido. Sin embargo, esta semana y las dos próximas entregas me centraré en la vertiente empresarial de la tecnología blockchain. Voy a intentar explorar los problemas del mundo real que las blockchains permiten solucionar y la manera en que diferentes proyectos blockchain se han posicionado para encajar en este objetivo de mercado.

Estos temas se salen un poco de mi zona de confort, así que os agradezco vuestra paciencia en caso de que diga algo incorrecto o ingenuo. Y, cómo siempre, agradeceré vuestras críticas constructivas 🙂

El anterior descargo de responsabilidad es especialmente importante esta semana, porque esta semana he analizado Waves. Como recién llegado a Nxt que soy, he leído lo suficiente sobre su historia para saber que el fundador de Waves, Sasha Ivanov (alias Coinomat en nxtforum.org), había sido un miembro activo de la comunidad Nxt hasta el periodo turbulento que tuvo lugar a comienzos de 2016, momento en que se fue para crear Waves. No voy a intentar relanzar el debate sobre Ardor y el futuro de Nxt, el cual entiendo que finalizó cuando muchos emisores de activos como Sasha dejaron la comunidad, pero en caso de que estéis interesado, os recomendaría leer el resumen que hizo apenzl en SNAPSHOT y las referencias que allí se pueden encontrar.

En cambio, en este artículo voy a ignorar en la medida de lo posible la historia entre Nxt y Waves y voy a aproximarme a ambos proyectos con la mente abierta y una visión de futuro. Creo que habría cierto valor en un análisis histórico detallado, pero simplemente no estoy capacitado para ello.

Una vez dicho esto, vamos a hablar sobre Waves.

Waves

En un primer vistazo, Waves aparenta ser una versión básica de Nxt. Es básicamente un exchange descentralizado (DEX), inspirado y conceptualmente similar al Intercambio de Activos de Nxt (Nxt Asset Exchange). Al igual que Nxt, usa el algoritmo de Prueba de Participación (Proof-of-stake) para el consenso y permite a los usuarios ceder su saldo a otras cuentas para forjar en grupo (forging pools). Recientemente ha añadido un modo para asociar un alias inteligible por humanos a un número de cuenta, replicando parcialmente la funcionalidad del Sistema de Alias de Nxt (Nxt’s Alias System). Incluso un par de características que se encuentran todavía en desarrollo (un sistema de votación y un modo para enviar mensajes encriptados) duplican funciones que Nxt ya ofrece.

Al mismo tiempo, Waves carece de muchas de las características más poderosas con las que cuenta Nxt. Por el momento, no cuenta con nada similar a las transacciones por fases (phased transactions) u opciones para el control de cuenta, por ejemplo, aunque hay que indicar que tanto los contratos inteligentes como la multifirma de transacciones están en la agenda.

Adicionalmente, el white paper sugiere que el micromecenazgo (crowdfunding) será uno de los primeros usos para la plataforma Waves, aunque los tokens en Waves carecen de las propiedades de personalización que convierten al Sistema Monetario de Nxt en algo muy útil para estos usos. Por ejemplo, el Sistema Monetario ofrece la posibilidad de transferir los fondos cuando se ha alcanzado el objetivo de financiación, al estilo Kickstarter, y también la posibilidad de restringir el trading para evitar que los especuladores creen un mercado secundario. Al usar esta última característica, llamada moneda “Controlable” en la terminología de Nxt, es incluso posible que los emisores establezcan tanto un precio fijo de compra cómo de venta, permitiéndoles ofrecer a los compradores un reembolso parcial por sus tokens. Por contra, el crowdfunding en Waves está limitado a la emisión de un token a precio de mercado.

No obstante, en mi opinión sería un grave error descartar Waves o cualquier otra copia de Nxt que contase con menores características. Por una sencilla razón, Waves ofrece varias características clave que Nxt y otras plataformas no tienen, las cuales describiré a continuación. Quizá el más importante incluso sea que el equipo de Waves ha creado una marca sólida y ha ofrecido una visión clara y consistente desde el arranque de la plataforma. El campo está actualmente tan saturado, y las innovaciones se producen a tanta velocidad, que la combinación de un mensaje sencillo y claro con un fuerte esfuerzo en marketing y una habilidad demostrada para entregar lo que prometen puede llegar a ser más importante para el éxito a largo plazo que las muchas o potentes novedades que pueda contener su tecnología subyacente.

Características Únicas

Una característica interesante que diferencia a Waves de otras muchas plataformas es el diseño de su DEX. Es una aproximación híbrida que combina un mecanismo centralizado de concordancia de órdenes de compra y venta, llamado the Matcher, con asientos descentralizados en la blockchain de Waves.

Cuando los usuarios ponen sus órdenes en Waves, el cliente de Waves envía estas órdenes a los nodos Matcher, quienes conservan el libro de órdenes para todos los pares comercializados. Cada nueva orden, o bien se empareja frente a una orden existente, o bien es añadida al libro de órdenes para el par en cuestión, pero en cualquier caso el usuario que emitió la nueva orden es notificado de inmediato sobre si su orden se completó. Todavía se necesita esperar hasta el siguiente bloque (o bloques) en la blockchain para que la transacción quede completamente confirmada, pero durante ese tiempo el usuario sabe con un alto grado de certeza cual ha sido el resultado de su orden.

Esto puede no parecer como una gran mejora respecto a un exchange completamente descentralizado, pero a partir de un puñado de transacciones que he ejecutado en Waves he de decir que la experiencia de usuario me ha impresionado. La posibilidad de ver un libro de órdenes con actualizaciones en tiempo real y saber inmediatamente si mis órdenes han sido ejecutadas supone una diferencia mayor de la que esperaba.

En principio, cualquier nodo completo puede convertirse en un Matcher. No obstante, el cliente ligero actualmente solo se conecta por defecto a los Matchers en nodes.wavesnodes.com, así que es posible que los Matchers del resto de la red no vean mucho volumen. Con las nuevas órdenes siendo transmitidas directamente a estos nodos centralizados, siendo sólo transmitidas al resto de la red en caso de que sean ejecutadas (creo), este diseño permite que el libro de órdenes sea anónimo. No se a ciencia cierta lo importante que es que un libro de órdenes sea anónimo, pero aparenta ser una característica que los traders pueden valorar mucho.

Otra característica diferenciadora de Waves es la habilidad de tradear cualquier token frente a cualquier otro token sin necesidad de convertirlo previamente a WAVES. En combinación con las pasarelas (gateways) integradas que emiten tokens ligados al dólar, euro u otras criptomonedas, esta característica permite que Waves funcione como un mercado de intercambio internacional y descentralizado. También permite que los emisores de activos lancen sus ofertas iniciales directamente en tokens ligados a monedas fiat. Con el cliente completo, es incluso posible pagar las tasas en tokens en lugar de con WAVES.

Adicionalmente, no hay que pasar por alto las otras características que están en desarrollo o en la hoja de ruta, que también diferencia a Waves de otras plataformas. Una de ellas es el sistema de reputación que puntuará a las cuentas en función de su antigüedad, historial de transacciones y otros factores. Todavía no se han desvelado muchos detalles, pero el objetivo es ofrecer a los usuarios al menos una indicación a aproximada sobre la confiabilidad de un emisor de activos. El whitepaper va más allá al sugerir que el sistema de reputación actuará como “una forma de KYC/AML descentralizado” (normativas anti-lavado de dinero y de identificación del cliente). Aunque es difícil ver cómo un sistema de reputación descentralizado podría ayudar a los emisores a cumplir con las normativas KYC/AML, no es descabellado suponer que pudiese funcionar como un sistema análogo para la comunidad blockchain.

Hablando del cumplimiento de requisitos legales, Waves ha anunciado un nuevo proyecto, Tokenomica, que ofrecerá una “estructura 100% legal para diferentes tipos de crowdsales de tokens, incluyendo crowdsales de capital riesgo”. Desafortunadamente, esa cita extraída de la hoja de ruta de 2017 es toda la información que he sido capaz de encontrar sobre Tokenomica. Mi impresión es que el proyecto todavía está en sus fases iniciales, pero muestra que el equipo se está tomando el cumplimiento de las normativas seriamente.

Para terminar, debería mencionar que el equipo de Waves también está planeando incorporar contratos inteligentes (smart contracts) en Waves. El lenguaje de scripting no será completamente compatible con Turing y no habrá equivalente al concepto de gas de Ethereum, probablemente porque no habrá bucles. Más allá de estos detalles, no existe todavía mucha más información disponible.

Finalmente, debo mencionar la propuesta que el equipo de Waves ha esbozado para escalar. Está constituida esencialmente por dos partes: un rediseño del proceso de forjado que trocea los grandes bloques en “microbloques” para optimizar la utilización del ancho de banda; y una optimización de la forma en que los balances de cuenta son almacenados (o, mejor dicho, no almacenados), de manera que se reducen los requerimientos de memoria para los nodos completos.

La primera de estas dos propuestas, llamada Waves NG, está basada en Bitcoin NG. Básicamente, una vez que un nodo se ha ganado el derecho de forjar el siguiente bloque, este emite inmediatamente un bloque clave (key block), que normalmente está vacío, y entonces transmite los microbloques que contienen las transacciones cada pocos segundos. La razón de este diseño es que, al transmitir un gran bloque, el intervalo de bloques es una manera mucho menos eficiente de utilizar el ancho de banda de la red, y los picos correspondientes en la actividad de la red establecen un mínimo inferior en el número de transacciones que la red puede manejar. Al propagar transacciones a través de una secuencia de microbloques, es posible incrementar la tasa media de datos en la red disminuyendo la tasa máxima de datos, reduciendo el efecto que el ancho de banda y la latencia imponen en el ratio máximo de transacciones.

El segundo componente del plan de escalado es implementar las ideas descritas en este artículo de Leonid Reyzin, Dmitry Meshkov, Alexander Chepurnoy y Sasha Ivanov. Admito que no le he dedicado mucho tiempo, pero la idea es que no todos los nodos completos necesitarán almacenar en su memoria los saldos de todos los tokens para validar las transacciones. En su lugar, almacenarán un resumen compactado de esta información y aquellos forjadores que no lo almacenen en su totalidad (o una subserie de ellos, si deciden forjar las transacciones de tan solo un token específico) generarán pruebas criptográficas de que han actualizado los saldos de cuenta correctamente. Los forjadores incluirán a continuación las pruebas y un resumen actualizado en la cabecera de cada bloque nuevo. Aquellos nodos que hayan elegido no almacenar los saldos de todos los tokens involucrados en esas transacciones todavía podrán validarlas usando el resumen actual y las pruebas de los forjadores para calcular y actualizar los resúmenes, la cual podrán comparar frente a la que que anunció el forjador.

Los autores afirman que este método puede dividir por cuatro la cantidad de memoria exigida en condiciones reales por un nodo completo. Además, si esta optimización es capaz de mantener toda la información requerida en memoria en aquellos casos en los que, de otra manera, debería haberse almacenado en el disco, la mejora del rendimiento podría ser mayor, alrededor de 20 veces mejor, según sugiere el autor.

Comparación con Ardor

Aunque un par de las características descritas no estaban disponibles en Nxt, encontramos características similares en Ardor.

Concretamente, la arquitectura de cadena madre / cadena hija (parent-chain / child-chain) de Ardor permitirá a los usuarios tradear cualquier para de monedas de cualquier child chain, algunas de las cuales podrían estar ligadas a monedas fiat u otras criptomonedas. También será posible establecer el precio de los activos en cualquier moneda de las child chains y pagar las tasas en la moneda de una child chain cuando la transacción sea realizada en una child chain determinada. No será posible tradear activos (assets) entre ellos directamente, aunque seguramente muchos de estos pares tendrían tan poco volumen que no valdría la pena añadir esta característica.

Sobre las mejoras que el equipo de Waves ha hecho con su DEX al centralizarlo parcialmente, sería posible imitar esta funcionalidad construyendo un coordinador de transacciones centralizado sobre Nxt/Ardor. De hecho, el proyecto InstantDEX consiguió algo similar en el pasado, usando Nxt para fijar las transacciones de una manera descentralizada.

Respecto al escalado, la propuesta para reducir los requisitos de almacenamiento en memoria para los nodos completos es fascinante, pero me pregunto si se reducirá la seguridad (si habéis leído algún artículo anterior de esta serie, probablemente ya os habréis dado cuenta de que siempre sospecho que las mejoras en rendimiento acarrearán una merma de la seguridad). Concretamente, si los nodos no tienen que almacenar el estado completo de cada cuenta y deben basarse en las pruebas y resúmenes en la cabecera de cada bloque para validar las transacciones que los contienen, entonces asumo que esto significa que los nodos no serán requeridos, ni siquiera serán capaces, de validar las transacciones sin confirmar antes de transmitirlas a los pares. No se que consecuencias puede traer el permitir a los nodos propagar transacciones potencialmente inválidas a la red, pero sólo el pensarlo me deja intranquilo.

El enfoque de Ardor es que todos los nodos validen todas las transacciones, pero que sólo una cantidad mínima necesaria de información sea almacenada permanentemente en el blockchain de Ardor. Concretamente, sólo aquellas transacciones que modifiquen los saldos de ARDR, el token de forja, necesitan ser almacenadas en la blockchain para que otros nodos puedan verificar, sin tener que depositar la confianza en un tercero, que cada bloque fue forjado por una cuenta que realmente podía hacerlo. Por su lado, todo el historial de transacciones de las monedas de cada child chain y los activos y monedas comercializadas en esas child chains no necesita ser almacenado en la cadena de bloques, y por tanto se puede podar, dejando tras de sí tan solo sólo los hashes criptográficos de esa información. El resultado es que que el tamaño de la blockchain permanece reducido y crece más lentamente que si se almacenase toda esa información extra.

Saber qué enfoque es mejor dependerá de si el almacenamiento permanente en la blockchain o el almacenamiento en memoria de los saldos de las cuentas representa un problema mayor conforme las blockchains crecen. No se como responder a esta pregunta pero hay un par de puntos relacionados que habría que remarcar. Uno es que la escala de tiempo de ambos problemas podría ser bastante diferente: Puedo prever una explosión de activos en la plataforma Ardor que podrían ocasionar un estrés en la memoria, mientras que el problema de la hinchazón de la blockchain sería un serio problema a largo plazo para Waves, especialmente si alcanza cientos o miles de transacciones por segundo, que es el objetivo actualmente fijado. Mi otro pensamiento es que Ardor ha requerido de una arquitectura completamente nueva para implementar su solución de escalabilidad, mientras que el enfoque de Waves no. Sin duda, sería más fácil para Ardor incorporar en algún momento la solución aportada por Waves que no que Waves implementara la solución de Ardor.

Finalmente, quizá el tema más interesante de esta comparación es el problema del cumplimiento con las regulaciones. Waves se ha posicionado a si misma como la plataforma para crear y emitir tokens, con una atención especial para el crowdfunding. Tanto es así que el equipo de Waves está mirando con detenimiento todas las normativas que afectan a las campañas de micro mecenazgo (que podría afectar al hecho de vender acciones, por ejemplo) para ayudar a los usuarios a que cumplan con la ley. Mientras que la afirmación de que un sistema de reputación descentralizada pudiese reemplazar a los tradicionales requisitos de cumplimiento con la normativa KYC/AML cuesta de creer, sí que podría al menos ayudar a suprimir las estafas y a reducir las oportunidades para que actores malintencionados se aprovechen de otros. En ese sentido, podría alcanzar algunos de los objetivos que los reguladores pretenden alcanzar.

Ardor, por su parte, ofrecerá un par de mejoras sobre Nxt que pueden ser bastante valiosas para el cumplimiento de la normativa. Una de ellas es la emisión de activos que sólo podrán comercializarse bajo un tipo determinado de transacciones por fases. La otra es la inclusión de las transacciones por fases, que permite a una cuenta aprobar una transacción sólo si la cuenta tiene una propiedad específica. Al combinar estas dos características, un usuario puede emitir un activo que sólo se puede comprar por las cuentas que tienen una propiedad que, por ejemplo, haya sido asignada por un proveedor de servicios de KYC/AML para indicar que se ha verificado la identidad del propietario.

Si tu activo representa acciones de una compañía, o un fondo de inversión u otro tipo de acción, esta característica te permitirá demostrar ante los reguladores que conoces al comprador de tus tokens. Además, si eres un usuario interesado en comprar este tipo de activo, almacenar una prueba de tu identidad en la blockchain usando las propiedades de cuenta posiblemente te permitirá invertir menos tiempo tratando de convencer a los negocios de que tú eres quien dices ser y que no estás lavando dinero.

Además, será posible crear child chains que solo permitirán una subsecuencia de las características que la plataforma Ardor puede ofrecer. Esto permitirá a los creadores de la child chain desactivar ciertas características, como la del mezclado de monedas (coin shuffling), que podría hacer disparar las alarmas de algunos reguladores en determinadas jurisdicciones.

Conclusión

¿Qué hacemos entonces con Waves? Necesariamente debemos destacar el hecho de tomar un problema y tratar solucionarlo mejor que ningún otro antes. No hay duda de que abandonar el planteamiento de “Navaja suiza” que supone Nxt para centrarse en su lugar en el único objetivo de crear una gran plataforma para la comercialización de tokens hizo más sencillo lanzar, desarrollar y sacar al mercado Waves. También influye mucho el contar con una buena financiación, puesto que Waves recaudó $16M en su ICO.

Sin embargo, al mismo tiempo, no estoy seguro de que al realizar una comparación objetiva entre Waves y Ardor podamos concluir que Waves está tan maduro tecnológicamente como Ardor. (Por cierto, he tratado de realizar una comparación justa y objetiva en este artículo, pero no estoy diciendo que lo haya conseguido. Eso es algo que tú tendrás que decidir). Nxt ya es capaz de realizar todo lo que Waves hace, y eso si mencionar todas las cosas que Waves no puede hacer, a las cuales además Ardor también añade nuevas funcionalidades.

Quizá el último gran reto que queda para Ardor es realmente vender su visión de la manera en que la comunidad Bitcoin y la Fundación Ethereum han vendido sus visiones, y aquí es dónde Waves lleva ventaja. Siendo capaz de tantas cosas diferentes, pero no habiendo sido construido específicamente para ninguna en particular, Ardor tiene una ardua tarea por delante. La peor salida posible sería que tanto usuarios como negocios lo viesen como “simplemente otra plataforma blockchain“, o quizá no consiguiesen comprender todo el rango de cosas que puede llegar a hacer, y terminasen por ignorarlo por este motivo.

Respecto a Waves, estoy ansioso por ver lo que el futuro depara. Las mejoras que ha hecho sobre el Intercambio de Activos de Nxt, aunque modestas en mi opinión, la hacen destacar como un DEX formidable. Si el equipo de Waves puede cumplir con su hoja de ruta, Waves será un serio competidor para los exchanges, tanto los centralizados como los descentralizados.

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.