En los últimos meses, se han dedicado importantes esfuerzos al desarrollo de Sui Bridge, un puente nativo para el ecosistema Sui. Esta iniciativa mejora la accesibilidad de Sui para la comunidad en general y mejora la interoperabilidad con otras cadenas de bloques.
Sui Bridge, un componente crítico en el ecosistema Sui, facilita la transferencia segura y eficiente de activos y datos entre Sui y otras redes blockchain. Esta capacidad no solo amplía el alcance de las aplicaciones creadas en Sui, sino que también ofrece una vía para integrarse más profundamente en el panorama más amplio de blockchain. La interoperabilidad aumenta el crecimiento y la adopción de Sui, lo que permite que los activos en otras redes, como Ethereum, migren de forma segura y sencilla a Sui.
Fondo del puente Sui
En el contexto del ecosistema blockchain, un puente es un protocolo que permite la interacción y comunicación entre redes blockchain independientes. Los puentes facilitan la transferencia de datos a través de fronteras, lo que permite a los usuarios mover sus activos de una cadena a otra e incluso realizar operaciones más complejas, como el paso de mensajes entre cadenas.
Entre las pocas opciones de diseño de puentes, Sui Bridge utiliza un mecanismo de cerradura y menta, una de las soluciones más utilizadas. Como diseño de bloqueo y menta, Sui Bridge contiene activos nativos de Ethereum dentro de contratos inteligentes de Ethereum, mientras que acuña o quema activos de Sui dependiendo de la dirección de la interacción del puente.
Como puente nativo en Sui, Sui Bridge no requiere confianza adicional. Las entidades que aseguran Sui son las mismas que aseguran Sui Bridge y el código para Sui Bridge está integrado en el marco de Sui.
En su estado actual, Sui Bridge está disponible en Testnet y admite el puente de tokens como ETH, WETH, WBTC y USDT entre Ethereum Sepolia y Sui Testnet. Después de que Sui Bridge se lance en Mainnet, se priorizará el soporte para más activos. Las versiones posteriores de Sui Bridge agregarán nuevas funciones, como mensajería personalizada entre cadenas e integración con otras cadenas de bloques.
Arquitectura de alto nivel
Sui Bridge tiene cuatro componentes clave: el comité o red de nodos de Sui Bridge, los contratos inteligentes de Sui Bridge, los nodos completos que operan en Ethereum y Sui, y el cliente de puente.
El cliente es la interfaz entre el usuario y la infraestructura de Sui Bridge. Coordina las acciones de puente de los usuarios enviando transacciones formateadas correctamente y recopilando firmas de nodos de Sui Bridge según sea necesario. El cliente utiliza nodos completos para enviar transacciones en ambos lados del puente. Los nodos de Sui Bridge también ejecutan nodos completos de Ethereum y Sui para escuchar las acciones de puente y responder a ellas a través de la siguiente transacción. Si bien el cliente puente no tiene permisos y cualquiera puede ejecutarlo, muchos nodos puente alternarán entre los clientes puente para garantizar la actividad de la red.
Sui Bridge utiliza una infraestructura que opera tanto en Ethereum como en Sui junto con la red de nodos de Sui Bridge.
Al conectar activos de Ethereum a Sui, el usuario deposita activos en el contrato inteligente de Sui Bridge en Ethereum. Luego, el cliente observa esta transacción y coordina el proceso de conexión. El comité de Sui Bridge opera nodos completos de Ethereum que también escuchan dichas acciones de puente para verificar que lo que el cliente solicita es legítimo.
Después de la verificación, la acción de puente se completa mediante la acuñación de activos puente para el usuario a través del paquete Sui Bridge en Sui. Con costos de puente tan bajos, los Sui Validators actualmente subsidian las tarifas de gas asociadas con las transacciones puente en Sui y permiten al cliente ejecutar las transacciones automáticamente, creando una experiencia puente perfecta con Sui.
Al pasar de Sui a Ethereum, el proceso es similar excepto que los usuarios deben enviar la transacción de reclamo manualmente en Ethereum. Esta transacción incluye datos de firma de los nodos de Sui Bridge en los datos de llamada de la transacción que permiten que la cuenta de Ethereum canjee los activos especificados bloqueados en el contrato de puente.
Además, todos los registros y aprobaciones del puente se almacenan en el objeto puente en la cadena. Esto es factible en Sui porque sus costos de almacenamiento y gas son asequibles. El contrato del puente Sui también se ocupa de las acciones de gobernanza, que están controladas por el comité del puente Sui.
Mensajes puente
Para garantizar bajos costos de gas, Sui Bridge construye mensajes de una manera liviana que es fácil de decodificar para la cadena receptora. Se emplea un formato de mensajería común para garantizar que cada cadena pueda decodificar y verificar mensajes y firmas de manera eficiente.
Ejemplo de código de movimiento:
La estructura pública BridgeMessage tiene copiar, soltar, almacenar { tipo_mensaje: u8, versión_mensaje: u8, num_secuencia: u64, cadena_fuente: u8, carga útil: vector<u8> }
Ejemplo de código de solidez:
struct Mensaje { uint8 tipo de mensaje; versión uint8; uint64 nonce; ID de cadena uint8; carga útil de bytes; }
Estos mensajes puente están diseñados teniendo en cuenta la simplicidad y la eficiencia. La estructura es minimalista y contiene solo campos esenciales como tipo de mensaje, versión, número de secuencia, identificador de la cadena de origen y carga útil. Este diseño optimizado reduce la complejidad y la sobrecarga computacional, lo que garantiza bajos costos de gas y al mismo tiempo facilita una comunicación entre cadenas rápida y confiable.
Seguridad del puente
Determinar el modelo de confianza de un puente es una de las decisiones de diseño más importantes al desarrollar un puente para soportar un ecosistema bullicioso y grandes flujos. Un puente debe ser seguro y descentralizado. Si bien en algunos diseños de puentes estos atributos pueden estar en desacuerdo entre sí, el desarrollo de un puente nativo ofrece la oportunidad de aprovechar la seguridad de Sui para proteger Sui Bridge.
Los mismos operadores de nodos que aseguran Sui mediante la ejecución de nodos validadores administran y mantienen la infraestructura en la que se ejecuta Sui Bridge. Sui Bridge hereda una red descentralizada de operadores de nodos que son altamente capaces de ejecutar y proteger la infraestructura de Sui.
Como se mencionó anteriormente, la mayoría de las operaciones del Puente Sui ocurren en Sui y tratan a Sui como un panel de control para el puente. Esto se beneficia de la seguridad que hereda el software desarrollado en Move.
Comité de puente
Sui Bridge está protegido por el mismo conjunto de validaciones que protege a Sui. Durante la fase de Testnet, el comité está formado por un subconjunto de validadores de Testnet. Cuando esté en Mainnet, la mayoría, si no todos, los validadores Sui activos formarán parte del Comité Bridge. La gestión dinámica del comité se implementará después de Mainnet para permitir que se unan nuevos validadores. Permitir que solo los validadores de Sui formen parte del Comité de Sui Bridge garantiza que se hereden los supuestos de seguridad, las propiedades y el consenso social.
Para mantener una alta seguridad y compatibilidad con otras redes blockchain, Sui Bridge emplea el algoritmo de firma digital de curva elíptica (ECDSA) para las firmas del Comité Bridge. Al aprovechar ECDSA, Sui Bridge garantiza una interoperabilidad perfecta y una verificación segura de las transacciones, lo que refuerza la integridad y confiabilidad del sistema.
Verificación de firma
Sui Bridge utiliza firmas ECDSA recuperables, que permiten la recuperación de claves públicas directamente desde la propia firma. Esta característica agiliza el proceso de verificación al permitirnos recuperar la clave pública y confirmar la autenticidad e integridad de la firma sin requerir conocimiento previo de la clave pública.
Un mensaje se considera válido sólo cuando el peso combinado de las firmas alcanza o supera un umbral predefinido. Este mecanismo de umbral garantiza que se requiera una cantidad suficiente de firmas autenticadas para validar un mensaje, mejorando así la seguridad y confiabilidad del sistema. Al implementar este enfoque, nos protegemos contra actividades fraudulentas y garantizamos que solo se procesen transacciones legítimas.
Ejemplo de código en Move:
... let mut message_bytes = SUI_MESSAGE_PREFIX; message_bytes.append(message.serialize_message()); deje umbral mut = 0; while (i < firma_counts) { let pubkey = ecdsa_k1::secp256k1_ecrecover(&signatures[i], &message_bytes, 0); // verifique el duplicado // y asegúrese de que la clave de publicación sea parte del comité afirmar!(!seen_pub_key.contains(&pubkey), EDuplicatedSignature); afirmar!(self.members.contains(&pubkey), EInvalidSignature); // obtener el peso de la firma del comité y verificar que pubkey sea parte del comité let member = &self.members[&pubkey]; if (!member.blocklisted) { umbral = umbral + miembro.voting_power; }; visto_pub_key.insert(pubkey); yo = yo + 1; }; ...
Ejemplo de código en Solidity:
función verificarSignatures(bytes[] firmas de memoria, mensaje de memoria BridgeUtils.Message) anulación de vista externa { uint32 requireStake = BridgeUtils.requiredStake(message); participación de aprobación uint16; firmante de la dirección; mapa de bits uint256; // Verifique la validez de cada firma y agregue la participación de aprobación para (uint16 i; i < firmas.length; i++) { bytes de memoria firma = firmas[i]; // recupera el firmante de la firma (bytes32 r, bytes32 s, uint8 v) = splitSignature(signature); (firmante,,) = ECDSA.tryRecover(BridgeUtils.computeHash(mensaje), v, r, s); require(!blocklist[firmante], "BridgeCommittee: El firmante está en la lista bloqueada"); require(committeeStake[firmante] > 0, "BridgeCommittee: El firmante no tiene participación"); índice uint8 = índice del comité [firmante]; máscara uint256 = 1 << índice; require(mapa de bits y máscara == 0, "BridgeCommittee: Se proporcionó firma duplicada"); mapa de bits |= máscara; participación de aprobación += participación del comité [firmante]; } require(approvalStake >= requireStake, "BridgeCommittee: Cantidad de participación insuficiente"); }
Construyendo interoperabilidad
El puente nativo de Sui no solo proporciona un medio seguro y eficiente para transferir activos entre redes blockchain, sino que también sienta las bases para interacciones entre cadenas más avanzadas. Al aprovechar su sólido modelo de confianza, incorporar ECDSA para transacciones seguras y verificables y emplear un proceso de verificación de firmas basado en comités, Sui Bridge garantiza una alta seguridad y confiabilidad sin dejar de ser flexible.
La escalabilidad y flexibilidad de la arquitectura del puente Sui permiten futuras expansiones e integraciones con otras redes blockchain. A medida que se desarrolle el ecosistema, el puente admitirá una gama más amplia de activos y capacidades, como mensajes personalizados entre cadenas que permitirán interacciones únicas entre cadenas.
Sui Bridge representa un importante paso adelante en el panorama de la interoperabilidad de Sui, al ofrecer una solución fluida y altamente segura para transferencias de activos entre cadenas. A medida que Sui Bridge se lanza en Mainnet, los usuarios pueden esperar un puente cada vez más robusto y versátil que satisfaga las demandas actuales y al mismo tiempo anticipe las necesidades futuras.