ioTube v3 - ¡Más rápido, barato y unificado! (09-02-2021)

image

¡Bienvenido a ioTube!

ioTube es un puente descentralizado entre blockchains que conecta IoTeX con el universo del resto de blockchains. ioTube permite el intercambio bidireccional de criptoactivos y datos entre IoTeX y otras blockchain. ¡Esto significa que los tokens de Ethereum (ERC20) pueden vivir en IoTeX, y los tokens de IoTeX (XRC20) pueden vivir en Ethereum y otras blockchains! ioTube es completamente de código abierto en GitHub, compatible con ioPay y Metamask, y soporta activos ERC20 incluyendo ETH, wBTC, BUSD, PAXG, UNI, y más.

En este hilo, explicamos la historia de ioTube, sus últimas características y su arquitectura técnica. Para aprender a utilizar ioTube para convertir tokens de Ethereum a ioTube y viceversa, consulte este hilo.

Versiones anteriores: ioTube v1 (abril de 2019) y ioTube v2 (agosto de 2020)

En abril de 2019, ioTube v1 se lanzó como parte de Mainnet Alpha para convertir IOTX-E (ERC20) en Ethereum a IOTX nativo en IoTeX. En agosto de 2020, se introdujo ioTube v2 con importantes actualizaciones para apoyar la conversión de otros activos de Ethereum (por ejemplo, ETH, WBTC, BUSD) a IoTeX. En la v2, también introdujimos el concepto de “testigos” para hacer que ioTube sea descentralizado y seguro, de manera que una transferencia se liquida si y sólo si está respaldada por más de dos tercios de todos los testigos.

Versión actual: ioTube v3 (Feb 2021)

Debido a los altos precios del gas de Ethereum, ioTube v3 fue diseñado para reducir significativamente los costes de las transferencias de tokens a través de la cadena entre Ethereum y IoTeX. También hemos añadido nuevas optimizaciones para mejorar enormemente la eficiencia y la fiabilidad. Con ioTube v3, el gas necesario para completar una transferencia de tokens entre cadenas se ha reducido en un 40% en comparación con ioTube v2. Las nuevas ventajas de ioTube v3 se resumen a continuación:

  • Reducción de los costes de transferencia: para los contratos Solidity basados en EVM, el almacenamiento en el contrato es el mayor impulsor del consumo de gas. En lugar de almacenar los detalles de las transferencias en los contratos como en las versiones anteriores, ioTube v3 recoge los detalles de las transferencias a partir de los eventos emitidos mediante la lectura de los registros, lo que reduce en gran medida el consumo de gas.
  • Reducción de los costes de liquidación: en las versiones anteriores, cada testigo enviaba un atestado individual a la cadena de bloques y todos los atestados se almacenaban en el contrato, lo que significa que cada atestado provocaba una costosa acción de “comprobación del estado de la transferencia”. En ioTube v3, introducimos un nuevo rol de “relayer” que recoge las firmas de todos los testigos y las envía al contrato para su liquidación, reduciendo el consumo de gas en un 74%.
  • Unificación: también hemos aprovechado la oportunidad para fusionar los contratos heredados de ioTube v1 + ioTube v2 en un contrato unificado de ioTube v3, que ahora se puede configurar e interactuar sin problemas.

ioTube v3 - Visión general y arquitectura

Las transferencias de tokens entre cadenas a través de ioTube utilizan múltiples contratos inteligentes tanto en la cadena de bloques de origen como en la de destino. Comienza cuando un usuario deposita activos en un “contrato de caja” en la cadena A, que es un evento que es observado por múltiples nodos testigos. Estos testigos verifican este evento y envían una firma a la red de repetidores, que agrega todas las firmas e instruye a un “contrato validador” en la cadena B para acuñar la misma cantidad de tokens que se depositaron en la cadena A.

image

Toda la arquitectura de ioTube v3 está compuesta por los siguientes contratos:

  • WitnessList: almacena la lista de testigos activos

  • TokenList: almacena la lista de tokens de la lista blanca

  • TokenSafe: almacena los tokens depositados en el cajero de tokens, y estos tokens almacenados son utilizados para transferir a los receptores por el validador de transferencias

  • MinterPool: contiene las autoridades de acuñación de todos los tokens de la tabla de acuñación

  • TokenCashier: acepta los depósitos de tokens/monedas y emite un recibo por cada depósito

  • TransferValidator: valida las firmas de los testigos y luego retira los tokens de la caja fuerte de tokens a los receptores.
    Para depositar activos, el contrato TokenCashier valida lo siguiente:

  • Comprueba si el activo está en la lista blanca y activo a través de TokenList

  • Comprueba si la cantidad está dentro de los límites máximos

  • Comprueba si el activo es un token proxy (por ejemplo, ioETH en IoTeX es un token proxy)

  • Si es proxy, lo quema y crea un recibo; si no es proxy, lo deposita en la TokenSafe.

image

Una vez que un testigo detecta un depósito, firmará un atestado y lo enviará al relayer, que recoge los atestados de los testigos y los envía a TransferValidator.

Para la acuñación (es decir, la emisión de los activos correspondientes), el contrato de TokenValidator garantiza:

  • El activo que se convierte está en la lista blanca y está activo a través de TokenList
  • La transferencia tiene atestados de al menos dos tercios de todos los testigos
  • Si es así, el contrato acuña tokens proxy para transferir tokens al destinatario dado.

image

¿Listo para empezar con ioTube?

¿Listo para empezar con ioTube y aportar nuevos criptoactivos a la red IoTeX? Es fácil: sólo tienes que descargar ioPay, visitar el sitio web de ioTube y seguir estas instrucciones. Para cualquier pregunta, puedes ponerte en contacto con un administrador en Telegram