¿Qué es un oráculo?

Lo que no concuerda del todo con este nombre un tanto "inconsciente" es que un oráculo blockchain es una fuente de información de terceros cuya única función es proporcionar datos a la cadena de bloques, lo que permite crear contratos inteligentes.

Básicamente, un contrato inteligente es sólo un código autoejecutable. El contrato inteligente evalúa los datos entrantes del oráculo e inicia la ejecución en función de la información recibida.

Tomemos un ejemplo. Digamos que John y John hacen una apuesta sobre el precio de Bitcoin este sábado. Zhang San cree que el precio de Bitcoin será de 8.500 dólares estadounidenses o más. Por el contrario, Xiao Hei cree que el precio de Bitcoin será de 8.000 dólares estadounidenses o menos. Entonces, diseñaron un contrato inteligente (al que ambas partes enviarían fondos), y quien predijo el precio más cercano al precio real ganó los fondos.

Para que el contrato inteligente determine el precio de Bitcoin y así pagar al ganador, debe consultar el precio de Bitcoin este sábado a través de un oráculo. Cuando se consultan los datos del precio de Bitcoin, por ejemplo, el valor devuelto es que el precio de Bitcoin el sábado es de $8,600, luego el contrato inteligente se ejecutará de acuerdo con sus condiciones y enviará todos los fondos a Zhang San.

02 Tipos de oráculos

Los oráculos brindan funcionalidad adicional a los contratos inteligentes al brindarles una forma de comunicarse fuera de una red blockchain descentralizada.

Los oráculos de blockchain pueden tomar muchas formas, incluidas, entre otras:

1. Oráculo del software

Esta forma de oráculo suele incluir fuentes de información en línea de fácil acceso, como sitios web y bases de datos públicas. Por lo general, proporcionan información como: lecturas de temperatura, información de transporte público y precios actuales de diversos activos financieros.

Los oráculos de software son probablemente el tipo más poderoso de oráculos disponibles debido a su interconectividad inherente con Internet. Esta conexión permite que los oráculos de software proporcionen información actualizada a los contratos inteligentes.

2. Oráculo de hardware

Esta forma de oráculo suele ser responsable de los eventos que ocurren en el mundo físico y envía datos a contratos inteligentes. Por ejemplo, en la gestión de la cadena de suministro, si un objeto con una etiqueta RFID llega a un almacén específico, esos datos se pueden enviar a un contrato inteligente y un sistema Oracle de hardware puede rastrear los productos a lo largo de toda la cadena de suministro.

3. Oráculo de entrada

Esta forma de predictor tiene la funcionalidad de simplemente proporcionar datos a un contrato inteligente. Los datos proporcionados son externos al contrato inteligente y la ejecución comienza después de recibir la información. El sitio web de noticias que proporciona los precios de Bitcoin en el ejemplo anterior puede clasificarse como un oráculo de entrada.

4. Oráculo de salida

Estos oráculos entregan datos de contratos inteligentes a fuentes externas. En el caso del ejemplo anterior, una vez que se determina que John es el ganador, el contrato inteligente puede comunicar esta información al proveedor de la billetera para que su saldo se actualice automáticamente para reflejar el aumento de fondos.

En este caso, el propio contrato inteligente puede funcionar como un oráculo de salida.

5. Oráculo basado en el consenso

La función de dicho oráculo es consultar múltiples fuentes de información y obtener resultados basados ​​en su consenso. Por ejemplo, el ejemplo anterior también podría utilizar 4 sitios web para buscar el precio de Bitcoin. Si todas las fuentes de Oracle (sitios web) devuelven el mismo valor, el contrato inteligente se puede ejecutar correctamente.

03 Oracle requiere confianza

Aunque las ventajas de los oráculos son muy obvias, existe una desventaja: los oráculos requieren confianza.

La fuente de datos utilizada por el oráculo para obtener información y transmitirla al contrato inteligente debe considerarse confiable. Continuando con el ejemplo anterior, si Zhang San pudiera de alguna manera controlar ese sitio web de precios de Bitcoin, fácilmente podría hacer que el precio devuelto de Bitcoin fuera de $8,600, ganando así el juego.

Entonces, si los datos proporcionados por el oráculo al contrato inteligente resultan ser incorrectos, existe un problema de seguridad. Una posible solución a este problema es solicitar datos de varias bases de datos de Oracle en lugar de una única base de datos de Oracle.

Por ejemplo, si un oráculo devuelve un precio de Bitcoin de 8.600 dólares y otros 4 oráculos devuelven un precio de 8.000 dólares, se pueden programar condiciones adicionales en el contrato inteligente para resolver el conflicto. El contrato inteligente puede optar por aceptar solo un valor mayoritario, en cuyo caso John Doe se convierte en el ganador.