Los oráculos blockchain son una de las herramientas que usa la tecnología blockchain para interactuar con el mundo físico. De allí su enorme utilidad y potencial puesto que permiten crear un puente entre el mundo criptográfico y físico con el fin de crear utilidades que aprovechen al máximo la tecnología blockchain y todo lo que tiene que ofrecernos.
Los protocolos de las blockchain y los smart contract están limitados a solo obtener información y acceder a datos que estén dentro de la misma red. Esta limitación ha llevado a los desarrolladores a crear los oráculos. Estos son, en pocas palabras, un servicio que envía y verifica información del mundo real que sea relevante para una blockchain o para un smart contract. Todo esto en forma de datos electrónicos que pueden ser asimilados por las redes que los sostienen.
En este sentido podemos decir que los oráculos son piezas de código que sirven de puente entre el mundo real y el representado por la blockchain y sus protocolos. Un puente que permite interactuar a las blockchain y los smart contract con el mundo real.
Funciones de un oráculo
Un oráculo tiene como principal función, ser un servicio mediante el cual una blockchain o un smart contract se nutre de información externa a la blockchain sobre la que se ejecuta. Información que puede desencadenar una acción específica dentro de la misma según una determinada programación.
Y es que a través del oráculo se obtienen datos reales de distintas páginas webs que revelan resultados deportivos. Además, el oráculo recopila y verifica la información desde varias páginas webs para crear un consenso y dar un resultado preciso que no pueda ser manipulado. Entonces, los oráculos son un tipo de fuente de datos que le informan a la red los sucesos que ocurrieron en el exterior. Con esto permiten que en este caso, el smart contract pueda ser activado para liberar los fondos después que se cumplan las condiciones predeterminadas del acuerdo. Con esto el potencial de los smart contract se extiende hasta el mundo real.
Ejemplos de uso de un oráculo
Seguramente te estarás preguntando en este momento ¿Qué utilidad puede tener un oráculo? Pues a decir verdad tienen mucha utilidad, y para conocer un poco sobre esto veamos el siguiente ejemplo.
Imaginemos que dos personas hacen una apuesta sobre un partido de fútbol. En dicha apuesta, Pedro apuesta a que gana el equipo A y Juan al equipo B. Ambos definen el acuerdo, las condiciones y el dinero de la apuesta. Luego envían los fondos al smart contract que contiene todos estos parámetros y condiciones. Mientras el partido va ocurriendo, el oráculo va obteniendo la información del mismo hasta su final, momento en el que analiza todas las condiciones, para luego liberar los fondos al ganador de la apuesta.
El ejemplo anterior es el de una apuesta, pero el sistema también puede replicarse a otros aspectos. Y todo ello sin intermediación de una plataforma centralizada que pueda hackearse, engañar a sus clientes o censurarse.
Tipos de Oráculos
Software
Este tipo de oráculo son los que manejan información en línea. Conocidos como oráculos de software, pueden extraer y ordenar información en línea como el clima, la temperatura, precios de productos, horarios de vuelos, entre otro. Todos estos datos son enviados luego al smart contract para el que fueron programados. Todo esto con el fin de dicho smart contract pueda realizar las acciones correspondientes para los que fue programado.
Hardware
A diferencia de los software, los oráculos de hardware, pueden rastrear objetos del mundo real. Esto debido a que algunos smart contract requieren de información del mundo real. Por ejemplo, la llegada de un autobús, de un barco, o rastrear el movimiento de un automóvil cuando llega a un lugar determinado o cruza una barrera. Estos dispositivos hardware brindan a los usuarios la capacidad de monitorear cadenas de suministro completas a través de una blockchain.
Así, estos oráculos incluyen sensores IoT, RFID o lectores de códigos de barras. La información que capturan se lleva a un sistema de suministro basado en blockchain, lo que brinda a los usuarios un conjunto completo de información.
Entrantes y Salientes
Los oráculos entrantes, son aquellos que proporcionan información desde el exterior hacia la blockchain o smart contract. Son muy empleados por empresas y compañías que desean automatizar distintas acciones que dependen de la introducción de información.
Por otro lado, los oráculos salientes, son aquellos que brindan a la red la posibilidad de enviar datos al mundo real. Por ejemplo, en la tecnología de hogares inteligentes, este tipo de oráculos son muy comunes, puesto que permiten por ejemplo, abrir una cerradura del hogar inteligente una vez que se verifique que la entrada ha sido autorizada por una clave privada y firma criptográfica válida.
De Consenso
Como mencionamos en nuestro ejemplo, existen oráculos que se basan en el consenso para asegurar una información confiable y que no pueda ser manipulada. Estos oráculos son ideales para monitorear los mercados financieros, ya que recopilan información desde números lugares para aportar una información correcta. Ya que emplear una única fuente de datos podría ser poco confiable e inseguro.
Oráculos en Bitcoin
Si bien la red de Ethereum es actualmente la blockchain líder para el uso, implementación y ejecución de smart contract, Bitcoin también tiene la capacidad de usar oráculos. Un buen ejemplo de esto es el proyecto desarrollado por el Instituto Tecnológico de Massachussets (MIT), en el que usa oráculos y smart contract en la red Lightning Network (LN) de Bitcoin. El nombre del proyecto es lit, y pueden revisar su código fuente desde su página web en GitHub.
El objetivo de este proyecto de investigación es el de programar transacciones a partir de la ejecución de smart contract. Una capacidad que permitirá proporcionar escalabilidad a la red y explorar las capacidades y potencialidades que poseen este tipo de contratos.
El trabajo está en manos de Tadge Dryja del MIT. Este proyecto usa un oráculo simple a través del cual se podrían agregar ciertas funcionalidades de los smart contract a las transacciones realizadas en la red Bitcoin. Todo ello sin que represente un riesgo a la privacidad y la seguridad de la red Bitcoin. De esa forma, se puede transmitir información para la ejecución de un determinado contrato según los datos recibidos.
Características de los oráculos blockchain
- Privacidad. Los oráculos no pueden saber si se ha iniciado un smart contract o si su información ha sido incluida en una blockchain. Por lo que se emplea un protocolo que mezcla la información suministrada por el oráculo antes de incluirla en la cadena. Así, la identidad de los usuarios se conserva en privado y se mantienen lejos a las miradas indiscretas.
- Conectividad. Los oráculos permiten que los smart contract puedan conectarse fuera de la cadena con proveedores de datos, API webs, IoT, sistemas de pago, backends empresariales y otras blockchain.
- Servicio centralizado. Los oráculos obtienen información de servicios centralizados de confianza. Por lo que se requiere confiar en que el servicio está enviando los datos correctos. Y aunque esta es una problemática que no se ha podido erradicar, si se han implementado soluciones para mitigar este hecho,
- Monetización. Los oráculos no han sido monetizados de forma razonable. Por lo que para poder ver la adopción masiva de este tipo de herramientas es necesario que exista algún tipo de incentivo o recompensa para sus operadores.
Riesgos y oráculos descentralizados
Los oráculos, en su concepción, han sido pensados como una pieza bajo un control centralizado, un modelo que está lejos del modelo descentralizado que aboga la tecnología blockchain. Esto significa que al usar un servicio de este tipo, confías plenamente en la información de una entidad que puede manipular y corromper algo que en principio ha sido diseñado para que no lo sea.
Este es el mayor riesgo y desventaja de los oráculos y para evitarlo nacieron los oráculos descentralizados. Un oráculo descentralizado obtiene la información desde múltiples oráculos y su programación se asegura de comunicar al smart contract lo que diga la mayoría de los oráculos. En este punto es importante la descentralización de control sobre los diferentes oráculos usados.
Dos proyectos muy importantes en este sentido son Provable (antes Oraclize) y ChainLink, ambos ejecutándose sobre la blockchain de Ethereum. Los dos sistemas se sirven del poder de los Smart Contracts de Ethereum para construir un oráculo descentralizado que se alimente de diferentes fuentes de información para dar finalmente un resultado acorde a esos datos. Debido a su naturaleza blockchain, la programación de los Smart Contracts puede ser revisada libremente y no se puede alterar sin el consenso de todos quienes participan en el sistema. Esto garantiza que la información siempre será válida y libre de cualquier manipulación.
Casos de uso de los oráculos blockchain
La blockchain y los smart contract han introducido nuevas tecnologías radicales. Por lo que muchas empresas están adaptando sus infraestructuras para cumplir con las rigurosas demandas de verificación sobre la confianza. Donde los oráculos forman parte esencial de este proceso de cambio. Y esto crecerá a medida que las compañías comiencen a adoptar cada vez la tecnología blockchain en sus operaciones.
Un caso de uso ampliamente conocido es Augur. Esta es una plataforma de mercado de predicción descentralizada construida en la cadena de bloques Ethereum. Desarrollada por Forecast Foundation, que fue fundada en 2014 por Jack Peterson y Joey Krug. Augur está impulsado por un token de nombre RE.
Otro caso es ChainLink (LINK). Como ya mencionamos este ofrece un servicio de oráculo descentralizado cuyo objetivo es el de conectar a los smart contract con datos del mundo real. Esto a la vez ofrece recompensas e incentivos a los participantes en la red de ChainLink.
La conectividad de esta red va desde pagos bancarios o pagos minoristas como Visa y Paypal, hasta datos de mercado como NYSE y Bloomberg. También permite la conexión entre sistemas backend como SalesForce y SAP. Permitiendo a la blockchain integrarse con pagos locales y ventas fuera de la red.