¿Realmente se ha demostrado que PoS es seguro bajo suposiciones comparables a las de Bitcoin?

Estoy leyendo este documento que pretende ser una prueba formal de que el último protocolo Ouroboros PoS de Cardano ("Génesis") ofrece garantías de seguridad similares a las del protocolo PoW de Bitcoin. Desafortunadamente, tiene 64 páginas y presupone una gran cantidad de trabajo anterior con el que también necesito sentirme cómodo, por lo que, aunque confío relativamente en mi comprensión de estas cosas, una evaluación exhaustiva me llevará bastante tiempo.

Así que me preguntaba si alguien (por ejemplo, Andrew Poelstra, Pieter Wuille?) ya había revisado esto y podía dar su opinión. Porque, por un lado, esta es una afirmación muy audaz que invalidaría la visión popular sobre este tema (PoS tiene problemas de seguridad fundamentales que no se pueden superar) y, por otro lado, los autores parecen bastante legítimos y serios en su enfoque.

Me doy cuenta de que incluso si fuera cierto, esto no significa que PoS sea útil para arrancar un sistema como Cardano. Pero, ¿no podría ser una alternativa para Bitcoin, digamos, después de otra o dos mitades?

Respuestas (3)

La línea de trabajo de Ouroboros demuestra una seguridad comparable a la seguridad de Bitcoin. Las pruebas de seguridad en Ouroboros son similares en estilo a las pruebas de seguridad de Backbone, que muestran que Bitcoin es seguro. Que yo sepa, no hay pruebas alternativas de seguridad para Bitcoin que sean formales: estos son los mejores resultados que conocemos que ilustran que Bitcoin es seguro, más allá de los argumentos no matemáticos informales ondulados a mano (como "pero no puedes encontrar un error de seguridad, por lo que debe ser seguro").

En ambos entornos, se hacen ciertas suposiciones, que son las siguientes:

Como prueba de trabajo, en la primera versión de Backbone de 2014, Bitcoin se mostró seguro en un modelo síncrono. Este modelo divide el tiempo en porciones discretas ("rondas" en Backbone, "tragamonedas" en Ouroboros) durante las cuales los jugadores pueden extraer y luego transmitir los bloques encontrados a lo largo de una ronda. Los mensajes enviados durante una ronda son anónimos (es decir, no autenticados) y el adversario puede reordenarlos (de ahí la necesidad de un protocolo de consenso). El adversario también está "apresurándose" en el sentido de que puede usar su propio poder de minería después de haber observado lo que las partes honestas han hecho durante esa misma ronda y antes de permitir que los mensajes viajen por la red. La suposición es que no se pierde ningún mensaje. Esta es una suposición necesaria para demostrar que Bitcoin es seguro: si la red está dividida, entonces puede '

Los requisitos de sincronicidad se relajaron en la versión actual de backbone revisada en 2017 en la que el modelo es semisíncrono. La primera versión de Backbone también mostró que Bitcoin es seguro si la dificultad se mantiene constante. Un trabajo de seguimiento en Backbone de 2016 mostró que se mantiene seguro en un entorno de dificultad variable. Estas pruebas dependen de una suposición mayoritaria honesta que se precisa en los documentos. Más precisamente, se requiere que el adversario tenga un poder de minería inferior al poder de minería honesto por una constante fija que compense las rondas exitosas no únicas (es decir, rondas durante las cuales varias partes honestas encuentran un bloque y, por lo tanto, causarán un bifurcación accidental corta en la cadena de bloques).

Las suposiciones en la configuración de prueba de participación de Ouroboros son similares en cuanto a la red a Backbone. El modelo se toma prestado principalmente del marco de compatibilidad universal de Canetti , en el sentido de que existe un entorno que puede influir en la ejecución. Las pruebas en el modelo de "entorno incluido" son poderosas porque pueden hablar de cualquier ejecución en la que el adversario pueda decirle a la gente exactamente qué hacer más allá del requisito de que las partes honestas ejecuten el protocolo honesto. Por ejemplo, el adversario puede corromper a los jugadores de su elección.

