0x: negociación descentralizada vía Ethereum

0x

Por qué 0x?

Hoy, el mundo conoce centenares de activos basados en blockchain y cada mes se suman nuevos activos. Pero, ¿cómo esos activos pueden ser transferidos con facilidad y seguridad? Dada la existencia de los contratos inteligentes, dos o más partes pueden intercambiar sus activos sin necesidad de que exista una tercera parte confiable.

La evolución de las Exchanges (casas de intercambio) centralizadas con todos los riesgos asociados (hacks, fraudes, reglamentaciones estatales) a las Exchanges descentralizadas es, por lo tanto, apenas una consecuencia.

Qué es 0x?

0x es un protocolo de código abierto y sin necesidad de permiso, que permite un intercambio P2P de pares de tokens ERC20 en la Blockchain Ethereum. Con el 0x, los tokens pueden ser negociados directamente y de forma gratuita entre las partes o vía el llamado ‘Relayer’ por medio del pago de tokens 0x (ZRX).

La intención detrás de 0x es proporcionar elementos de base que puedan ser combinados con otros protocolos para poner a disposición dApps (Aplicaciones Descentralizadas) cada vez más exigentes. El 0x usa un sistema público de contratos inteligentes que sirve como infraestructura común para un gran número de dApps.

Con 0x, es posible:

  • Retransmisión de las ordenes fuera de la cadena (posicionamiento de la orden en bloque) + liquidación en la cadena = bajo costo para los Creadores de Mercado y pago rápido.
  • Contratos inteligentes públicamente accesibles que pueden agregarse a dApp.
  • Los intermediarios pueden crear sus propios pools de liquidez y cobrar comisiones.
  • Mecanismos de actualización descentralizados permiten una integración continua y segura de mejoras y más mejoras en el protocolo, sin afectar los dApps o los usuarios.
  • Estandarización + desacoplamiento = capa de protocolo común y así:
    • Creación de la interoperabilidad entre dApps
    • Creación de efectos de red en relación a la liquidez
    • Acceso más fácil y menores costos para los participantes del mercado
    • Eliminar la redundancia, mejorar la experiencia del usuario y garantizar la seguridad de los contratos inteligentes.

Exchanges Descentralizadas en Detalle

Las plataformas de intercambio descentralizadas implementadas con los Contratos Inteligentes Ethereum no fueron realmente capaces de generar un volumen significativo. Es probable que eso se deba a un diseño que implica altos costos para los creadores del mercado.

En particular, esas implementaciones son caracterizadas por el hecho de que las órdenes son colocadas directamente en la Blockchain, y los creadores del mercado tienen que pagar por cada orden, su modificación o exclusión con Gas. Como resultado, los costos de transacción pueden ser muy caros. Además de eso, ese libro de órdenes en la cadena sobrecarga la blockchain inútilmente sin realmente transferir valores, resultando en un consumo adicional de los recursos del ancho de banda de la red.

El protocolo 0x propone un enfoque híbrido, llamado “retransmisión de orden fuera de la cadena con liquidación en la cadena”, dónde la eficiencia de los canales de estado es combinada con la liquidación casi en tiempo real del libro de ordenes en la cadena. Las órdenes firmadas y encriptadas son creadas fuera de la blockchain. Cualquier comprador o vendedor interesado, ahora puede insertar una o más de esas órdenes en un contrato inteligente para negociar directamente en la blockchain. Eso minimiza el costo para los creadores de mercado, pues las transacciones son ejecutadas solamente cuando los valores son transferidos.

0x amplía todavía más ese enfoque, permitiendo que todos actúen como una Exchange y haciendo que el protocolo sea independiente de las aplicaciones.

La secuencia general de etapas para un cambio descentralizado (DEX) con “retransmisión de orden fuera de la cadena” y “liquidación en la cadena” se describe a continuación:

  1. El Maker aprueba el Contrato DEX para el acceso a los valores del Token A
  2. El Maker crea una orden para cambiar el Token A por el Token B y especifica la tarifa de cambio, los plazos (después de los cuales no pueden ser ejecutadas más ordenes) y firma una transacción con su llave privada.
  3. El Maker envía la orden vía cualquier medio de comunicación
  4. El Taker ve la orden y opta por la negociación
  5. El Taker autoriza al contrato DEX a acceder al inventario del token B
  6. El Taker pasa el contrato firmado por el Maker para el contrato DEX
  7. El Contrato DEX autentica la firma del Maker, verifica si la orden todavía es válida (plazo) y si todavía no fue ejecutada, y finalmente, transfiere los tokens entre las dos partes al precio especificado.

