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?
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.
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.
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.
pieter wuille
dionisio
dionisio