En Ouroboros , la suposición que es dual a la "mayoría minera honesta" de Backbone es la "mayoría de participación honesta", es decir, que en cualquier momento, la mayoría de la participación pertenece a las partes honestas. Esta es una suposición fuerte que puede o no ser cierta, por lo que depende de lo que esté dispuesto a aceptar. Otra suposición hecha en Ouroboros es que el cambio de apuesta está limitado. Esto parece una suposición razonable: significa que todo el dinero no puede cambiar de manos instantáneamente. Sin embargo, la construcción depende de este límite para especificar los parámetros de seguridad, como la duración de la época. En el sistema práctico, estos parámetros toman valores concretos que permiten alcanzar límites específicos.

Ouroboros Praos logra mejores garantías de seguridad que Ouroboros: permite que el adversario corrompa instantáneamente a cualquier parte honesta, cuando lo crea necesario. Este es un adversario fuerte (por lo tanto, el sistema es más seguro) y también es una suposición similar a Backbone. Para la prueba de participación, es un logro importante, ya que el adversario podría corromper retroactivamente a las partes que tuvieron éxito en la participación de un bloque para que pueda crear múltiples bloques en competencia. Que yo sepa, las cadenas de prueba de participación implementadas prácticamente como Blackcoin no disfrutan de tales garantías (y realmente no pueden hacer ningún reclamo, ya que no tienen pruebas de seguridad).

Ouroboros Genesis fortalece los resultados anteriores en el sentido de que las partes son dinámicas (y pueden, por ejemplo, desconectarse) y la seguridad se prueba en un modelo más sólido.

Todos estos trabajos (las pruebas tanto para Bitcoin como para Ouroboros) también utilizan la suposición Random Oracle, que a algunos criptógrafos no les gusta.

Todos estos enfoques son comparables a otras líneas de trabajo como Blancanieves y ALGORAND . En mi opinión, Ouroboros logra mejores garantías, tiene buenas decisiones de diseño, tiene pruebas formales de seguridad y funciona en un modelo bastante similar a los sistemas basados ​​en prueba de trabajo (especialmente Praos). Se necesitaría un análisis extenso para compararlos todos uno al lado del otro.

Al final, si está satisfecho con los supuestos de seguridad y el modelo de amenazas en estos trabajos depende de sus requisitos. En general, estos trabajos logran algunas buenas garantías, pero algunos resultados dejan que desear. Por ejemplo, la mayoría honesta puede mantener la mayor parte del tiempo, no todo el tiempo, pero no se ha explorado si la seguridad está garantizada en estas configuraciones (ni en Bitcoin ni en Ouroboros). Sospecho que Bitcoin es más resistente a condiciones extremas, pero no se han probado tales garantías.

En general, una cosa a tener en cuenta es que estas limitaciones/suposiciones también son válidas para Bitcoin: las mejores pruebas formales que tenemos para Bitcoin funcionan en un modelo limitado que es similar, pero no exactamente igual, a la construcción real. Para concluir, Backbone es el mejor análisis que tenemos para Bitcoin, y hace un análisis comparable al de Ouroboros. Por lo tanto, sus garantías de seguridad coinciden con las garantías de seguridad que tenemos para Bitcoin, si equipara la apuesta por mayoría honesta con la minería por mayoría honesta, al menos mientras se requiera demostrabilidad.

Si desea comprender estos documentos usted mismo y juzgar por sí mismo si logran los resultados deseados, le recomiendo que lea primero el documento GKL Backbone. Puede leer la primera parte donde habla sobre el prefijo común, la calidad de la cadena y el crecimiento de la cadena, así como la vitalidad y la persistencia. Entonces le recomiendo que lea Ouroboros, tal vez seguido por Ouroboros Praos. Estos deberían darle una buena idea de lo que se trata esta línea de trabajo. Tienes razón en que comprender Ouroboros Genesis tiene muchos requisitos previos. Sin embargo, puede obtener una buena comprensión de los resultados con respecto a la seguridad de la prueba de participación sin leer ese documento en particular.