Cada orden es un paquete de datos con parámetros de la orden y una firma. Los parámetros de la operación son concatenados y encriptados usando la función Keccak SHA3. El creador de la orden firma el hash resultante con su llave privada y crea una firma ECDSA.

El 0x describe dos tipos de órdenes: Point-to-Point Orders y Broadcast Orders.

Las ordenes Punto-a-Punto permiten el intercambio directo de tokens entre dos partes, usando cualquier medio de comunicación, por ejemplo vía e-mail, Facebook, Whisper o similar. El trabajo solo puede ser ejecutado por la dirección del destinatario (taker) especificado.

La liquidez del mercado requiere lugares públicos donde los compradores y vendedores puedan postear sus órdenes, que son posteriormente recogidas en el libro de órdenes, o sea, en la Exchange. Construir y operar una Exchange es caro, y el protocolo descripto hasta ahora no proporciona ningún incentivo para construir tal servicio. Las llamadas órdenes de transmisión proporcionan una solución permitiendo que cada participante actúe como una Exchange, manteniendo un libro de ordenes (privadas o públicas) para mantener una cartera de pedidos (privados o públicos) y para cobrar costos de transacción.

Para órdenes de difusión, el formato del mensaje parece un poco diferente del Punto-a-Punto para permitir un intercambio público e incentivos para los intermediarios (retransmisores). En primer lugar, no viene especificado la dirección del Taker o el destinatario, de modo que puede ser cualquier Taker. En segundo lugar, las ordenes de difusión contienen los parámetros denominados feeA, feeB y feeRecipient que especifican los costos de transacción y las direcciones en las cuales el intermediario puede cobrar los costos usando un Contrato Inteligente una vez que la orden fue ejecutada.

A continuación se describe la secuencia para las órdenes de difusión. Se presume que los intermediarios (retransmisores) ejecutan un libro de orden de la cadena a cambio de cobrar costos de transacción.

  1. El intermediario provee sus tarifas y la dirección para cobrar esos costos de transacción.
  2. El Maker genera una orden con tasas feeA y feeB de acuerdo con las tarifas del intermediario, con la dirección de destino del intermediario y firma una orden con su llave privada
  3. El Maker envía una orden firmada al intermediario
  4. El intermediario recibe una orden, verifica su validez y si todos los requerimientos se cumplen. Si la orden fuera inválida o no atiende a los requisitos del intermediario, la misma será rechazada. Caso contrario, la orden será agregada al Libro de Orden.
  5. Los Takers reciben el Libro de Orden actualizado que ahora contiene también las órdenes de los Makers.
  6. El Taker acepta la orden enviándola al Contrato Inteligente en la Blockchain Ethtereum.

El token 0x – ZRX

El protocolo 0x está asociado a un número fijo (1 billón) de tokens de protocolo en la Ethereum Blockchain que son emitidos para las dApps y usuarios finales. Por un lado, los tokens pueden ser usados por los participantes del mercado para pagar costos de transacción a los intermediarios (retransmisores) y, por otro lado, para implementar un gobierno descentralizado en términos de actualizaciones de protocolo.

Para el trading de tokens descentralizados, existe el llamado Registro de Token, una visión general de todos los tokens ERC20 con metadatos para cada uno de ellos (nombre, símbolo, dirección de contrato y el número de decimales para representar la menor unidad de un token (para el cálculo de las tarifas de cambio). Esos Registros de Tokens son útiles porque los trabajos en la forma de código de bytes hexadecimales son de muy difícil lectura para los humanos.

El Registro de Token sirve como una referencia oficial en la cadena que puede ser utilizada por los participantes del mercado para verificar, de forma independiente, las direcciones de los tokens y las tarifas de cambio antes de negociar. El control y la supervisión de la exactitud del registro (agregado de nuevos tokens, alteraciones o exclusiones) son ejercidos por las partes interesadas en 0x.

Potencial del 0x

0x es un proyecto interesante con mucho potencial. Si quisieras comprar Ox, vas a encontrar los pasos necesarios en nuestro sitio web. También puedes verificar la cotización actual del 0x. Otros detalles pueden ser encontrados en Github. Ya existen algunos proyectos y corredores basados en 0x.

Dejar respuesta

Please enter your comment!
Please enter your name here

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