Determinación de ataques de soborno en redes descentralizadas de Oracle

Soborno por https://tumonispost.com/2019/05/14/best-time-to-bribe/

La teoría detrás de los sistemas SchellingCoin (1) es que si se espera que todos voten honestamente, el incentivo es seguir el ejemplo para ser parte de la mayoría. Los ataques de soborno tienen como objetivo romper este equilibrio de Nash al influir en la dirección en que votan los votantes. Sin embargo, el éxito del soborno depende de las motivaciones específicas de cada participante:

Votantes egoístas: aquellos que apuntan a lograr el mayor beneficio del juego.Votantes altruistas: aquellos votantes que votan honestamente, independientemente de los potes más altos potenciales. Un soborno especifica en un contrato inteligente una recompensa adicional que se paga bajo ciertas condiciones

Los ataques de soborno en las redes descentralizadas de Oracle (DON), si se consideran prácticos, pueden tener consecuencias en los contratos inteligentes del cliente. A diferencia de un ataque en Bitcoin / Ethereum, en el que la pérdida de confianza en la red reduce el atractivo de lanzar un ataque, un posible ataque en un DON podría generar ganancias fuera de la cadena (por ejemplo, en una cadena / protocolo diferente). En los siguientes párrafos discutimos los ataques de soborno y cómo se pueden abordar a través de diferentes contramedidas.

Utilizamos un marco SchellingCoin para simplificar el análisis, aunque la mayoría de los DON presentan esquemas más complicados que disminuyen la practicidad del ataque. Por ejemplo, los votantes en un DON pueden proporcionar una gama muy amplia de respuestas sobre las cuales se ejecutan funciones de agregación y consenso definidas por el solicitante. En cambio, en Un ejemplo típico de SchellingCoin que los votantes deben decidir entre dos opciones, por ejemplo, 0 y 1 y solo obtienen una recompensa si votan con la mayoría. La siguiente matriz representa las opciones y recompensas para un determinado votante.

Matriz de pagos en un marco SchellingCoin

Para una explicación más detallada sobre este tipo de marco, sugerimos al lector que eche un vistazo a:

Procedemos a explicar cómo estas opciones pueden ser alteradas por un soborno que promete una recompensa por votar de acuerdo con su interés. Utilizaremos la siguiente nomenclatura:

N: número de votantes. E: recompensa adicional ofrecida por el soborno. Α: porcentaje de participantes que votaron por la opción mayoritaria. S: garantía que debe depositarse. V: participación agregada de las partes involucradas en un contrato inteligente. h: porcentaje de participantes altruistas en la red.

Los ataques P + épsilon (2) (3) (4) son aquellos en los que un atacante promete un soborno ligeramente más alto que la recompensa obtenida por los participantes honestos (aquellos que no manipularon sus votos). Los sobornos podrían especificarse en un contrato inteligente en el que se prometen recompensas adicionales para aquellos que demuestren haber votado por la opción elegida por soborno. Sin embargo, en los ataques P + epsilon, el soborno solo se paga cuando la opción elegida por soborno no gana. Esto es importante: si de alguna manera los votantes logran un consenso sobre la opción especificada por el atacante, el ataque del soborno ha tenido éxito a un costo cero. Eso convierte la matriz SchellingCoin en la siguiente, siendo 1 el hecho real:

Matriz de pago con ataque P + epsilon

En aras de la simplicidad, asumiremos por ahora que todos los votantes son egoístas. En el peor de los casos, todos tienen interés en votar por 0, ya que ganarán independientemente del resultado. Sin embargo, tenga en cuenta que hay un juego de contra-coordinación que los votantes pueden jugar aquí. Dado que el soborno solo paga cuando el ataque falla, los participantes pueden votar 1 con un 51% de probabilidad y 0 con un 49% de probabilidad de maximizar el beneficio obtenido. De esta forma, el 51% de los participantes obtienen la recompensa y el 49% de los atacantes sobornan, mientras se mantiene el consenso.

Este juego de contracoordinación podría parecer una defensa, pero en realidad no lo es. Imagine la situación en la que el atacante elige sobornar con la opción honesta. El comportamiento egoísta antes mencionado aún se aplica y los votantes alcanzarán un consenso del 51% sobre la opción deshonesta, lo que hará que el juego de contracoordinación sea completamente maleable a un costo de 0.49 * N * (P + ε).

En este punto, parece que la única defensa posible es hacer que el ataque sea más costoso para el soborno.. Podemos aumentar el soborno que el atacante debe prometer simplemente definiendo la recompensa en grupo y no individualmente. Esto significa que la recompensa P se distribuirá entre los votantes que votaron con el consenso. De hecho, cuantos menos votantes logren el consenso (α), más recompensa obtendrán individualmente. Esto deja la tabla de la siguiente manera:

Matriz de pago en un ataque P + epsilon con recompensa agregada

Esto proporciona incentivos al juego probabilístico en el que los votantes votan 1 con probabilidad α mientras votan 0 con probabilidad (1-α), siendo α> 50%. Tenga en cuenta que si todos votan 0, la recompensa para cada uno de los votantes será P / N. Por lo tanto, se espera que el atacante al menos pague una cantidad mayor que P / αN. Hay dos opciones:

