Nada en juego: compromisos con la conciencia

Muy brevemente sobre ti.


Érase una vez en Habré, escribieron sobre mí en este artículo, sin embargo, una parte de la audiencia interesada en las tecnologías blockchain está casi seguramente familiarizada con mi trabajo a través del proyecto Monero, en el que la base de código original (CryptoNote) se desarrolló principalmente por mis esfuerzos (esto se confirma en particular mi apellido en la fuente). Para mí, los últimos 7 años se han asociado exclusivamente con el desarrollo en esta área, y hay ideas que me gustaría compartir.

¿Quieres saber por qué los proyectos de PoW se extinguirán?


Probablemente habrá un suspiro escéptico ahora, y alguien pondrá los ojos en blanco. No hay nada que hacer, en todas partes escriben que el encabezado “con un desafío” te hará leer al menos el comienzo del artículo (curiosamente, ¿funcionó?).

En una conversación reciente con el editor de uno de los principales medios criptográficos rusos, descubrí que muchos critican el PoW ya en el nivel subconsciente y que muchos lo perciben como una herejía. Y cuando se trata de dificultades prácticas, por ejemplo, para un pequeño proyecto de blockchain para principiantes con PoW puro, las posibilidades de resistir un ataque del 51% son bastante débiles, ¡escuché que PoW es (atención) solo para proyectos grandes!
Las discusiones interminables (y, como saben, Internet es un lugar para comentarios racionales y reflexivos) sobre el tema “PoW vs PoS” conducen al hecho de que la polarización de la comunidad de criptomonedas es de naturaleza casi religiosa.
En este artículo, explicaré por qué Nothing at Stake se considera el talón de Aquiles de PoS, y luego mostraré por qué esto no es así.

El advenimiento de PoS


La historia de PoS se origina en 2011, cuando las ideas consensuadas basadas en el voto de los "titulares" (no mineros) comenzaron a expresarse en el viejo bitcointalk, y alimentaron el interés en ellos en ese momento, la inútil quema de electricidad al extraer PoW.
La primera implementación fue PeerCoin [9], que, como resultó más tarde, también tenía una serie de desventajas típicas para PoS. Pero se aprobó el rubicón y comenzó una comprensión gradual del nuevo paradigma.
Hoy en día hay una gran cantidad de proyectos que de una forma u otra utilizan una de las variedades de modelos PoS (DPoS, LPOS, POI, PoA, etc.). A pesar del hecho de que todos estos algoritmos tienen sus propios nombres, desde el punto de vista del autor, estas son principalmente variaciones en el tema de PoS. Al final del artículo, veremos brevemente algunos ejemplos que son interesantes precisamente en el contexto del problema planteado.

No hay ningún problema en juego en los sistemas PoS


Casi todos los modelos de PoS son criticados por ser vulnerables al llamado problema de "Nada en juego". La idea de este ataque está relacionada con el fenómeno conocido como la "Tragedia de los bienes comunes" [1]. En términos generales, las "Tragedias de los recursos compartidos" se describen como una serie de fenómenos en los que los intereses de los individuos pueden contradecir el bien común, y como el ejemplo más simple lo da un pasto común, cuyo uso irracional por la mayoría conduce al agotamiento de este recurso en su conjunto. Del mismo modo, se puede considerar un proyecto arbitrario de blockchain en el que la posibilidad de extraer y recibir recompensas se implica como un beneficio para el público en general.
A diferencia de PoW, donde la minería es un proceso computacionalmente costoso y puede llevarse a cabo simultáneamente en relación con cualquier cadena, en la minería PoS no se hacen costos / esfuerzos adicionales (significativos) para votar en una cadena alternativa, en otras palabras, la mía también es la segunda cadena , El minero PoS no pierde nada (nada en juego). Obviamente, el software del proyecto por defecto no facilitará un ataque del 51% al extraer las cadenas disponibles, pero la teoría del juego (y esto no se trata de Dota, sino de lo que John Nash escribió) sugiere que si los intereses individuales dictará una estrategia diferente, el minero teórico de PoS modifica el código en consecuencia, siguiendo esta estrategia.
Por ejemplo, considere un proyecto de blockchain condicional con POS y con 18 millones de monedas ya emitidas, donde todas las monedas se distribuyen entre 1800,000 titulares en partes iguales (10 monedas por cada titular). Algunos de los titulares (tal vez todos) participan en la minería PoS, por lo que cada vez que se crea un bloque, uno de los 1800,000 propietarios lo hace.
Supongamos que alguien decide iniciar un ataque del 51% y decide sobornar a los mineros para que participen en la extracción de una cadena maliciosa (por ejemplo, una cadena que realiza el doble gasto en interés del atacante), motivándolos a que el que encuentre el bloque reciba aumento de la remuneración (soborno).
Aclaración *: es importante enfatizar aquí que para un atacante, la estrategia de soborno económicamente más ventajosa será un soborno en la forma de asignar una recompensa adicional por un bloque en su cadena alternativa, por lo que no necesita sobornar a cada minero individualmente, y el costo del ataque se reduce a la cantidad de recompensas por bloques en sus cadenas alternativas (6 bloques, por ejemplo).
Se cree que el ataque será exitoso si el minero logró motivar al 51% de los mineros de PoS a participar en el ataque, y dado que los mineros no extraen computacionalmente ninguna cantidad de cadenas, se considera que es fácil (barato) motivar a participar en el ataque.