Descargo de responsabilidad: soy estudiante de doctorado de Aggelos (Aggelos escribió Backbone, Variable Backbone, Ouroboros, Ouroboros Praos, Ouroboros Genesis; no contribuí a estos documentos); mi trabajo científico actual se utiliza en Cardano, que es una implementación de Ouroboros. Mi opinión puede estar sesgada.

Gracias por la información sobre el trabajo académico relevante en torno a esto. Una cosa con la que lucho es comenzar con la suposición de que la mayoría del hashrate en PoW es honesto. Esa puede ser la única forma de formalizar la seguridad, pero parece ser una suposición sin sentido; si realmente se confiara en la mayoría de la tasa de hash para ser honestos, podríamos simplemente reemplazar a los mineros con firmantes y hacer que firmen bloques. En realidad, creo que la verdadera suposición es más algo así como "la mayoría actúa de manera racional", lo cual es difícil de formalizar, pero muy diferente de las suposiciones en PoS.
@PieterWuille Estoy de acuerdo con su punto: se necesita más trabajo para formalizar los incentivos del protocolo bitcoin y este es un problema difícil. No se han analizado los incentivos en el juego Backbone, pero hay un análisis de incentivos en un juego más simple (que me parece bastante limitante, pero es un primer intento). Una cosa a tener en cuenta es que, en Backbone, la estrategia honesta no puede ser compatible con incentivos debido a Selfish Mining. Ouroboros, sin embargo, tiene un análisis de incentivos que prueba que la estrategia honesta es un equilibrio de Nash (sección 7 del artículo original)
@PieterWuille Otro punto con respecto a su comentario es que realmente no podemos reemplazar a los mineros con firmantes, incluso si asumimos una mayoría honesta del hashrate de PoW, porque la mayoría honesta no es por recuento de claves, sino por ciclos de cómputo (o consultas al oráculo aleatorio). ¿Cómo te imaginas que funcione una construcción así? ¿Podría presentar algo (más o menos) en el modelo de columna basado en firmas?

Según recuerdo, las afirmaciones de seguridad de ese sistema asumen que los usuarios tienen una red síncrona: cada mensaje se entrega de manera confiable a todos los usuarios. Esta es una suposición bastante no física, la única forma en que sabemos cómo construir tal cosa es usar algún tipo de sistema de consenso. Lo que haría que el nombre "Ouroboros" fuera más apropiado. :PAG

Si realmente tuviera una red síncrona, no necesitaría ningún tipo de POW/POS, simplemente haría que las personas enviaran sus transacciones y la primera enviada ganaría. Como resultado, bajo esa suposición, podría probar que prácticamente cualquier tipo de sistema es seguro, incluso aquellos que no tienen absolutamente ninguna seguridad en el mundo real.

Debido a la larga historia de afirmaciones poco claras, engañosas, ofuscadas o totalmente deshonestas sobre la seguridad de personas que promueven POS y otros sistemas de consenso alternativos, creo que la mayoría de los expertos por el momento se han quedado sin paciencia para revisar estas cosas. Me gustaría sugerir que cualquier persona que piense que tiene un marco de trabajo realmente bueno haría bien en usarlo para demostrar que alternativas similares como stellar, ripple o ethereum's-r&d son inseguras. Digo esto por dos razones: una es que si el marco de alguien no puede probar que otros sistemas son inseguros, ¿por qué deberíamos esperar que nos diga si su nuevo sistema es inseguro? La otra razón es escapar de un comportamiento inescalable donde los esquemas mal considerados se tiran por la borda y saturan a un número limitado de personas que pueden revisarlos. También creo que la mejor evidencia informal de que alguien está calificado para construir un sistema es que puede encontrar fallas en otros sistemas, y sin algo así es demasiado difícil priorizar la revisión sobre otro trabajo. Este tipo de actividad puede ayudar a aclarar qué propiedades proporciona realmente una propuesta.

