dAPP
Publicado el
9 julio, 2021

Oráculos Descentralizados MOC

Money on Chain es un sistema que provee una criptomoneda estable colateralizada con bitcoin en la red blockchain de RSK, es por esto que necesita una forma de determinar el valor del token DoC en rBTC.

Consecuentemente, necesita el dato sobre el precio para el par BTC/USD, entre otros pares, dentro de la blockchain. Dado que no se puede acceder directamente a estos datos desde la cadena de bloques, agentes externos, llamados Oráculos, deben proporcionar los precios necesarios.

Un oráculo es una fuente confiable de datos que actúa como un puente entre una cadena de bloques y la información, off-chain, del mundo real, para que pueda ser utilizada por contratos inteligentes.

Los servicios de Oráculos consultan datos de pares de precios de varios exchanges cripto y los envían a un contrato inteligente en la cadena de bloques que está disponible para que otros contratos inteligentes los usen (llamen).

Te puede interesar: 4 preguntas peculiares sobre Bitcoin

El Sistema de Oráculos de Money on Chain es un aspecto clave en el camino hacia la descentralización, pues crea la posibilidad de que las partes interesadas ejecuten un oráculo y participen en un protocolo de consenso para la publicación de precios.

La arquitectura del Sistema de Oráculos de Money on Chain contempla los siguientes aspectos:

  1. Descentralizado: los oráculos deben competir entre sí y verificar las publicaciones de precios de los demás para obligarlos a proporcionar datos precisos. Esto establece una red de oráculos que proporcionan fuentes de precios de alta calidad que tiene suficiente redundancia y proporciona un mecanismo de reserva para garantizar que las fuentes de precios estén siempre disponibles. También protege el sistema contra el comportamiento malicioso de un grupo minoritario.
  2. Consenso off-chain: El consenso entre los Oráculos se logra off-chain. Esto reduce en gran medida los costos y permite una alta frecuencia de publicación de feeds de precios.
  3. Incentivos económicos: la ejecución y publicación de feeds de precios aporta beneficios al propietario del Oráculo, ya que tiene que dejar en stake una cantidad mínima de tokens MoC para poder ser seleccionado. Los oráculos ganan tokens MoC por su participación y por ser un oráculo.

Oráculos

Los oráculos informan los pares de precios elegidos, p. Ej. rBTC / USD, tomado de varios exchanges cripto. La misma infraestructura se puede ampliar fácilmente a más de un par de precios.

Cualquiera puede convertirse en un Oráculo, para hacerlo, un interesado debe tener una cantidad mínima de 250.000 tokens MoC en stake, pudiendo competir con otros oráculos para ser seleccionado como publicador de precios. Pero solo se selecciona un número N (actualmente 10) de oráculos para formar parte del consenso, dependiendo de la cantidad de su stake. Esta característica es muy importante para la comunidad ya que ayuda al sistema a tener oráculos honestos, pues en el caso de que uno de ellos ataque el sistema también estará destruyendo el valor de su propia participación.

Los oráculos obtienen ingresos del programa MoC Staking Rewards por sus tokens MoC stakeados, y además de esto, también obtienen recompensas por los precios publicados. Esto compensa los gastos de funcionamiento del Oráculo y paga un rendimiento adicional.

Rondas

El sistema de Oráculos funciona en periodos de 30 días, también llamados rondas, en las que se determina la contabilidad de las recompensas del Oráculo.

Cuando comienza una nueva ronda, el protocolo distribuye las recompensas acumuladas en la ronda anterior y establece el contador de recompensas globales en cero, a partir de ese momento las recompensas producidas se utilizarán para la siguiente ronda. Cada ronda da cuenta de la cantidad stakeada y las publicaciones de precios para el mes actual, es decir, en cada ronda, se guardan los siguientes datos: la lista de N (10) Oráculos que tienen más stake son seleccionados para participar, pueden publicar precios y ganar recompensas por eso. Cuando se cierra la ronda, las recompensas se transfieren directamente a la cuenta de cada Oráculo en proporción al número de publicaciones realizadas durante la ronda.

Registro

Los oráculos deben registrarse como tales publicando su dirección pública y la URL del servidor en la red RSK. Los oráculos también deben suscribirse para cada par de monedas que les interese, para ser considerados en el proceso de selección para la próxima ronda de publicación de estos precios.

Los oráculos que quieran retirar su stake primero deben estar inactivos durante una ronda cancelando la suscripción a todos los pares. Si hay un retiro sin la cancelación ordenada de la suscripción, el Oráculo es castigado perdiendo los puntos ganados en la ronda actual, por lo que al final de la ronda no recibirá recompensas. Una vez cancelada la suscripción con éxito, las mismas reglas de retiro que para los stakers se aplican al Oráculo. 

Consenso para la publicación de Precio 