Caso de estudio


Es imposible considerar la teoría de los juegos como algo que no está en juego, sin tener en cuenta que el minero de PoS es un titular y, desde el punto de vista de los intereses personales, también está interesado en mantener / aumentar el precio de una moneda. El costo de una moneda consta de una gran cantidad de factores, pero la condición directa para la existencia de liquidez es la capacidad real de la red para realizar su función inmediata: hacer pagos de forma segura (aquí estamos hablando de proyectos reales de blockchain, no tokens), y si la red se ve comprometida por un doble gasto a través de un ataque 51 %, las consecuencias pueden ser más fatales, comenzando con colapsos graves en el tipo de cambio y terminando con la exclusión de los intercambios, que sufren principalmente tales ataques.
Por lo tanto, en el caso de que la red cambie a una cadena maliciosa, el minero PoS sobornado solo arriesga el valor equivalente de sus monedas. Similar a la "Tragedia de los recursos compartidos", el minero PoS promedio está motivado por el beneficio personal más que por la preocupación por la seguridad de la red. Si su propio beneficio (en el caso de que gane un bloque en una cadena alternativa maliciosa) es mayor que su pérdida potencial (es decir, más de 10 monedas), entonces el minero aún tendrá motivación para unirse al ataque.

Ahora veamos las circunstancias prácticas y, lo más importante, compárelas con los sistemas PoW clásicos. Permítame recordarle que el ejemplo anterior describe una moneda poco realista con una distribución completamente uniforme, que no se encuentra en la vida real.
Varias veces escuché una opinión interesante de que cualquier criptomoneda, al ser un sistema financiero típico, tiene el mismo modelo que la distribución global de riqueza [2] (Fig. A continuación), y supuestamente el comportamiento de los mercados de criptomonedas lo confirma.

imagen


Para evaluar aproximadamente la naturaleza de la distribución de monedas, por ejemplo, tome el proyecto más grande con el ecosistema más desarrollado y el mayor número de tenedores: Bitcoin. Afortunadamente, el modelo de privacidad le permite hacer esto sin mucha dificultad. La siguiente tabla está tomada de [3] y refleja la distribución actual de monedas en las direcciones presentes en la cadena de bloques.

imagen


*: Bitcoin , Bitcoin , - [4], , . , , , , « ».
**: , , PoS, , , .

Para mantener la imparcialidad, no operaremos con la palabra Bitcoin en el análisis del 51% de los ataques, que se detallarán a continuación. Esto sería incorrecto por varias razones objetivas: Bitcoin es un proyecto único y existe en una realidad tecnológica ligeramente diferente (es casi imposible encontrar un hashrate adicional para un jugador tan grande, es difícil sobornar a los mineros ASIC debido a la especificidad de su equipo, etc.). Analizaremos más el aspecto tecnológico impersonal.
Ahora volvamos a la tabla 1 y supongamos que tenemos dos proyectos separados pero idénticos con exactamente la misma distribución amplia de monedas: el proyecto PoS y el proyecto PoW, que intentaremos atacar.

