Resumen
Marlin mejora la potencia de procesamiento y la expresividad de los contratos inteligentes utilizando recursos de computación fuera de la cadena que son fácilmente verificables.
Cuenta con dos productos, Oyster y Kalypso, que utilizan TEEs y pruebas ZK respectivamente para asegurar la corrección de los cálculos.
Las capacidades sin servidor permiten a los desarrolladores ejecutar código de forma "fire-and-forget", aliviándolos de tediosos DevOps. La escalabilidad automática y la tolerancia a fallos están integradas en el protocolo Marlin.
La red potenciada por GPU permite a los desarrolladores invocar programas, enviar entradas y recibir resultados utilizando llamadas a contratos inteligentes, haciendo que las aplicaciones y juegos DeFi impulsados por IA sean prácticos.
Los backends desplegados en Oyster pueden exponer puntos finales HTTPS permitiendo que intercambios de libro de órdenes de baja latencia, gateways RPC o frontends descentralizados sean desplegados en ellos.
Introducción
Una blockchain consiste en un gran número de nodos procesando transacciones de manera redundante para prevenir que usuarios maliciosos gasten sus monedas dos veces o ejecuten transacciones inválidas. Esto tiende a hacer que las blockchains sean lentas y costosas. Incluso soluciones de escalado de capa 2 como los rollups están limitadas en sus capacidades ya que no pueden acceder al historial de blockchain para calcular puntajes de crédito, ejecutar grandes modelos de aprendizaje automático para desarrollar juegos dinámicos, o lograr una latencia lo suficientemente baja como para desplegar intercambios de libro de órdenes responsivos.
Los coprocessores como Marlin permiten que algoritmos grandes y complejos sean calculados sobre nodos fuera de la cadena con acceso añadido a APIs de Web 2 y el historial de blockchain. En lugar de evaluar el mismo programa en múltiples máquinas, cada programa se ejecuta en un solo nodo, lo que acelera la ejecución, reduce costos y aumenta la paralelización. La corrección de los resultados en ausencia de cálculos redundantes del programa original está garantizada utilizando estructuras de software conocidas como pruebas de conocimiento cero (ZK) y Entornos de Ejecución Confiables (TEEs), donde las pruebas compactas y las atestaciones de cálculo se verifican en la cadena de manera mucho más rápida y económica.
¿Qué es Marlin?
Marlin es un protocolo de computación verificable. Consiste en una red descentralizada de nodos, que permiten que programas arbitrarios sean ejecutados en ellos. Los programas se pueden escribir en Solidity, C++, Rust y Go, o dirigirse a cualquier otro entorno WASM. Pueden ser desplegados en nodos individuales de Marlin como contenedores dockerizados e invocados utilizando llamadas a contratos inteligentes.
El protocolo asegura que los programas se ejecuten correctamente a pesar de ejecutarse fuera de la cadena en nodos operados por terceros no confiables. La salida de los programas puede ser reenviada a la cadena o estar disponible a través de puntos finales de API. Si un nodo se vuelve no disponible o si la carga de trabajo aumenta repentinamente, el protocolo crea automáticamente nuevas instancias, proporcionando a los usuarios una interfaz sin servidor.
Historial de lanzamientos
Aquí hay un breve resumen del historial de lanzamientos de Marlin:
OpenWeaver fue lanzado en el cuarto trimestre de 2019, lo que permitió que redes de relé global de baja latencia se desplegaran entre un grupo de nodos.
Marlin Cache fue lanzado en el segundo trimestre de 2020 para permitir que los nodos almacenen y sirvan datos de acceso frecuente.
En el cuarto trimestre de 2020, OpenWeaver fue desplegado sobre una red pública de más de 800 nodos llamada Marlin Relay.
Durante el segundo trimestre de 2021, mev-bor, un cliente de Flashbots para Polygon, fue lanzado para recibir paquetes MEV a través del Marlin Relay.
Oyster agregó capacidades computacionales usando TEEs a la red en el segundo trimestre de 2022.
Kalypso permite que la generación de pruebas ZK sea externalizada a la red y fue anunciada en el cuarto trimestre de 2023.

