La blockchain Sui ha surgido como un novedoso protocolo de capa 1 (L1), que incorpora tecnologías avanzadas para abordar las compensaciones comunes de la capa 1. Cointelegraph Research desvela los detalles de este recién llegado al espacio blockchain.
Sui utiliza el lenguaje de programación Move, que se diseñó centrándose en la representación de activos y el control de acceso. Este artículo examina el modelo de almacenamiento de datos centrado en objetos de Sui, sus implicaciones para el procesamiento de transacciones y sus ventajas potenciales sobre los paradigmas tradicionales basados en cuentas.
El paradigma orientado a objetos de SUI
Sui se inspira en gran medida en la cadena de bloques Diem, especialmente en su uso del lenguaje de programación Move para contratos inteligentes. Move se diseñó con un sistema de tipos específicamente adaptado a la gestión de activos y a la aplicación del control de acceso. Sui Move se basa en esta base con un modelo de almacenamiento de datos centrado en objetos que utiliza objetos en lugar de cuentas como primitivas.
A diferencia del modelo de cuenta tradicional, en el que las transacciones cambian los saldos, o del modelo UTXO, en el que las transacciones tienen entradas y salidas simples, el modelo de objetos de Sui trata los activos (así como los contratos inteligentes) como objetos complejos. Las transacciones en Sui toman objetos como entradas y mutan estas entradas en objetos de salida. Cada objeto registra el hash de la última transacción que lo produjo. Este enfoque es conceptualmente similar al modelo UTXO, pero más general y potente. A continuación puede verse una comparación de los modelos.

El uso de la lógica lineal en Move está conectado con el modelo orientado a objetos y facilita el desarrollo de software seguro. La lógica lineal, a veces referida como lógica de recursos, asegura que los recursos que representan activos digitales no puedan duplicarse ni destruirse inadvertidamente. Cuando se ejecuta una transacción que involucra un activo, la semántica de Sui Move asegura que el estado del activo se actualice de una manera que refleje el resultado de la transacción, consumiendo el activo en su estado anterior y produciéndolo en su nuevo estado.
Los objetos en Sui también pueden tener controles de acceso y permisos definidos, lo que mejora la seguridad y el control sobre el uso de activos después de una transacción. Esto mitiga las vulnerabilidades comunes en cadenas basadas en cuentas, que permiten ataques de reentrada. En un ataque de reentrada, una función realiza una llamada externa a otro contrato antes de actualizar su propio estado, permitiendo a los atacantes ejecutar repetidamente acciones que deberían ocurrir solo una vez.
Esto puede llevar a cambios no autorizados en el estado del contrato, como retirar más fondos de los permitidos. Debido a que las transferencias de propiedad son explícitas y atómicas en Sui, este tipo de error no puede ocurrir. El sistema de tipos lineales de Move asegura que una vez que un recurso se mueve, no puede ser reutilizado a menos que se reasigne explícitamente.
El modelo tradicional basado en cuentas, como el utilizado por Solidity, requiere que los desarrolladores implementen verificaciones adicionales para prevenir tales errores. Por ejemplo, los ataques de reentrada deben evitarse siguiendo un patrón de verificación-efectos-interacciones. Todas las operaciones que cambian el estado (efectos) deben ocurrir después de todas las verificaciones pero antes de cualquier interacción (llamadas externas). Este patrón, a menudo referido como contabilidad optimista, asegura que las variables de estado se actualicen antes de realizar cualquier interacción externa.
Si bien el modelo centrado en objetos no mejora inherentemente la seguridad, puede simplificar el proceso de desarrollo y facilitar la escritura de código seguro. Aunque los contratos inteligentes en Ethereum pueden ser verificados formalmente para alcanzar altos niveles de seguridad, este proceso puede ser complejo y costoso.
Solidity es conocido por su semántica notoriamente poco intuitiva, lo que dificulta que los desarrolladores razonen sobre el comportamiento del código. Esto aumenta la probabilidad de introducir errores sutiles y vulnerabilidades de seguridad.
SUI Move pertenece a una familia de lenguajes que intenta simplificar el desarrollo seguro de contratos inteligentes incorporando primitivas financieras sensatas en la semántica del lenguaje desde el principio. Otro ejemplo es el Lenguaje de Aprobación de Ejecución de Transacciones (TEAL) de la blockchain Algorand, que utiliza un modelo de ejecución sin estado para asegurar que las transacciones sean atómicas y seguras.
El modelo centrado en objetos de Sui es particularmente ventajoso para gestionar activos complejos como tokens no fungibles (NFTs). En Ethereum, los NFTs están vinculados a direcciones de contratos inteligentes, y las interacciones a menudo requieren llamadas contractuales complejas y actualizaciones de estado, lo que lleva a costos más altos y potenciales riesgos de seguridad. Por ejemplo, transferir un NFT en Ethereum implica invocar una función del contrato inteligente ERC-721, que actualiza el estado y emite eventos.
Este proceso involucra múltiples pasos y tarifas de gas para cada operación. En contraste, el modelo de objetos de Sui permite que cada NFT sea tratado como un objeto distinto con propiedades y permisos intrínsecos. El comportamiento de los NFTs está estrechamente alineado con las primitivas del lenguaje Move, mientras que en Ethereum, este comportamiento debe ser implementado, lo que aumenta la sobrecarga y crea margen para errores.