PoS


Como descubrimos anteriormente, para motivar a los mineros de PoS con un soborno, debe ser al menos equivalente al valor de las monedas que tiene el minero. Si establecemos el tamaño del soborno, por ejemplo, en 0.01 monedas, cubrimos solo a los propietarios de billeteras para la primera y segunda línea (0.15% de todas las monedas), por lo demás, la motivación será insuficiente. Si aumenta a 1 moneda, ya cubrimos 4 líneas, y esto es 4.57%, todavía es irremediablemente pequeño. Para obtener el 51%, tenemos que llegar a la línea con saldos de 100-1000 monedas. Un soborno de 100 monedas cubrirá solo el 38.44% de las monedas, y de 1000 monedas cubrirá hasta el 58.29%, por lo que creemos a simple vista: un soborno de 750 monedas puede convencer al 51% de los mineros de participar en el ataque.

PoW


Digamos que la recompensa por el bloque en este momento es de 12.5 monedas y, en términos generales, la extracción de 6 bloques (el número de confirmaciones por defecto) no debería costar más de 75 monedas (el valor equivalente de estas monedas, en términos del valor del hashrate). Esto es muy importante; de ​​hecho, el costo de un ataque del 51% es de 75 monedas (76 si es importante para alguien). Esto no era un problema antes, en aquellos días en que los propios mineros instalaban sus plataformas para minar un proyecto específico, porque les gustaba o porque su equipo funcionaba más eficazmente con este hash. No había dónde tomar capacidades libres capaces de adelantar a la cadena principal. Y ahora el equipo está disponible gratuitamente para alquilar en áreas abiertas (servicios como www.nicehash.com, algo así como uber en el mundo minero), y esto hace que un ataque del 51% en un proyecto PoW sea al menos 10, 10 veces más barato que un ataque en un proyecto similar con PoS. ¡Puedes volverte loco!

Pero aún no hemos terminado, hay algunos puntos más:
1. En proyectos reales de PoS, por regla general, solo una parte de las monedas emitidas está involucrada en la minería, y es característico que para los tenedores minoritarios, la minería de PoS no sea rentable debido a la baja probabilidad de encontrar un bloque contra los costos de electricidad, por lo que en realidad la mayor parte de la energía de PoS se crea soportes medianos y relativamente grandes, lo que hace que el ataque sea aún más difícil, como se describió anteriormente. Además, tomamos la distribución de monedas para el proyecto más grande y masivo, y para un proyecto típico en el primer tope de monedas del mercado, la distribución complicará aún más el ataque de soborno, sin mencionar la puesta en marcha de blockchain de inicio, que puede estar planeando hacer este fin de semana.
2. ASIC. Las opiniones se dividieron en el campamento de PoW: la mayoría lo considera malvado e inventa hashes que deberían funcionar de manera más eficiente en equipos masivos (ProgPoW, RandomX). Sus oponentes no se esfuerzan y usan hashes rápidos cripto-resistentes (sha256, sha3, blake), alegando que ASIC es, aunque centralización, pero de hecho, protección del 51%. Y en el contexto de las consideraciones anteriores, estos últimos parecen aún más viables, pero solo hasta el momento en que los dispositivos ASIC de repente obtienen la capacidad de extraer no uno, sino varios hashes relacionados. Pero espera, ya han adquirido esta habilidad (por ejemplo, Giant + A2000). Y debe tenerse en cuenta un matiz más importante: desde el momento en que se lanza el proyecto hasta que aparece el primer ASIC en el mercado para la venta, puede llevar bastante tiempo, y todo este tiempo el proyecto será muy vulnerable.
3. Un ataque Nothing At Stake es un ataque puramente teórico con muchos supuestos. Por ejemplo, un requisito previo es la suposición de que el atacante tiene un canal directo de comunicación con todos los titulares que tiene la intención de sobornar para organizar este ataque. Esto es un poco realista, en primer lugar. En segundo lugar, difícilmente puede mantenerse en secreto de los intercambios mismos, que podrán tomar medidas para protegerse de esto (por ejemplo, suspender temporalmente los depósitos o aumentar el número de confirmaciones a una cantidad inadecuada). Cuando hablamos de un ataque del 51% contra PoW, este es un escenario práctico muy lineal, que, por cierto, se ha hecho más de una vez, recientemente aquí, por ejemplo, en Ethereum Classic [11] [12].