Los oráculos deben encontrar consenso sobre los precios correctos, p. Ej. el par de precios rBTC / USD. Esto se logra mediante un consenso off-chain en el que participan los N (actualmente 10) Oráculos que bloquearon la mayor cantidad de stake. La participación del Oráculo cuenta para todos los pares de precios, pero los Oráculos deben suscribirse a cada par de precios para poder participar. Luego, durante la ronda, la elección del proponente y el consenso funcionan de la siguiente manera:

  1. Elección: las propuestas de pares de precios son publicadas por un oráculo a la vez, cada vez que se selecciona un oráculo entre los N oráculos con el mayor stake para ser publicador. La elección del oráculo se realiza utilizando como “semilla aleatoria” el hash del bloque, del bloque que contiene el último precio publicado. La probabilidad de ser seleccionado como publicador se pondera por la cantidad de stake que el Oráculo ha bloqueado. Una vez que se realiza una publicación, hay una nueva publicación en un bloque diferente, la semilla cambia y se selecciona un nuevo publicador.
  2. Consenso: El par de precios no solo tiene que ser publicado por el oráculo elegido, sino que los datos publicados deben estar co-firmados por N / 2 (actualmente 5) otros Oráculos participantes de esta ronda. Este "consenso" ocurre off-chain al enviar los datos de precios a otros Oráculos para su firma y luego publicarlos en el contrato inteligente en la cadena de bloques. El contrato verifica que tiene el quórum necesario de los Oráculos restantes y está firmado por el Oráculo a quien le toca publicar.

Para cada publicación, solo un Oráculo puede tener éxito (la cadena de bloques sólo acepta una transacción). Después de una publicación exitosa, el hash del bloque de la última publicación cambia y se inicia un nuevo consenso.

El Sistema de Oráculos tiene más propiedades importantes reflejadas:

  • Frecuencia: los Oráculos seleccionados pueden enviar el precio en cualquier momento. La implementación de referencia lo hace sólo cuando el cambio de precio es mayor que una cierta variación (delta) que se puede configurar en el servidor del Oráculo.
  • Mecanismo de respaldo: si un oráculo, por cualquier motivo (problemas técnicos, cortes de energía, etc.), está fuera de línea y no aparece, existe un mecanismo de respaldo para reemplazarlo. Los Oráculos de reserva se eligen de la misma manera que el Oráculo de publicación. El proceso de elección ordena la lista de oráculos seleccionados: [seleccionados, fallback1, fallback2, etc.]. Los Oráculos de reserva están autorizados a enviar un número de bloques M después de que el cambio de precio sea mayor que delta. El sistema se puede configurar con el número de bloques después del cambio de precio y el número de Oráculos autorizados para publicar sus pares de precios. Por ejemplo, M bloques después del cambio de precio, dos Oráculos de respaldo están autorizados a publicar, M + 2 bloques después del cambio de precio, 4 Oráculos están autorizados, etc. De esta manera el sistema puede reaccionar ante fallas más rápidamente.

Incentivos

De la misma manera que con los stakers, un porcentaje de los MoC tokens recolectados del protocolo Money on Chain a través de tarifas y de la venta de datos proporcionados por los Oráculos a terceros se distribuye entre los Oráculos. El flujo de ingresos se acumula durante un mes, es decir, una ronda, y se distribuye a cada módulo de pares de precios. Los oráculos también reciben del programa MoC Staking Rewards por ser un staker.

Distribución de recompensas: cada publicación de un par de precios rinde un punto para el Oráculo que publica. La frecuencia con la que se permite publicar es proporcional a la participación del Oráculo, es decir, cuanto mayor es el stake, más a menudo se elige a un Oráculo para publicar. Al final de la ronda, los oráculos reciben un pago proporcional a sus puntos acumulados. Las ganancias se transfieren directamente a la cuenta del propietario del Oráculo una vez que comienza una nueva ronda. Por par de precios, la recompensa del Oráculo se calcula utilizando la siguiente fórmula:

Rewards (Points Won Total Points).

Si un Oráculo retira parte de su stake en la mitad de la ronda y la nueva cantidad es menor que el mínimo necesario o si hay un Oráculo con más participación fuera de la ronda esperando participar, entonces el Oráculo pierde su lugar, perdiendo en el mismo tiempo los puntos acumulados y las recompensas correspondientes. Por otro lado, si un Oráculo que no está seleccionado en la ronda actual agrega stake, superando a un Oráculo que ya está seleccionado, el Oráculo debe esperar a la siguiente ronda para participar de todos modos.

Los oráculos son fundamentales para el protocolo Money on Chain, no solo brindan información precisa sobre precios, sino que lo hacen de manera descentralizada, lo que permite que la plataforma esté libre de riesgos de contraparte.

¿Quieres correr un oráculo? https://docs.moneyonchain.com/omoc/

crossmenu