El protocolo 0x, gestado en el Proyecto 0x, supone uno de los mayores avances en dirección a la creación de aplicaciones exchange totalmente descentralizadas sobre blockchains de ethereum, sin estar exentas de seguridad y rapidez.
El protocolo 0x es sin duda la piedra angular del Proyecto 0x. Este protocolo está diseñado para hacer que los intercambios (o casas de cambio) distribuidos sean totalmente funcionales por medio de contratos inteligentes ejecutados sobre Ethereum. Su desarrollo data de octubre de 2016, cuando Will Warren y Amir Bandeali iniciaron este proyecto.
La idea detrás del desarrollo del protocolo 0x es diseñar una plataforma capaz de manejar intercambios de forma descentralizada y segura. Plataforma que debe poder ser ampliable en funciones, fácilmente adaptable, escalable y segura. Pues bien todas estas propiedades se vuelven tangibles con el protocolo 0x. Esto significa dos cosas: primero los desarrolladores pueden crear DApps que usen el protocolo 0x para ampliar sus capacidades. Segundo, los usuarios pueden manejar un sistema más homogéneo y seguro para realizar sus operaciones.
Pero el protocolo 0x es mucho más que un medio para facilitar los intercambios. Debajo de todo esto encontramos características únicas que definitivamente a 0x en un referente en el desarrollo del ecosistema Ethereum.
Protocolo 0x : ¿Cómo funciona?
El funcionamiento del protocolo 0x es bastante sencillo. A grandes rasgos, podemos resumirlo con la siguiente serie de pasos:
- Se aprueba el contrato del intercambio descentralizado (DEX) para acceder a su saldo del token A.
- El creador crea una orden para intercambiar el token A por el token B. En ella se especifica el tipo de cambio deseado, el tiempo de vencimiento y firma el pedido con su clave privada.
- Se difunde la orden a la red a los fines de que sea procesada por los repetidores.
- La contraparte acepta la orden.
- Se aprueba el contrato DEX para acceder al saldo del token B de la contraparte.
- La contraparte firma la orden mostrando su interés en realizar la operación.
- La orden es enviada nuevamente a la red para que sea procesada por el DEX.
- El contrato DEX autentifica la firma de ambas partes, verifica que el pedido no haya caducado y verifica que el pedido no se ha completado.
- Se realiza la transferencia y luego se superponen los tokens entre las dos partes al tipo de cambio especificado.
Sin embargo, en todo este proceso intervienen una serie de actores importantes que hacen posible este funcionamiento. Cuáles son y qué es lo que hacen es algo que descubriremos más adelante.
¿Cómo se encuentra el protocolo 0x?
Contratos inteligentes de 0x
La red 0x depende de varios contratos inteligentes que se ejecutan en la red de Ethereum. Los smarts contracts son unos pequeños programas que se ejecutan sobre la red Ethereum. Estos contratos inteligentes son la base del funcionamiento del protocolo 0x. Esto es debido a que son los encargados de procesar todas y cada una de las operaciones posibles en 0x. En pocas palabras, los contratos inteligentes vendrían a ser el cerebro de toda la red 0x. Un cerebro dividido en varias partes, cada una de ellas especializada en una tarea en especifica.
Por ejemplo, si una DApp desea realizar alguna operación con tokens ZRX y otros tokens ERC-20, se debe hacer uso del contrato inteligente creado para tal fin. También existen contratos inteligentes que nos facilitan el manejo de wETH (wrapped Ether). Todo ello con el fin de optimizar el uso de saldos en Ethers en el intercambio descentralizado.
El protocolo 0x en la actualidad está conformado por un total de diez contratos inteligentes. Cada uno de ellos con una funcionalidad específica. De esta forma, goza de una excelente modularidad y seguridad. A continuación mostramos la lista completa de los contratos inteligentes de 0x dispuestos en la red principal de Ethereum:
- Propietario del proxy de activos: 0x17992e4ffb22730138e4b62aaa6367fa9d3699a6
- Proxy ERC20: 0x2240dab907db71e64d3e0dba4800c83b5c502d4e
- Proxy ERC721: 0x208e41fb445f1bb1b6780d58356e81405f3e6127
- Intercambio: 0x4f833a24e1f95d70f028921e27040ca56e09ab0b
- Reenviador: 0x5468a1dc173652ee28d249c271fa9933144746b1
- Validador de pedidos: 0x9463e518dea6810309563c81d5266c1b1d149138
- WETH9 (EtherToken): 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
- Ficha ZRX: 0xe41d2489571d322189246dafa5ebde1f4699f498
- CoordinadorRegistro: 0x45797531b873fd5e519477a070a955764c1a5b07
- Coordinador: 0x25aae5b981ce6683cc5aeea1855d927e0b59066f
Puedes revisar cada uno de estos contratos inteligentes desde el explorador de bloques de Ethereum y revisar toda la actividad del mismo de forma abierta y transparente.
repetidores
Los repetidores son computadores que ejecutan el software de 0x. La union de los distintos repetidores es responsable de la creacion de la red autonoma 0x. Estos equipos son los que se encargan de manejar el libro de órdenes y pedidos de la red off-chain. Al mismo tiempo, los repetidores tienen como misión servir de provisión de las funciones necesarias para que los usuarios agreguen, eliminen y actualicen este libro de pedidos a través de las DApps que usen.
De esta forma, los relés se transforman en la columna vertebral de toda la red 0x. Gracias a ellos, quienes participan en la red pueden realizar sus operaciones de forma segura, pues toda la información se maneja de forma criptográfica. Además, los repetidores tienen como tarea rastrear cada una de las operaciones, para que una vez finalizadas estas sean liquidadas directamente en la cadena de bloques Ethereum a través de los contratos inteligentes de protocolo 0x.
El Token ZRX
El token ZRX es otra parte fundamental del protocolo 0x. Este token tiene dos funciones bien definidas que son:
Ayudar a resolver el problema de coordinacion y mejorar la liquidez de la red. Esto gracias a que permite crear un ciclo de retroalimentación económica, donde los primeros adoptantes del protocolo se benefician de la adopción más amplia.
Ayuda a crear y gestionar una gobernanza descentralizada. Los participantes del mercado que generan y consumen órdenes de intercambio, usan el token ZRX para pagar por las tarifas de las transacciones a los repetidores. Esto crea una asociación cripto-económica entre los actores que pasa desde los incentivos por mantener la red hasta la gobernanza del proyecto y la toma de decisiones.
Herramientas de desarrollo del protocolo 0x
Para hacer posible que terceros puedan adoptar el protocolo 0x, los creadores del mismo han dispuesto distintas herramientas para esto. Estos bloques de construcción ayudan a crear DApps o integrar las ya existentes a la red de 0x para usar sus capacidades. En este punto, 0x cuenta con 0x.js una librería creada para construir aplicaciones web usando el potencial de 0x.
El objetivo de 0x.js es permitir la creación de contratos inteligentes seguros sobre Ethereum, y seguro de que los clientes pueden interactuar con estos contratos inteligentes por medio de interfaces web. Esto garantiza un acceso seguro y sencillo a los intercambios descentralizados abogando por su expansión y masificación.
Gobernanza dentro del protocolo 0x
Dada la amplia descentralización del protocolo 0x, esta cuenta con una gobernanza repartida entre sus partes de forma equitativa. Esto con el fin de garantizar el funcionamiento descentralizado y continuo de la red, además de garantizar que las decisiones tomadas beneficien a todos por igual.
Este sistema de gobernanza tiene como finalidad, garantizar el funcionamiento y evolución del protocolo 0x en todo momento. Las actualizaciones menores o mayores de 0x, son aprobadas con el voto de quienes integran la red. Este modelo garantiza que todos participen en el destino de la red y en su evolución a futuro.
Ventajas del protocolo 0x
Muchas de las ventajas aportadas por el protocolo 0x tienen que ver con las que le informan a los exchange del tipo descentralizado sobre el intercambio centralizado. Uno de los mayores problemas con los intercambios centralizados es que deben mantener y asegurar los fondos de todos los comerciantes en su plataforma. Esto hace que haya un único punto vulnerable que, si se piratea o se administra mal, significa que todos estos operadores podrían perder sus fondos. Cientos de millones ya han sido robados de esta manera, en varias ocasiones.
Además, con un intercambio descentralizado los comerciantes no necesitan depositar fondos en una entidad centralizada, con la que estarían obligados a confiar. Esto permite operar en la compra venta de tokens directamente desde nuestro monedero. De esta forma es como los DEX devuelven al usuario el control de sus fondos en todo momento, eliminando este único punto de falla de la ecuación.
En este punto, 0x permite generar sistemas de intercambio descentralizados de forma muy sencilla. Pero no solo eso, también es posible que las DApps integren el token 0x de forma rápida, permitiéndome interactuar con el ecosistema 0x sin ningún esfuerzo.