¿Cómo funciona Marlin?
Como una red de computación descentralizada, la arquitectura de Marlin está optimizada para tres tareas:
(i) recibir solicitudes de cálculo
(ii) realizar el cálculo
(iii) hacer que los resultados del cálculo estén disponibles
En el espíritu de la descentralización, cualquiera es libre de unirse a la red y realizar estas tareas. Según las tareas, a los nodos se les asignan diferentes roles, a saber,
Nodos de puerta de enlace
Nodos de ejecución
Nodos de monitoreo

Nodos de puerta de enlace
Los nodos de puerta de enlace son responsables de recibir solicitudes y enviarlas a los nodos de ejecución. Las solicitudes para calcular pueden hacerse invocando puntos finales HTTPS expuestos por los nodos de puerta de enlace. Alternativamente, para que los contratos inteligentes puedan hacer solicitudes, se despliega un contrato de relé en la blockchain. Las puertas de enlace escuchan eventos que se originan en el contrato de relé y luego nombran nodos de ejecución para procesar la solicitud.
Las puertas de enlace, por lo tanto, actúan como el balanceador de carga de facto ya que verifican qué nodos de ejecución están ocupados o inactivos antes de reenviar solicitudes. De manera similar, las puertas de enlace también actúan como el conducto para devolver resultados. Según los requisitos de los usuarios que hacen la solicitud, las puertas de enlace pueden realizar transacciones de contratos inteligentes para devolver resultados a la cadena.
Ejecución sin servidor: De hecho, las mismas propiedades permiten que los nodos de puerta de enlace detecten cuando los nodos de ejecución tienen una alta tasa de utilización o se han vuelto no disponibles. Ellos instruyen a nuevos nodos de ejecución para que tomen el control. A medida que las puertas de enlace coordinan con el grupo de nodos de ejecución, no se requiere que los desarrolladores seleccionen y monitoreen nodos de ejecución individuales.
Nodos de ejecución
Los nodos de ejecución incluyen laptops y servidores comunes, pero también hardware especializado como GPUs, ASICs y FPGAs. Se encargan de ejecutar cálculos como algoritmos de emparejamiento para motores de comercio, lo cual sería prohibitivamente costoso en la cadena. Además, también pueden inferir utilizando modelos de aprendizaje automático o generar pruebas ZK, que serían simplemente imposibles en la cadena.
Los programas a ser ejecutados pueden ser compartidos directamente con el nodo de ejecución guardándolos en el calldata de una transacción o en IPFS y señalando a los nodos de ejecución hacia ellos mencionando la transacción o el hash de IPFS en la solicitud. Dado que los programas pueden escribirse en cualquier lenguaje, también pueden incluir servidores, que pueden operar en el nodo de ejecución y atender solicitudes de usuarios como un backend descentralizado.
Nodos de monitoreo
Los nodos de monitoreo verifican las garantías de nivel de servicio (SLA) realizadas por las puertas de enlace y los nodos de ejecución, incluyendo tiempo de actividad y conectividad de red. En caso de que un nodo no cumpla con las garantías esperadas, su apuesta puede ser reducida por los nodos de monitoreo. Así, los nodos de monitoreo juegan un papel clave en mantener la red honesta y de alto rendimiento al eliminar los nodos deshonestos y de bajo rendimiento.
Garantías de corrección
Considerando que cualquiera puede ejecutar estos nodos, ¿qué sucede si los nodos de ejecución devuelven resultados incorrectos? Mucho podría salir mal si un oráculo que se ejecuta en Oyster devolviera el precio incorrecto de un activo o si un intercambio de perpetuos liquidara erróneamente a un comerciante. Igual de malo, un operador de nodo podría potencialmente husmear en datos privados como un modelo de aprendizaje automático propietario que impulsa un servicio de puntuación de crédito.
Para proporcionar a los usuarios la comodidad de una ejecución segura, Marlin emplea dos tecnologías: TEEs y pruebas ZK.
Entornos de Ejecución Confiables (TEEs)
Un TEE o enclave seguro es un sistema protegido en una máquina donde los datos y el código están aislados de otros procesos a nivel de hardware. Muchos proveedores de la nube y fabricantes de servidores ofrecen tales instancias. Los nodos de ejecución Oyster utilizan TEEs para asegurar que los programas se ejecuten correctamente, ya que ni el sistema operativo ni ningún otro proceso en ejecución puede acceder a los programas dentro de un TEE.
Los datos enviados a un TEE a menudo están cifrados y se descifran solo dentro del TEE, evitando que información sensible sea filtrada a los operadores de nodos. Se puede obtener una atestación verificable en la cadena cuando se realizan cálculos dentro de un TEE.
Pruebas de Conocimiento Cero (ZK)
Una prueba de conocimiento cero es un esquema criptográfico que permite a alguien que realiza el cálculo demostrar a alguien más que el resultado es correcto compartiendo una prueba. La criptografía detrás de la generación de la prueba hace que sea muy fácil de verificar pero casi imposible de falsificar a menos que el cálculo se haya realizado correctamente. Los cálculos externalizados a nodos de ejecución Kalypso generan tal prueba, que luego puede ser verificada en la cadena.
El mercado de probadores ZK de Kalypso es un intercambio basado en libro de órdenes que permite a cualquiera crear un mercado para cualquier esquema de prueba ZK. Dado que la generación de pruebas ZK consume mucho tiempo y es costosa, el mercado conecta dispositivos con recursos limitados con proveedores de hardware inactivos para aumentar sus ingresos y utilización de recursos.