Orientación a objetos y rendimiento de la cadena de bloques
El modelo orientado a objetos facilita la fragmentación y la paralelización en la cadena de bloques SUI. Combinado con una reciente actualización del mecanismo de consenso de Sui, SUI logra así un tiempo hasta la finalización de aproximadamente 390 milisegundos.
Esto podría permitir un rendimiento superior a 100,000 transacciones por segundo. A continuación se ofrece una comparación de Sui con otras destacadas cadenas de bloques de capa 1.

Desagregación de bases de datos en cadenas basadas en cuentas frente a SUI
Una de las preocupaciones más acuciantes de las blockchain es la infame disyuntiva entre escalabilidad, seguridad y descentralización. El Sharding, que facilita la partición de la base de datos de la blockchain, se considera una solución a este problema.
En las arquitecturas basadas en cuentas, la fragmentación consiste en dividir el estado por direcciones de cuenta. Cada fragmento gestiona un rango distinto de direcciones, y las transacciones son procesadas por el fragmento que contiene los datos de la cuenta implicada.
Sin embargo, esto plantea una serie de problemas. Por ejemplo, Polkadot exige que el saldo y el estado de cada cuenta se actualicen y sincronicen en todos los shards (Parachains). Mantener la coherencia entre varios shards es un reto, ya que cada shard debe sincronizarse periódicamente con el estado global, lo que introduce latencia y complejidad.
Las transacciones en las que intervienen cuentas de distintos shards requieren mensajería y coordinación entre shards, lo que añade sobrecarga computacional y retrasa la finalización de la transacción. En el pasado, esto ha provocado tiempos de inactividad en este tipo de blockchain, como fue el caso de Zilliqa.
El modelo centrado en objetos de Sui evita muchos de estos problemas al tratar cada objeto como una unidad de estado independiente. Los objetos pueden procesarse y gestionarse por separado sin necesidad de sincronización global de estados, y pueden procesarse múltiples transacciones simultáneamente sin necesidad de sincronización entre fragmentos. Esto reduce la necesidad de una compleja comunicación entre fragmentos y permite un procesamiento paralelo más directo y eficiente.

Procesamiento paralelo de transacciones en SUI
La paralelización se refiere a la ejecución simultánea de múltiples operaciones y a la mejora de la velocidad de procesamiento mediante el aprovechamiento de hilos de ejecución concurrentes.
Existen dos métodos principales de paralelización: el método de acceso al estado (o ejecución determinista) y la ejecución optimista. En el método de acceso al estado utilizado por Sui y Solana, las transacciones declaran a qué partes del estado accederán, lo que permite al sistema identificar transacciones independientes que pueden ejecutarse de forma concurrente.
Este método garantiza resultados predecibles y evita la necesidad de reejecutar transacciones, lo que permite mercados dinámicos de tarifas de gas que gestionan los puntos calientes de estado congestionados.
Por otro lado, la ejecución optimista, tal y como la utilizan redes como Monad y Aptos, asume inicialmente que todas las transacciones son independientes y reejecuta a posteriori las transacciones conflictivas. Aunque es más sencillo para los desarrolladores, puede dar lugar a ineficiencias computacionales.
Sui logra la paralelización del acceso al estado a través de su modelo centrado en objetos. Las operaciones en un objeto no afectan ni retrasan las operaciones en otro, lo que naturalmente permite que se procesen de forma concurrente. Las mismas características estructurales simplifican la partición de la base de datos de transacciones, simplificando así también el procesamiento paralelizado en un único nodo.

Conclusión
En conclusión, el modelo centrado en objetos de la blockchain Sui, combinado con el lenguaje de programación Move, aborda varias limitaciones clave de las blockchains de capa 1 tradicionales. La capacidad de procesar transacciones en paralelo mejora significativamente la escalabilidad y reduce la latencia.
El uso de la lógica lineal y la seguridad basada en capacidades garantiza una sólida gestión de recursos y control de acceso, lo que reduce potencialmente el riesgo de errores y vulnerabilidades de seguridad. Además, el enfoque de Sui para gestionar activos complejos, como los NFT, simplifica las interacciones y mejora la eficiencia en comparación con los modelos tradicionales basados en cuentas. Estas características posicionan a Sui como un avance notable en la tecnología blockchain.
En nuestro próximo artículo, examinaremos el mecanismo de consenso de la blockchain Sui, explorando su evolución y los beneficios que proporciona. Sui emplea un protocolo de consenso diseñado para funcionar con su modelo centrado en objetos.
Analizaremos los detalles del mecanismo de consenso de Sui, incluidos sus métodos de tolerancia a fallos y optimización del rendimiento, para comprender cómo contribuyen estos elementos a su infraestructura.
Además, compararemos el enfoque de consenso de Sui con los de otras blockchain destacadas, como Ethereum, Polkadot y Solana, para identificar sus características únicas y las áreas en las que puede destacar o enfrentarse a retos.
Aclaración: La información y/u opiniones emitidas en este artículo no representan necesariamente los puntos de vista o la línea editorial de Cointelegraph. La información aquí expuesta no debe ser tomada como consejo financiero o recomendación de inversión. Toda inversión y movimiento comercial implican riesgos y es responsabilidad de cada persona hacer su debida investigación antes de tomar una decisión de inversión.