Solana es una cadena de bloques de alto rendimiento con bloques de 400 ms y un tiempo de ejecución flexible que permite que la computación se escale con hardware de validación. En las iteraciones actuales de Solana Testnet, una red de 200 nodos físicamente distintos admite un rendimiento sostenido de más de 50,000 transacciones por segundo cuando se ejecuta con GPU. Creemos que es la cadena de bloques más eficiente del mundo.
El proyecto Libra de Facebook es notable por una serie de razones que la comunidad blockchain ya ha discutido con cierta profundidad: es un proyecto de gran éxito construido por algunas de las mentes más brillantes en tecnología, respaldado por algunas de las empresas más grandes del mundo, y lo hará probablemente sea una gran ayuda para la adopción de la tecnología blockchain. Pero para el equipo de Solana en particular, notamos que el lenguaje de contrato inteligente Move de Libra separa los datos compartidos del código de contrato inteligente que lo modificaría.
Encontramos este factor particularmente interesante porque el equipo de Solana tomó la misma decisión de diseño en nuestro tiempo de ejecución: Sealevel. Reconocimos de inmediato que Move es un lenguaje de contratos inteligentes que no solo podía escalar, sino también compartir compatibilidad con Solana. Esto nos sugirió que el código Move podría utilizarse en Solana y aprovechar aún más el entorno altamente optimizado de la red Solana.
Solo dos semanas después, el cofundador de Solana, Stephen Akridge, publicó que pudo ejecutar las transacciones de pago entre pares de Libra en Solana:
Unos días más tarde, pudimos trabajar en la integración y la evaluación comparativa, y a través de una combinación de gran diseño de lenguaje del equipo de Libra y una optimización meticulosa del equipo de Solana, estamos orgullosos de anunciar el apoyo para Move VM en Solana. Lo que esto significa es que los proyectos y las aplicaciones creadas con Move son compatibles con Solana, a la vez que pueden utilizar la excepcional velocidad y capacidad transaccional de la red de Solana.
Sealevel, el tiempo de ejecución de procesamiento de transacciones de Solana permite la ejecución paralela de transacciones en cómputo y almacenamiento a escala horizontal. Sospechamos que la principal diferencia entre ejecutar Move y las transacciones nativas de Solana será la sobrecarga adicional de interpretar Move bytecode en Move VM que se ejecuta en Solana.
Benchmarking para Move VM en Solana
Como puede ver, el tiempo total de ejecución es 684us, y 605us de eso se gasta en la función `vm_execute`, que maneja el intérprete de código de bytes. Esto confirmó nuestras expectativas. Consideramos que los resultados de esta evaluación comparativa son realmente notables porque Sealevel puede escalar la ejecución paralela de transacciones en tantos núcleos de CPU como estén disponibles para el validador.
Los programas nativos de Solana toman 1us `execute :: vm_execute`, ya que las instrucciones son nativas x86. MoveVM es casi 700 veces más lento que nuestros programas nativos de Solana, y a esta velocidad, podemos demostrar qué tan bien Sealevel maneja el escalado horizontal de las CPU.
El aumento del recuento de CPU escala el rendimiento linealmente. No tenemos dudas de que el rendimiento inicial de la VM se puede mejorar drásticamente con un JIT o un front-end LLVM para permitir la compilación directa a un conjunto de instrucciones nativo.
Estos puntos de referencia se ejecutan en nuestro testnet con tiempos de bloqueo de 400 ms:
Move VM de Libra se utilizará por una gran cantidad de desarrolladores en todo el mundo a medida que el proyecto intenta canalizar gran parte del enorme mercado de Facebook hacia las aplicaciones de criptomonedas y blockchain. Ese movimiento es tan fácilmente compatible con Solana y capaz de lograr grados sobresalientes de optimización adicional al utilizar las innovaciones centrales de la red Solana, es una señal muy alentadora. Sugiere que los proyectos que se construyen con Move se pueden transferir de manera relativamente simple a Solana y cosechar los beneficios de la velocidad y el rendimiento transaccional.
Esto demuestra que, aunque el tiempo de ejecución Move VM no está optimizado hoy en día, puede integrarse con relativa facilidad en la cadena de Solana, donde se puede extraer el rendimiento paralelo. Esperamos ofrecer a los desarrolladores una opción de entornos Move, para que no estén encerrados en un solo proveedor. Creemos que el resultado será un ecosistema blockchain más robusto y funcional.
Si eres desarrollador web o trabajas en blockchain y contratos inteligentes, el lenguaje de programación Move tiene mucho que ofrecer. Puede consultar el ejemplo Move SDK de Solana aquí, y ejecutar benchmarking para Move VM en Solana aquí. Si desea obtener más información sobre Solana y las principales innovaciones que la convierten en la primera cadena de bloques a escala web del mundo, esta publicación de blog es un excelente lugar para comenzar.