La construcción de Web3 y el uso de la tecnología blockchain para descentralizar el control de las redes, las plataformas y los datos es una idea poderosa que puede ayudar a revivir la Internet abierta. Pero los defensores de blockchain creen que los contratos inteligentes no se comerán el mundo hasta que las aplicaciones descentralizadas puedan interactuar directamente con Web2, tal como lo hacen los servicios web de consumo convencionales en la actualidad. Solo entonces las cadenas de bloques incorporarán miles de millones de usuarios de Web2 a los servicios de Web3.
Por lo general, las cadenas de bloques no pueden interactuar directamente con sistemas y datos alojados fuera de sus respectivas redes. La tecnología web heredada se comunica en gran medida a través de la infraestructura de la nube y los servidores que utilizan el protocolo web estándar HTTP, lo que obliga a las dapps a depender de “oráculos” externos para comunicarse con fuentes basadas en HTTP. Los oráculos funcionan básicamente como puentes que conectan el software en cadena con los datos y servicios fuera de la cadena.
Debido a que las cadenas de bloques como Ethereum (ETH) y Solana (SOL) no pueden ofrecer soluciones nativas de Oracle, los desarrolladores de dapp se enfrentan a la complejidad de programación, los costos, la latencia y los riesgos de seguridad adicionales de usar middleware confiable para consultar datos externos. Por lo general, integran oráculos centralizados y redes de oráculos como Chainlink (LINK) para permitir que sus contratos inteligentes accedan a la infraestructura fuera de la cadena, pero deben asegurarse regularmente de que estos servicios de oráculo devuelvan respuestas válidas de manera confiable que no se vean comprometidas.
Los contratos inteligentes se benefician de la capacidad de ingerir datos fuera de la cadena del mundo real. Los intercambios descentralizados, por ejemplo, a menudo obtienen tipos de cambio de intercambios centralizados como Coinbase. Esta es la razón por la cual los contratos financieros inteligentes, los creadores de mercado automatizados y las plataformas comerciales generalmente dependen de los oráculos mientras navegan por las vulnerabilidades y explotaciones asociadas, como la manipulación del oráculo de precios. ¿Qué pasaría si hubiera una API directa para que dapps accediera a datos externos? ¿Qué pasaría si los desarrolladores ya no tuvieran que incorporar y pagar a intermediarios externos para enviar solicitudes dentro de la cadena y transmitir respuestas fuera de la cadena?
En una señal de cómo la tecnología blockchain continúa avanzando, Internet Computer (ICP) implementó recientemente una API que permite que los contratos inteligentes y las dapps envíen directamente llamadas salientes HTTP, incluido el tráfico HTTPS seguro. “Si desarrolla un contrato inteligente de contenedor en la cadena de bloques de Internet Computer, podrá realizar llamadas salientes HTTPS directamente a los servidores Web2 y recibir una respuesta directa sin confianza”, explica Dieter Sommer, gerente de programa técnico de la Fundación DFINITY, que contribuye con I + D a la computadora de Internet. “Desde la perspectiva del desarrollador, la experiencia es más cercana al paradigma familiar de programación Web2 sin oráculos”.
Una API HTTP
La forma en que los proyectos de Oracle como Chainlink, UMA (UMA) y API3 (API3) generalmente operan involucra una autoridad fuera de la cadena que lee datos de una fuente externa particular y los escribe en un contrato inteligente único para transmitir esos datos en respuesta a -consultas en cadena. Los contratos inteligentes que se ejecutan en una cadena de bloques se pueden programar para usar el oráculo como sustituto o traductor de los datos fuera de la cadena.
Las desventajas incluyen la participación de un intermediario que complica el trabajo de los desarrolladores y aumenta el riesgo de fallas en el servicio. Los terceros pueden coludirse o conspirar para manipular datos, y los oráculos también pueden ser pirateados o comprometidos. Recibir y enviar los datos puede llevar tiempo, lo que perjudica la experiencia del usuario, especialmente en el caso de los oráculos descentralizados que necesitan agregar datos de fuentes redundantes y coordinar el consenso. Chainlink es particularmente dominante en el espacio de Oracle, siendo independiente de blockchain, pero usar la red de Oracle también es costoso para los desarrolladores.
La introducción de una API HTTP directa para contratos inteligentes abre un camino para que Web3 interopere sin problemas con fuentes de datos y servicios establecidos basados en HTTP, creando una variedad de posibilidades de aplicaciones que pueden aprovechar de manera eficiente una gran cantidad de datos Web2. La función de llamadas salientes HTTPS se incorporó recientemente a la pila de protocolos informáticos de Internet, centrándose en su capa de consenso. Los contratos inteligentes de Internet Computer se implementan en cadenas de bloques de subred, con el código y el estado de cada contenedor replicados en todos los nodos de una subred determinada.
La mayoría de las cadenas de bloques se basan en oráculos para las solicitudes HTTP intermedias porque la replicación y el consenso hacen que no sea práctico interoperar directamente con HTTP. Las réplicas harían llamadas idénticas a un servicio externo y las posibles variaciones en las marcas de tiempo o ID generarían respuestas diferentes, lo que haría imposible que llegaran a un acuerdo.
“Conceptualmente, la pila de protocolos IC puede verse simplemente como una vía de comunicación entre el recipiente y el servidor HTTP convencional que asegura que la respuesta HTTP llegue a través del consenso y que todas las réplicas honestas reciban exactamente la misma respuesta en ejecución”, explica la documentación.
Cada uno de los nodos de una subred que ejecuta un contrato inteligente determinado en la computadora de Internet solicita la URL y, si suficientes de ellos reciben la misma respuesta, se devuelve al recipiente solicitante. Si las respuestas de la réplica difieren, por ejemplo, debido a las marcas de tiempo contenidas, el orden diferente de los valores de respuesta o diferentes conjuntos superpuestos de valores de respuesta, los desarrolladores pueden simplemente codificar una función de transformación. Esto estandariza las respuestas eliminando partes que son innecesarias (como marcas de tiempo o identificadores), clasificando valores o recortando valores de respuesta, básicamente cumpliendo cualquier transformación relevante que haga que las respuestas de todas las réplicas sean iguales para finalmente llegar a un consenso.
“El contrato inteligente del contenedor en sí mismo es el cliente HTTP, por lo que le brindamos la mayor flexibilidad y potencia posibles para brindar la capacidad de integrar Web3 con Web2”, dice Sommer. “Con menos costos y menos suposiciones de confianza, los desarrolladores de dapp pueden priorizar su lógica comercial y de productos, y los usuarios obtienen una seguridad más sólida y menos latencia”.
Después de los oráculos
Reducir las dependencias externas y los intermediarios es un principio central detrás de blockchain y es clave para aumentar la resiliencia y la seguridad de los sistemas descentralizados. Eliminar la necesidad de contratos inteligentes para depender de oráculos puede ayudar a los desarrolladores a construir e implementar más fácilmente una amplia gama de aplicaciones descentralizadas relacionadas con finanzas, seguros, comunicaciones, deportes y logística. Uno puede imaginar consultar servidores para obtener datos de sensores de Internet de las cosas (IoT), así como conectarse a servicios de correo electrónico tradicionales y enviar mensajes de chat a través de pasarelas de mensajes.
Si bien lograr tales casos de uso del mundo real es esencial para el desarrollo de Web3, el esfuerzo actual requiere que tanto los desarrolladores como los usuarios confíen en Oracle, confiando en intermediarios confiables para acceder a datos fuera de la cadena para permitir un servicio basado en blockchain o dapp de Web3. para operar. Los datos comprometidos o una explotación del oráculo por parte de piratas informáticos, o simplemente una interrupción tecnológica convencional y mundana, pueden desestabilizar todo el contrato inteligente y los contratos inteligentes dependientes, presentando así un único punto de falla. Los desarrolladores y usuarios esperarán mejores experiencias a medida que Web3 continúe madurando, y esto subraya la necesidad de un mejor enfoque para las integraciones.
La eliminación de la complejidad de las soluciones actuales de Oracle para el acceso a datos fuera de la cadena podría tener el efecto de acelerar el desarrollo de Web3 y la incorporación de usuarios. Las llamadas salientes de HTTPS en Internet Computer muestran cómo los desarrolladores ahora pueden crear productos y dapps que interactúan directamente con los servidores convencionales y la infraestructura empresarial, desdibujando efectivamente la línea entre Web2 y Web3 mientras posicionan contratos inteligentes para realmente comerse el mundo.