Siento que su crítica de las suposiciones de sincronicidad de Ouroboros es injusta. La suposición de sincronicidad en los artículos de Ouroboros, que se deriva del artículo anterior de Backbone (GKL), no es que los mensajes se entreguen de forma fiable en orden , sino literalmente que se entregan de forma fiable fuera de servicio . Esto se hace explícito en ambos documentos: el adversario debe transmitir mensajes, pero puede reordenarlos e inyectar nuevos mensajes. Por lo tanto, su protocolo propuesto en el que "gana la primera transacción" no conduciría a un protocolo que logre el consenso.
¿Corresponde "El adversario debe retransmitir mensajes, pero puede reordenarlos" a algún medio de comunicación descentralizado existente en uso en cualquier parte del mundo?
Sí, mira mi otra respuesta. La suposición corresponde al hecho de que la red está conectada y puede llegar a otros nodos honestos. Sin embargo, además de eso, ¿existe, según su conocimiento, una prueba formal de seguridad para Bitcoin que haga diferentes suposiciones más débiles, más allá de los formalismos sincrónicos y semisincrónicos de Backbone y Pass/Shi? Si no, ¿por qué requiere esto de los sistemas de estaca?
@dionyziz Creo que la realidad es que no hay ninguna prueba de seguridad para Bitcoin que refleje con precisión las suposiciones reales hechas. Suena correcto que existe una prueba de seguridad con suposiciones similares a la mejor prueba existente para sistemas similares a Bitcoin, pero creo que esto último no tiene sentido. Entonces, "este sistema es probablemente tan seguro como Bitcoin" suena como un resumen falso. Es más "este sistema es probablemente tan seguro como alguna forma debilitada de Bitcoin, para lo cual existe una prueba".
@PieterWuille Tiene razón: no hay pruebas para el sistema BTC completo, solo sospechamos que funciona debido a la evidencia empírica y la intuición. En ese sentido, ni siquiera sabemos si Bitcoin funciona (contra adversarios arbitrarios). Dada su experiencia y conocimiento, ¿puede ayudarnos a dirigir la investigación en la dirección correcta señalando qué suposiciones en el modelo le gustaría ver debilitadas más allá de la exploración de incentivos? ¿Tiene algún comentario sobre el modelo de amenaza del adversario y los supuestos de la red? No podemos esperar que el modelo matemático refleje con total precisión la realidad, pero podemos mejorar...

Debería definir lo que quiere decir con "seguridad" en este sentido.

La fuga de firmas siempre es una posibilidad y es específica de la implementación, pero no se puede evitar sobrescribir (y anular efectivamente las transacciones) el bloque con puro poder de hash, que puede invocar a pedido.

No puede forzar o predecir cuándo ocurrirá una apuesta, de ahí el problema.

¿Puede explicar qué quiere decir con "de ahí el problema"? ¿A qué problema te refieres? Gracias :)
Obviamente, se refiere a por qué no se puede confiar en la Prueba de participación por seguridad; ya que puede invocar más poder hash (para PoW) en un momento dado, sin embargo, no puede hacer esto con PoS.
No estoy seguro de por qué esto es un problema. Supongo que por "se puede confiar" quiere decir que la probabilidad de falla está dentro de límites suficientes. La razón para "convocar" más PoW es cuando se incrementa un PoW contradictorio y, por lo tanto, la mayoría honesta está en peligro de ser violada. En PoS, no necesita invocar más apuestas, porque el adversario no puede invocar más apuestas. ¿Tiene sentido?
Correcto, sin embargo, mi punto subyacente era que un bloque PoS puede ser "sobrescrito" fácilmente por un bloque PoW, o varios.
No estoy seguro de entender lo que quieres decir con "sobrescribir". ¿Está imaginando un sistema en el que se utilicen apuestas y trabajo para crear bloques y uno sea más pesado que el otro? ¿Le importaria explicar?