Presentamos la propuesta de mejora de Witnet núm. 9: “Ajustar la dificultad minera” de Adán Sánchez de Pedro Blog de la Fundación Witnet Febrero de 2021

DESCARGO DE RESPONSABILIDAD: esta nota fue publicada por el editor de WIP en el blog de la Fundación Witnet con el propósito de informar a la comunidad Witnet en general sobre los cambios de protocolo propuestos. La publicación y distribución de esta nota no implica ningún tipo de respaldo o apoyo por parte del editor de WIPs personalmente, Witnet Foundation o cualquier otra parte relacionada.

Desde hace algunas semanas la tiempo de confirmación de algunas transacciones ha sido mayor de lo esperado – y la causa es bastante sorprendente.

Normalmente, cuando un nodo crea un bloque candidato, se espera que incluya tantas transacciones como pueda caber un bloque, a fin de obtener el mayor valor posible de las tarifas de transacción. Últimamente, sin embargo, estamos viendo muchos bloques que casi no contienen transacciones incluso cuando la acumulación de transacciones en el grupo de memoria es grande.

Una investigación exhaustiva concluyó que la mayoría, si no todos, estos bloques fueron producidos por identidades no reputadas y no activas (es decir, recién llegados a la red). Independientemente de si se trata de un comportamiento intencional o accidental, estos bloques aparecían en un número mucho más alto de lo que se esperaba de la probabilidad de minería de recién llegados según lo dispuesto por el protocolo.

El diseño del protocolo original preveía un promedio del 5% de los bloques para que los recién llegados pudieran minar. Sin embargo, en una fecha posterior, se adoptaron algunos cambios para mitigar la concentración de recompensas y asegurar una distribución más justa. Este cambio subestimó la velocidad de presenciar (cuántas solicitudes procesa la red cada día), lo que lleva a una aumento significativo en la probabilidad de minería recién llegada (~ 37%).

El equilibrio entre los bloques de los nodos comprometidos y los nodos recién llegados no es un asunto trivial: los recién llegados malintencionados pueden proponer bloques vacíos. con el objetivo de censurar o retrasar transacciones, como una especie de ataque de denegación de servicio.

Resumiendo, existe la necesidad de ajustar la probabilidad de minería de recién llegados para mitigar el impacto de posibles ataques DoS que pueden poner en peligro la disponibilidad y la seguridad de la red Witnet.

Los cambios de protocolo que proponen Mario Cao y Gorka Irazoqui son bastante sencillos: Como se diseñó originalmente, tanto la elegibilidad de la minería en bloque como la priorización de candidatos de bloque deben calcularse utilizando el mismo censo..

Es decir, el nuevo algoritmo seguiría estas reglas:

Los candidatos de bloque de identidades que tienen reputación tienen prioridad sobre aquellos de identidades que no tienen reputación. Los candidatos de bloque de identidades activas se priorizan sobre los de identidades no activas. Si todavía hay varios candidatos, se elige el que tenga el valor de VRF más bajo.

Con estos cambios, la probabilidad de minería del recién llegado está limitada como se diseñó inicialmente en RandPoe, mientras que la distribución justa entre aquellas identidades que han demostrado alguna contribución al servicio y la seguridad de la red aún se aplica.

Dada la falta de compatibilidad con versiones anteriores de los cambios propuestos, deberán adoptarse mediante un horquilla dura coordinada. Es decir, la actualización de la red será exitosa solo si una supermayoría (2/3) de los nodos adopta las nuevas reglas de validación al mismo tiempo.

La fecha propuesta para una eventual actualización coordinada es 13 de marzo de 2021 a las 9 a.m. UTC– que es el día 150 de la red principal de Witnet.

Según el proceso de propuesta de mejora de Witnet, esta propuesta se encuentra actualmente en la etapa propuesta. En este punto, se espera que la comunidad discuta la propuesta y plantee cualquier objeción. Una vez que los autores de las propuestas hayan abordado todas las objeciones, la propuesta se puede promover a Final.

Una vez finalizado, se espera que todos los operadores de nodos actualicen sus nodos antes de la fecha de activación para que la mayoría de la red comience a aplicar las nuevas reglas de validación inmediatamente después.