Palo Alto, California, 20 de marzo de 2024, Chainwire
Pilotfish, un prototipo de extensión de Sui, pudo aumentar el rendimiento de ejecución de contratos inteligentes en proporción directa a la cantidad de máquinas utilizadas.
Mysten Labs, un equipo de expertos líderes en sistemas distribuidos, lenguajes de programación y criptografía y creadores de Sui Community, anunció hoy un logro histórico en el escalamiento de la capacidad de blockchain. Durante las pruebas y el desarrollo en un entorno de blockchain de Sui, Pilotfish, un prototipo de extensión de Sui, aumentó el rendimiento 8 veces cuando estaba respaldado por 8 máquinas, lo que ilustra con éxito la posibilidad de escalamiento lineal. En specific, la latencia por transacción disminuyó a medida que se agregaron más máquinas durante la prueba, lo que demuestra la viabilidad del escalado horizontal lineal para transacciones de blockchain de baja latencia por primera vez en cualquier blockchain.
Esta prueba de concepto se presentó formalmente como una preimpresión académica titulada “Pilotfish: Distributed Transaction Execution for Lazy Blockchains” y se compartió inicialmente el 29 de enero de 2024 como un artículo en el archivo de acceso abierto arXiv.
“Pilotfish cambia las reglas del juego, ya que la industria blockchain busca lograr el mismo aumento de capacidad dinámica que actualmente sólo es posible con tecnologías de servidores centralizados”, dijo Lefteris Kokoris-Kogias, uno de los autores del artículo e investigador de Mysten Labs. “Pilotfish tiene el potencial de impulsar el rendimiento mucho más allá de lo que actualmente está a la vanguardia de las cadenas de bloques de alto rendimiento, permitiendo niveles de rendimiento de transacciones que ninguna otra cadena de bloques existente en la actualidad puede alcanzar”.
Sui lidera la industria en rendimiento al aprovechar múltiples núcleos para la ejecución de transacciones paralelas dentro de validadores individuales. Utilizando este enfoque, pocos meses después de la purple principal, Sui alcanzó 65,8 millones de ejecuciones de transacciones en un solo día, la mayor cantidad de cualquier cadena de bloques jamás realizada. Sin embargo, una sola máquina sólo puede incorporar un número finito de núcleos, por lo que las ganancias de rendimiento mediante esta estrategia son limitadas. Además, las máquinas capaces de albergar un gran número de núcleos son caras de comprar y utilizar. La innovadora solución que ofrece Pilotfish permite que un único validador emplee varios servidores simultáneamente. Esta nueva tecnología no solo hace posible la capacidad elástica, sino que su arquitectura de escalamiento automático, related a soluciones centralizadas como AWS o Heroku, permite el uso de servidores más pequeños y más baratos disponibles bajo demanda.
Casi todas las demás cadenas de bloques que pretenden escalar utilizan alguna forma de procesamiento por lotes: agrupar transacciones para agregarlas todas a la vez. La desventaja de este método es una latencia adicional significativa. En lugar de que las transacciones avancen directamente hacia su finalización, se retrasan esperando que otras se agrupen para su ejecución con ellas. A diferencia de estas otras soluciones de escalado, Pilotfish logra un escalamiento de rendimiento potencialmente lineal sin aumentar la latencia. En términos más simples, con el escalamiento horizontal habilitado por Pilotfish, simplemente activando la cantidad requerida de máquinas, un validador puede adaptar su rendimiento y uso de recursos al caso de uso en cuestión.
Alberto Sonnino, científico investigador de Mysten Labs, dijo: “Hasta ahora, la única opción para aumentar la capacidad de un validador ha sido actualizarlo a una máquina más potente. Pilotfish elimina esa restricción, haciendo posible el escalado horizontal simplemente agregando servidores y sin retrasar la ejecución. Con Pilotfish, la pregunta ya no es si es posible alcanzar cierto nivel de rendimiento, sino sólo cuántos servidores necesitará”.
Pilotfish logra su notable escalabilidad al permitir que un único validador ejecute transacciones en múltiples máquinas. Específicamente, Pilotfish divide la función de validación en tres roles clave: (1) Primario, que maneja la secuenciación de transacciones utilizando un consenso de alto rendimiento, (2) SequencingWorkers (SW), que almacenan transacciones y las envían para su ejecución; y (3) ExecutionWorkers (EW), que almacenan el estado de la cadena de bloques y ejecutan transacciones recibidas de los SW. Diferentes componentes pueden residir en varias máquinas diferentes para aumentar la capacidad del sistema con mayor precisión.
En los resultados experimentales, Pilotfish ya ha logrado resultados notables en términos de escalado lineal, baja latencia y soporte para diversas cargas de trabajo. En las pruebas, Pilotfish redujo los tiempos de respuesta de la purple y mantuvo una envolvente de latencia por debajo de 20 ms. Los planes futuros incluyen mejoras como múltiples SequencingWorkers, replicación de fragmentos y redes ultrarrápidas.
Contacto
Laboratorios Mystenlexi.wangler@mystenlabs.com