Los oráculos de blockchain resuelven el problema de entregar información del mundo exterior a la cadena de bloques. Pero es importante para nosotros saber en cuál podemos confiar. En el
artículo sobre el lanzamiento del catálogo
Waves Oracles , escribimos sobre la importancia de los oráculos para la cadena de bloques.
Las aplicaciones descentralizadas no tienen acceso a datos fuera de la cadena de bloques. Por lo tanto, se crean pequeños programas, oráculos, que obtienen acceso a los datos necesarios del mundo exterior y los escriben en la cadena de bloques.
Por tipo de fuente de datos, los oráculos se pueden dividir en tres categorías: software, hardware y humanos.
Los oráculos de software reciben y procesan datos de Internet, como la temperatura del aire, los precios de los productos básicos, los retrasos en trenes y aviones. La información proviene de fuentes en línea, como una API, y el oráculo la extrae y la coloca en la cadena de bloques. Lea
aquí cómo hacer un simple oráculo de software.
Los oráculos de hardware rastrean objetos del mundo real con dispositivos y sensores. Por ejemplo, una videocámara calibrada en la intersección de una línea captura los automóviles que ingresan a un área específica. El oráculo corrige el hecho del cruce de línea en la cadena de bloques y, en base a estos datos, el script de aplicación descentralizado puede, por ejemplo, iniciar una multa y cancelar tokens de la cuenta del propietario del automóvil.
Los oráculos humanos usan datos ingresados por humanos. Se consideran los más progresivos debido a una visión independiente del resultado del evento.
Recientemente, hemos proporcionado una herramienta que le permite escribir datos de Oracle en una cadena de bloques de acuerdo con una especificación dada. Funciona extremadamente simple: solo necesita registrar la
tarjeta oracle completando la especificación. Después de eso, puede publicar transacciones de datos de acuerdo con esta especificación a través de la interfaz Waves Oracles. Lea más sobre la herramienta en
nuestra documentación .

Dichas herramientas e interfaces estandarizadas simplifican la vida de los desarrolladores y usuarios de servicios en la cadena de bloques. Nuestra herramienta es útil específicamente para oráculos humanos y se puede usar, por ejemplo, para registrar certificados o derechos de autor de cualquier objeto.
Pero cuando se usan oráculos, surge la cuestión de la confianza en la información recibida de ellos. ¿Es confiable la fuente? ¿Se recibirán los datos a tiempo? Además, existe el riesgo de que el oráculo engañe a los usuarios al proporcionar intencionalmente información incorrecta para obtener su propio beneficio.
Como ejemplo, considere un oráculo que proporciona información sobre eventos deportivos para un intercambio de apuestas descentralizado.
El evento es la batalla principal del torneo UFC 242, Khabib Nurmagomedov contra Dustin Porrier. Según las casas de apuestas, Nurmagomedov es un claro favorito del partido. Fue posible apostar por su victoria con un coeficiente de 1.24, que corresponde a una probabilidad del 76%. Las probabilidades para la victoria de Porrier fueron 4.26 (22%), y la probabilidad de un resultado del sorteo fue estimada por los corredores de apuestas en un coeficiente de 51.0 (2%).

El script acepta las apuestas de los usuarios sobre los tres resultados posibles hasta que recibe información del oráculo sobre el resultado real de la batalla. Este es el único criterio para la distribución de ganancias.
Ahora se sabe que Nurmagomedov ganó. Sin embargo, imagine que el propietario sin escrúpulos del oráculo, que planificó el fraude por adelantado, hizo una apuesta sobre el resultado con las probabilidades más favorables: un empate. Cuando el banco de apuestas ha alcanzado un gran volumen, el propietario del oráculo inicia la grabación en la cadena de bloques de información falsa sobre el presunto resultado del sorteo de la batalla. La secuencia de comandos del intercambio descentralizado no tiene la capacidad de verificar la precisión de los datos recibidos y solo distribuye las ganancias de acuerdo con estos datos.
Si el beneficio potencial del engaño de este tipo es mayor que el ingreso previsto de un oráculo honesto, mientras que el riesgo de ir a la corte es bajo, la probabilidad de acciones deshonestas por parte del propietario del oráculo aumenta significativamente.
Una de las posibles soluciones al problema es solicitar datos de varios oráculos y llevar los valores obtenidos a un consenso. Se pueden distinguir varios tipos de consenso:
- todos los oráculos proporcionaron información uniforme
- La mayoría de los oráculos proporcionan información unificada (2 de 3, 3 de 4, etc.)
- reducción de los datos de oráculos al valor promedio (son posibles opciones en las que los valores máximo y mínimo se descartan previamente)
- Todos los oráculos proporcionaron información unificada con una desviación permitida predeterminada (por ejemplo, los valores de las cotizaciones financieras de diferentes fuentes pueden diferir en 0.00001, y obtener una coincidencia exacta es una tarea imposible)
- seleccione solo valores únicos de los datos recibidos
De vuelta a nuestro intercambio de apuestas descentralizado. Utilizando el consenso "3 de 4", un oráculo que informó un sorteo no pudo influir en la ejecución del guión, siempre que los otros tres oráculos proporcionarían información confiable.
Pero un usuario sin escrúpulos puede ser dueño de tres de los cuatro oráculos, y luego puede proporcionar una mayoría decisiva.
Luchando por la honestidad de los oráculos, puede ingresar una calificación para ellos o un sistema de multas por inexactitud de datos. Puede seguir el camino de la "zanahoria" y ofrecer una recompensa por su fiabilidad. Pero ninguna medida evitará por completo, por ejemplo, un aumento de la calificación o una mayoría injusta.
Entonces, ¿vale la pena inventar servicios complejos, o es suficiente tener una herramienta de consenso que permita, como en un estante de un supermercado, elegir, por ejemplo, cinco oráculos que proporcionen los datos necesarios, establecer el tipo de consenso y obtener el resultado?
Por ejemplo, una aplicación descentralizada necesita datos de temperatura en grados Celsius. En el catálogo de Oracle, encontramos cuatro oráculos que proporcionan dichos datos, establecen el tipo de consenso en "valor promedio" y hacen una solicitud.
Supongamos que los oráculos dan valores: 18, 17, 19 y 21 grados. La diferencia de tres grados puede ser bastante crítica para el guión. El servicio procesa el resultado y recibe un valor de temperatura promedio de 18.75 grados. El script de la aplicación descentralizada recibirá este número y funcionará con él.

En última instancia, la decisión recae en el consumidor: si confiar en un oráculo y usar sus datos, o construir un consenso de varios oráculos elegidos a su discreción.
En cualquier caso, los oráculos de datos son un área bastante nueva. Es en una etapa en la que los propios usuarios pueden determinar en qué dirección debe desarrollarse. Por lo tanto, queremos escuchar tu opinión. ¿La herramienta anterior necesita oráculos? ¿Cómo ve el futuro de los oráculos de datos en principio? Comparta su opinión en los comentarios y en nuestro grupo oficial de
Telegram .