Cómo fortalecer el consenso


Como se mencionó anteriormente, el problema de Nada en juego es puramente teórico, y no encontró ninguna confirmación de ataques realmente realizados basados ​​en esta vulnerabilidad, sin embargo, si después de leer lo anterior parece que el problema es completamente irrelevante, entonces no es así. El problema existe, aunque a un nivel diferente con respecto a PoW, y se hacen esfuerzos considerables para resolverlo. Entre las soluciones existentes, identifiqué dos áreas principales, de las que hablaré muy brevemente.

Soluciones bizantinas de tolerancia a fallas


Los algoritmos de BFT se han estudiado durante aproximadamente 30 años, y existe una buena base científica que demuestra la fiabilidad de los algoritmos de esta familia, incluido pBFT (la fiabilidad se proporciona si el número de participantes de consenso deshonesto en el sistema no supera un tercio). Hay varios proyectos que utilizan este enfoque para implementar o fortalecer el consenso, y la mayoría de ellos afirman que a este respecto obtienen una propiedad llamada "finalidad", que se puede traducir como "finalidad". Se entiende que es imposible reconstruir la cadena (y, por lo tanto, cancelar la transacción) después de un cierto número de confirmaciones. Permítame recordarle que en el consenso clásico de Nakamoto, el cambio a otra subcadena puede ocurrir a cualquier profundidad (pero no más profundo de lo que es obvio), y por lo tantoincluso después de múltiples confirmaciones, no existe una garantía del 100% de que la transacción no se cancele.

Considere la esencia de este enfoque utilizando el ejemplo de la tecnología Casper , que está siendo desarrollada por el equipo de Ethereum [5].
Aclaración ***: De hecho, hay dos modelos de PoS en ethereum, uno escrito por Vlad Zamfir "Una plantilla para protocolos de consenso correctos por construcción" y el otro escrito por Vitalik Buterin y Virgil Griffith "Casper the Friendly Finality Gadget". En este artículo consideraremos la última opción, porque lo más probable es que se use en Ethereum.
Casper se posiciona como una mejora del modelo de consenso, potencialmente aplicable a cualquier sistema PoW, y arquitectónicamente es un complemento para PoW. La idea básica es que una vez cada 100 bloques, un grupo de validadores PoS genera dinámicamente puntos de control. Para convertirse en un validador, debe crear un depósito especial asociado con la dirección del validador, y luego este depósito puede usarse para estimular el comportamiento honesto del validador (más sobre esto a continuación). El algoritmo es seguro siempre que ⅔ de los validadores se comporten con honestidad, mientras que ⅔ están determinados precisamente por la cantidad de dinero en depósito.
Con el fin de alentar a los validadores a llevar a cabo un comportamiento honesto, se utiliza un mecanismo llamado "Slasher": en caso de que se haya notado que el validador votó en una cadena alternativa (alternativa a la que se considera a la misma altura), entonces el que nota esto puede adjuntar evidencia de dicho voto su cadena, y luego se destruirá el depósito del validador deshonesto, se pagará la comisión motivadora correspondiente a aquellos que encontraron la "violación". Además, se supone que si el usuario se registra como un validador de PoS haciendo un depósito apropiado, pero en realidad no participa en la validación, entonces su depósito se reduce gradualmente.
Por lo tanto, desde el punto de vista del protocolo Casper, después de dos puntos de control, los bloques tienen la propiedad de "finalidad", es decir. si los validadores ⅔ fueron confirmados dos veces por los puntos de control en la cadena, entonces el bloque debajo de los puntos de control no puede cancelarse.
La parte dudosa de dicho modelo, desde el punto de vista del autor, es que el conjunto de validadores PoS está limitado a un número finito. Obviamente, dicho número será una especie de compromiso entre el tamaño de la evidencia (es decir, el número de firmas, numéricamente más validadores, el tamaño de la evidencia de votación total) y el grado de descentralización: cuantos menos validadores, mayor centralización. Todo depende de los parámetros que finalmente se elegirán en una implementación particular, pero en general, el modelo puede resultar mucho más centralizado que la tendencia general discutida en la primera parte.


