Contents
Hechos clave:
Gateways es el servicio de oráculo de RSK, la plataforma de contratos inteligentes de bitcoin.ChainLink una red de oráculos construida en Ethereum para interconectar varias blockchains.Contenido patrocinado por IOVLabsLa idea de los oráculos es muy antigua. En occidente conservamos en el imaginario a aquellas videntes misteriosas del mundo griego, pitonisas que servían de puente entre el mundo de los mortales y los inmortales y que revelaban a los héroes su destino en un lenguaje críptico, metafórico.Hoy en día la idea pervive en el ámbito de los contratos inteligentes, si bien con propósitos más técnicos que místicos. Según el glosario de Breaking News, oráculo es “un software que sirve de «puente» para que los contratos inteligentes puedan interactuar con datos del mundo real. De esa forma, un contrato puede verificar un resultado del mundo externo para llevar a cabo sus condiciones automáticamente.”Vemos que la función de puente persiste como núcleo del concepto de oráculo, pero en el caso de los contratos inteligentes no son héroes quienes preguntan ni dioses quienes responden. Todo el proceso de pregunta-respuesta está automatizado en algoritmos.
¿Para qué sirven los oráculos?
Las redes de blockchain y los contratos inteligentes, por si mismos, no pueden acceder a información fuera de la red. Pero hay muchos acuerdos contractuales –por ejemplo, apuestas sobre el resultado de un partido de futbol– que necesitan acceder a tal información. Es ahí donde los oráculos en blockchain entran en juego.En teoría, un oráculo es una capa en la infraestructura que se encarga de realizar búsquedas, verificar y autenticar distintas fuentes de data externa para luego transmitir esa información al contrato pertinente a fin de que se ejecute con arreglo a los acuerdos preestablecidos.Los oráculos interconectan los mundo real y digital.Así, en el caso hipotético antes mencionado, supongamos que Pedro y José –dos perfectos desconocidos que no tienen ninguna razón por la que confiar uno en el otro– apuestan en Twitter sobre quién ganará el clásico, si el Real Madrid, o el Barça. Deciden bloquear fondos en un contrato inteligente.El contrato por sí solo no puede acceder a información exterior, por lo que se recurre a un oráculo. Al terminar el partido, este recurre a una API de confianza para averiguar el resultado y, una vez confirmado, liberar los fondos automáticamente a la dirección de monedero del ganador.
Tipos de Oráculos
Existen distintos tipos de blockchain oracles según el propósito para el que se les diseñe. Según si la fuente de información es del mundo físico o del digital, se utilizará un oráculo de hardware o un oráculo de software.Un oráculo de software funcionará como en el ejemplo anterior: toma su información de fuentes que se encuentran en Internet, pudiendo tratarse de bases de datos, servidores o páginas web. Por su parte, un oráculo de hardware, necesitaría de un dispositivo especializado que traduzca la información del mundo físico al digital, por ejemplo, un lector de código de barras. Este tipo de oráculo es empleado en casos en que se hace seguimiento a la cadena de suministro de un producto usando contratos inteligentes.Según la direccionalidad de la información, el oráculo puede ser entrante o saliente. Un oráculo entrante recibe información externa, sea física o digital, y la introduce en el oráculo. Un oráculo saliente utiliza información existente en el contrato inteligente, por ejemplo, un depósito, y la transmite al exterior (por ejemplo, abrir una puerta configurada con Smart lock).Por último, según el grado de confianza necesaria en el proceso, se dividen en centralizados o descentralizados. Los oráculos centralizados, como su nombre lo indica, son controlados por una sola entidad, siendo la única fuente de información para el contrato, lo que supone un punto único de falla. Los oráculos descentralizados buscan minimizar el riesgo de contraparte al consultar múltiples fuentes para asegurar la validez de la información.Este último tipo de oráculo, también llamado de consenso, no elimina la necesidad de confianza sino que pretende mitigarla. Ahí el dilema de los oráculos: si bien los oráculos pueden ampliar los casos de uso de las blockchains, al reintroducir cierto grado de confianza e intermediación en el proceso, arriesgan el carácter trustless que da valor a ciertas blockchains públicas.Para reducir los riesgos asociados al tercero de confianza, los proyectos acuden a múltiples fuentes de data. Pero un solo oráculo también puede comprometer la integridad de la data, por lo que pueden emplear múltiples oráculos. También está la posibilidad de implementar mecanismos de incentivos que promuevan el trabajo honesto y disuadan de atacar el contrato.Aun así, son varios los proyectos que han asumido este trade-off para investigar los casos de uso que abren los oráculos. En este artículo profundizaremos en tres propuestas de oráculos.
Gateways de RIF
Gateways, como su nombre lo indica, es una pasarela creada en RSK Infraestructure Framework (RIF) que provee protocolos de interoperabilidad para interactuar con el mundo exterior a esta sidechain de contratos inteligentes sobre Bitcoin.En pocas palabras, es el servicio de oráculo de RSK (una plataforma de contratos inteligentes), el cual posibilita enviar y recibir información tanto fuera de las redes de blockchain, como entre distintas cadenas. Este servicio está pensado para desarrollar herramientas y tecnologías fáciles de usar que permitan a las compañías diseñar aplicaciones que interactúen con el mundo exterior. Es agnóstico, por lo que puede implementarse en distintos protocolos.Gateways ofrece una interfaz de interacción con tres tipos de proveedores de servicios: servicios de data para el consumo de información desde el exterior hacia la blockchain; servicios de activación que consumen data de la blockchain y la comunican al exterior y servicios de programación de transacciones para ejecutar acciones en el futuro en la blockchain.Con los servicios de data de RIF, los consumidores pueden elegir entre distintos tipos de servicios de oráculos. Luego, interactúan con el proveedor correspondiente y obtienen la información requerida. Para poder adecuarse al protocolo, los proveedores necesitan implementar una interfaz específica en sus contratos inteligentes, definiendo un set específico de consumo de data, suscripción y modelos de pagos.En cuanto a los triggers o servicios de activación de RIF, estos pueden ser utilizado por ejemplo en aplicaciones de videojuegos que necesiten procesar eventos de contratos inteligentes para mostrar actualizaciones específicas a los participantes. En RIF se define una vía estándar para consumir esta data sin los riesgos y costos de implementar una nueva solución para cada caso de uso. Permite al usuario configurar el servicio de procesamiento del evento, especificando aquella información que se necesite conocer, qué acciones tomar una vez que el evento suceda y hasta suscribirse a plantillas predefinidas.Por último, los schedulers o servicios de programación de RIF, se encarga de las transacciones periódicas y recurrentes programándolas según condiciones temporales predefinidas.En resumen, el objetivo de RIF Gateways es ofrecer una interfaz simple para que los usuarios interactúen con proveedores de estos tres servicios, reduciendo la complejidad de tener que lidiar con distintas tecnologías.
Lit del MIT Digital Currency Initiative
La propuesta de oráculo de la Iniciativa de Divisas Digitales del MIT, llamada Lit, no solo corre en Bitcoin, sino que está basada en una implementación de su segunda capa, la Lightning Network.Desarrollada por el investigador Tadge Dryja y el desarrollador Gert-Jaap Glasbergen, Lit posibilita la escritura de contratos inteligentes en Bitcoin. Sus pruebas se han enfocado hasta ahora en pagos condicionales con Bitcoin tomando información desde el exterior y difundiéndola entre los canales de pago.La implementación utiliza el esquema llamado contratos discretos de log para difundir la data a los contratos inteligentes. Una de las ventajas de este esquema es la escalabilidad, pues al correr en Lightning Network, la mayoría de la data no necesitaría ser almacenada en la cadena base. Además, también mejora la privacidad pues los oráculos no tendrían manera de saber quién está usando la data que ellos están difundiendo.Si bien existe un repositorio de GitHub de Lit que puede correrse, la propuesta probada desde 2018 no se encuentra en producción, pero el código está libre para ser tomado. En las primeras pruebas del sistema, los investigadores construyeron un oráculo de prueba para difundir el precio del dólar estadounidense en satoshis, información que podía ser usada por cualquiera para los contratos inteligentes sobre Bitcoin que también facilita este prototipo. De hecho, ya en 2018 los investigadores revelaron que se encontraban en conversaciones con compañías para que tomaran el código y mejoraran la experiencia de usuario para sus propios negocios.Las pruebas fueron realizadas en el 2018, momento en que la Lightning Network estaba en un estado sumamente rudimentario. Utilizar este código en la actualidad probablemente reduzca los riesgos de pérdidas monetaria presentes en aquel entonces, si bien no los elimina –cabe recordar que LN sigue en beta.
ChainLink
Por último, tenemos ChainLink, una red de oráculos construida en Ethereum. Busca servir como software intermedio que conecte distintos contratos inteligentes entre varias blockchains, así como tomar data del exterior y comunicarla a estas redes.La compañía detrás de ChainLink se llama SmartContract y lanzó su red en mayo de 2019, luego de haber recaudado 32 millones de dólares en una ICO. Su más reciente trabajo se ha enfocado en crear una red de oráculos compatibles con Bitcoin, Hyperledger y Ethereum.ChainLink utiliza componentes tanto dentro de la cadena como fuera de ellas. Dentro de la cadena filtra los oráculos basándose en métricas solicitadas por una de las partes a un contrato inteligente. También colecta oráculos correspondientes a las búsquedas y los ordena basándose en un criterio reputacional. A partir de ello, provee un resultado colectivo final para la búsqueda.Fuera de la cadena, utiliza nodos conectados a la red de Ethereum que cumplen con las solicitudes específicas y predeterminadas de reunión de información solicitada por los contratos. ChainLink interviene en esta parte como un intermediario que redirige y asigna la data. Finalmente, los nodos son recompensados por sus servicios con el token nativo de ChainLink, el LINK.
Conclusiones
Los oráculos también presentan varios retos que deben ser asumidos, a pesar de los beneficios que pueden traer para expandir los posibles usos de los contratos inteligentes. El principal es llamado literalmente El problema del oráculo: si el oráculo es afectado, así también lo estará el contrato inteligente sobre el que corre. Al no ser parte del consenso de la red principal, no gozan de los mecanismos de seguridad que estas pueden proveer.También existen problemas de confianza que han permanecido irresueltos a nivel teórico y práctico, como el que supone la vinculación entre oráculos de terceros y la ejecución del contrato inteligente. Los llamados ataques de hombre en el medio también pueden ser una amenaza, donde actores maliciosos ganan acceso al flujo de data entre el oráculo y el contrato y logran modificar la data.No obstante, son problemas a los que debe hacérseles frente si se quiere expandir el uso de los contratos inteligentes fuera de la red, pues estos sistemas son indispensables para lograr la interoperabilidad entre la red de blockchain y la data exterior.