¿Qué hace que Marlin sea único?
Marlin es una red de coprocessores fuera de la cadena y no una blockchain. Esto ofrece algunas ventajas clave:
Independiente de la blockchain: Marlin puede trabajar con cualquier proveedor de capa 1, capa 2 o rollup-as-a-service para aumentar sus capacidades computacionales.
Acceso a datos fuera de la cadena: Los nodos de Marlin pueden acceder a información de bases de datos, APIs de Web 2 o nodos de archivo de blockchain, lo cual no es posible en la cadena.
Computación en paralelo: Los nodos coprocessor en Marlin no realizan los mismos cálculos redundantes, permitiendo que cada nodo trabaje concurrentemente en diferentes tareas.
Puntos finales HTTPS: Las conexiones TLS pueden ser terminadas dentro de TEEs, permitiendo que los nodos Oyster envíen/reciban datos utilizando conexiones HTTPS.
Independiente del circuito: A diferencia de las redes de probadores ZK dedicadas, Kalypso está diseñado para ser sin permisos, permitiendo la generación de pruebas para cualquier circuito, zkVM o sistema de prueba.
A diferencia de la mayoría de los sistemas de blockchain donde la computación es transaccional, los programas desplegados en Marlin pueden dejarse ejecutar indefinidamente, siempre que una billetera asociada siga pagando por ello.
¿Qué es el token POND?
El ecosistema de Marlin se basa en el token POND para derivar sus garantías de seguridad. Los nodos en la red están obligados a apostar POND para unirse. Arriesgan perder su apuesta en caso de mala conducta. Esto asegura que diferentes actores en la red cumplan con las reglas definidas por el protocolo.
Reflexiones finales
Oyster y Kalypso posicionan a Marlin como un coprocessor confiable para DApps construidas en cualquier proveedor de capa-1, capa-2 o roll-as-a-service. Su naturaleza personalizable asegura que las DApps tengan la opción de usar TEEs, pruebas ZK, o ambas para proporcionar seguridad para cálculos fuera de la cadena. Su flexibilidad proporciona una amplia variedad de opciones de despliegue, modos de interacción, lenguajes de programación y entornos de ejecución. En última instancia, su apertura permite que cualquiera se una, proporcione poder computacional y despliegue aplicaciones atractivas.
Este contenido se presenta para usted en una base de 'tal cual' para información general y fines educativos solamente, sin representación o garantía de ningún tipo. No debe interpretarse como asesoramiento financiero, legal u otro profesional, ni se pretende recomendar la compra de ningún producto o servicio específico. Debe buscar su propio asesoramiento de asesores profesionales apropiados. Los productos mencionados en este artículo pueden no estar disponibles en su región. Cuando el artículo es contribuido por un tercero, tenga en cuenta que las opiniones expresadas pertenecen al contribuyente de terceros y no reflejan necesariamente las de Binance Academy. Por favor, lea nuestro aviso completo para más detalles. Los precios de los activos digitales pueden ser volátiles. El valor de su inversión puede bajar o subir y puede que no recupere la cantidad invertida. Usted es el único responsable de sus decisiones de inversión y Binance Academy no es responsable de ninguna pérdida que pueda incurrir. Este material no debe interpretarse como asesoramiento financiero, legal u otro profesional. Para más información, consulte nuestros Términos de uso y Advertencia de riesgos.