También hay una serie de proyectos en los que se logra la sostenibilidad consensuada mediante la hibridación de PoW y PoS. Muy a menudo, el proyecto Decred está asociado con el híbrido PoW / PoS [6]. Usan un sistema de boletos que se compran por un cierto número de monedas, y estos boletos tienen derecho a votar por un bloque después de un tiempo, y luego la probabilidad de confirmar un bloqueo para un boleto aumenta con el tiempo: cuanto mayor es la edad, mayores son las posibilidades (en cierto sentido) Este es también un sistema de depósito). La prueba de Jake Yocom-Piatt se da en [7], que establece que en la red Decred, el costo de ataque del 51% para un atacante con una pequeña cantidad de PoS será 20 veces mayor que para Bitcoin. Sin embargo, al calcular por alguna razón, se indica el precio de compra del equipo, a pesar del hechoque en tales modelos es habitual calcular el costo de alquilar un hashrate durante la duración del ataque.
Otro ejemplo interesante de PoW / PoS híbrido es Zano [8], un proyecto basado en tecnología de privacidad (ahora diré en gran secreto que este es nuestro proyecto, lo sé inesperadamente). En primer lugar, según la teoría de Nada en juego, el atacante debe poder comunicarse con los titulares para convencerlos de que participen en el ataque. En el caso de un proyecto de privacidad, en el blockchain del cual no hay información sobre direcciones o saldos de billetera, esto será aún más difícil. Además, para protegerse del ataque de largo alcance, así como del problema de Nada en juego, Zano usa una regla especial de elección de horquilla, que no analiza la complejidad total de toda la cadena (desde la génesis), pero siempre compara solo dos subcadenas relativas al punto de ramificación y prefiere dicha ramificación,que cambia mínimamente la relación de complejidad PoW a complejidad PoS, al tiempo que mantiene o aumenta la complejidad acumulativa. Por lo tanto, para implementar el ataque del 51%, incluso si el atacante logró sobornar a cierto número de mineros PoS, también tendrá que invertir una cantidad sustancial de dinero para proporcionar la parte PoW del ataque, que en última instancia es mucho más costoso que el ataque en el PoW clásico o PoS por separado.

Resumen



A pesar del posible conflicto con las ideas de descentralización, las soluciones actuales basadas en pBFT que brindan "finalidad" se ven más seguras contra una amplia gama de ataques, incluidos los ataques de largo alcance y Nada en juego, y también brindan la oportunidad de implementar sistemas de PoS sólidos y limpios en el futuro. Pero la cuestión de dónde se encuentra el equilibrio correcto entre centralización y confiabilidad permanece abierta, lo que brinda buenas posibilidades para soluciones híbridas.

Puede aclarar las circunstancias de los ejemplos dados y sumergirse en sutilezas como "cuánto caerá el precio durante el ataque, cuánto afectará la liquidez la intención de vender inmediatamente a un gran número de tenedores conscientes del ataque, si todos los tenedores tendrán ese deseo", etc., pero El concepto de este artículo es que los mineros PoS, debido a que el "recurso minero" no está alejado de la red, el grado de lealtad natural a la red es mayor que los mineros PoW, y estoy profundamente convencido de que esta circunstancia Roedel horizonte de desarrollo de la industria.
¿No estoy de acuerdo? ¡Escribe tu punto de vista en los comentarios!

Fuentes:
  1. en.wikipedia.org/wiki/Tragedy_of_the_commons
  2. en.wikipedia.org/wiki/Distribution_of_wealth
  3. bitinfocharts.com/top-100-richest-bitcoin-addresses.html
  4. en.bitcoin.it/wiki/Deterministic_wallet
  5. arxiv.org/pdf/1710.09437.pdf
  6. docs.decred.org
  7. medium.com/decred/decreds-hybrid-protocol-a-superior-deterrent-to-majority-attacks-9421bf486292
  8. zano.org/downloads/zano_wp.pdf
  9. www.peercoin.net
  10. medium.com/@slowmist/the-analysis-of-etc-51-attack-from-slowmist-team-728596d76ead
  11. bravenewcoin.com/insights/more-51-blockchain-attacks-expected

Source: https://habr.com/ru/post/undefined/


All Articles