Si esa cantidad es sustancialmente mayor, podría lograr el efecto en el que los participantes egoístas voten por el hecho sobornado. Sin embargo, para lograr un ataque de costo cero, el soborno debería estar dispuesto a arriesgar una apuesta significativa. Cuanto más se acerca el soborno a P / αN, más favorece el soborno al juego de contracoordinación, en cuyo caso el soborno necesitaría sobornar el hecho real.

Al hacer la recompensa groupal, duplicamos el soborno más bajo aceptable de P / N a P / (0.51N). Para aumentarlo aún más, los votantes podrían tener que depositar un depósito sustancialmente mayor que la recompensa, una estrategia concebida por Paul Storcz. Esta estaca (S) podría ser especificada por los creadores de votación. Bajo este esquema, si un nodo no vota con el consenso, pierde su participación que se distribuye entre los nodos que votaron por la opción ganadora..

Matriz de pago en un ataque P + epsilon con apuesta adicional

En este caso particular el soborno debe ofrecer un precio mayor que la apuesta que cada votante necesita depositar más la recompensa máxima posiblemente obtenida. Estamos haciendo que el atacante prometa pagar un mínimo de ε de S para cubrir las pérdidas de participación. El esquema anterior lleva a las siguientes opciones:

Si todos los participantes votan por la misma opción, α = 1 y la recompensa que obtienen es P / N; si el soborno del atacante cubre el pérdida de apuesta más la recompensa máxima Se espera que el 51% de los participantes vote por la opción no sobornada y el 49% vote por la otra. En este caso, el soborno necesita sobornar el hecho real que promete soborno = (P / αN + S (1-α) / α + ε). Tenga en cuenta que epsilon ahora es ε> S en lugar de 0. El pago total del soborno sería Eq.1, que para α ≈ 0.5 y S ≫ P sería de un total de alrededor de S * N.Eq.1 Pago total del soborno

Ataques de soborno

La idea del ataque de soborno es muy similar al ataque de P + epsilon. Sin embargo, esta vez, si los nodos votan por la opción elegida por el soborno, obtienen la recompensa por soborno, sin importar por qué votó la mayoría. Similar al análisis realizado para los ataques de P + épsilon, una forma de hacer que el soborno sea más costoso es obligar a los participantes a pagar un depósito S. Nuevamente, el soborno debe ofrecer un mínimo ε de S.

Pago m atrix con ataque de soborno, asumiendo recompensa y participación agregadas

En este caso, todos los participantes egoístas votarán indudablemente (α = 1) por la opción sobornada, y el atacante tendrá éxito al influir en el resultado al costo mínimo de P + N * S. Nuevamente, si S ≫ P, sería de un total de alrededor de S * N.

Sobre la influencia de las apuestas externas

Hasta ahora hemos definido la cantidad más baja que el soborno necesita dedicar para realizar un ataque exitoso. Sin embargo, una vez que el resultado de la votación se utiliza como un oráculo para resolver un contrato inteligente, podemos suponer que el atacante no querrá arriesgar una cantidad superior a su propia participación en el contrato (V). Desde el punto de vista del creador del contrato inteligente (proponente de votación) que requiere una participación de S = V / N sería suficiente para asegurar la votación. Esto significa que dicho esquema solo puede asegurar completamente las votaciones hasta el valor total de la red en el momento t.

Pensamientos finales

Hemos analizado las amenazas potenciales que P + epsilon y los ataques de soborno pueden tener en los esquemas de votación. Sin embargo, estos ataques pueden volverse poco prácticos cuando se montan contra un DON como Witnet por los siguientes hechos:

Estos ataques se han descrito principalmente en el caso del voto humano., pero los DON como Witnet tienen nodos de software puro que realizan las tareas. Creemos no debería ser fácil convencer una persona que confía y usa una versión alterada del software, lo que puede conducir a una pérdida completa de fondos. Específicamente en Witnet, los nodos se eligen al azar y, por lo tanto, incluso si un atacante puede sobornar a más de la mitad de la red, no hay garantía de que el comité se vea comprometido. Adicionalmente Witnet sesga las probabilidades en función del comportamiento pasado, por lo que se espera que la mayoría del comité esté compuesto por pares honestos (aquellos que tienen el mayor interés en la salubridad de la red).

Incluso con esos impedimentos en mente, decidimos implementar la contramedida de replanteo explicada en Witnet, dejando que el creador del contrato inteligente decide la cantidad que los nodos necesitan depositar. Para cada solicitud de datos de Witnet, esperamos que la participación requerida sea proporcional al valor del contrato inteligente de consumo dividido por el número de participantes. Además, tenga en cuenta que Witnet ha sido diseñado con el objetivo de favorecer a los mineros no profesionales, y como tal, esperamos un nivel de altruismo no despreciable. En este sentido, Los valores centrales de Witnet, especialmente la descentralización y las bajas barreras de entrada, son factores clave para evitar ataques de soborno.. Puede consultar los objetivos principales de nuestro diseño aquí:

(1) SchellingCoin: una fuente de datos universal de mínima confianza

(2) El ataque P + epsilon

(3) documento técnico de Kleros

(4) p + epsilon y comentarios de contracoordinación

Háganos saber si tiene alguna pregunta o comentario a continuación. Puedes seguir a Witnet en Twitter y mantenerte actualizado en nuestro blog.

Un agradecimiento especial a Adán, Mario y Claudia, ya que esta publicación es un esfuerzo común entre nosotros 4.