Este artículo discutirá el protocolo de consenso que Polkadot propuso para resolver el problema de tolerancia a fallas bizantinas: el protocolo GRANDPA. En este artículo, asumimos que los lectores ya están familiarizados con el problema de Tolerancia a fallas bizantinas, por lo que presentaremos directamente cómo el protocolo GRANDPA de Polkadot resuelve el problema de Tolerancia a fallas bizantinas. Primero, presentaremos brevemente el contenido principal del protocolo GRANDPA. Luego discutiremos los vectores de ataque que podrían conducir a la falla del protocolo GRANDPA. Finalmente, propondremos posibles soluciones sobre cómo abordar las vulnerabilidades de seguridad anteriores.
Certeza probabilística vs. Certeza demostrable
Inspirado en el protocolo Casper FFG (Friendly Finality Gadget), GRANDPA es un nuevo protocolo de consenso de herramienta determinista (Finality Gadget), tolerante a fallas bizantinas (BFT). Finality Gadget es un conjunto de mecanismos para finalizar el contenido en una cadena de bloques a través de un determinado mecanismo de propuesta. El contenido de la cadena finalmente confirmado por la "herramienta determinista" es definitivo, es decir, irreversible.
Como dice Polkadot Wiki: "La cadena de bloques que ejecuta el protocolo de consenso POW puro estilo Nakamoto solo puede lograr certeza probabilística y completar el consenso final". una garantía más fuerte llamada certeza comprobable. La certeza demostrable generada por el mecanismo de herramienta determinista de GRANDPA asegura que después de que se opere un cierto mecanismo de consenso, los contenidos de esos bloques finalmente confirmados nunca se revertirán.
EL ABUELO DE POLKADOT
Polkadot utiliza BABE como su mecanismo de generación de bloques a través de un sistema de Prueba de Participación Nominada (NPoS) (BABE, el conocido Blind Assignment for Blockchain Extension, es decir, Blind Assignment for Blockchain Extension). El sistema utiliza Prueba de participación nominada (NPoS) y, como sugiere el nombre, el sistema selecciona validadores a través de un proceso de nominación. En este sistema de cadena de bloques, para cambiar de un participante ordinario a un nominador, un participante primero debe apostar sus tokens como garantía. Después de eso, el participante que se actualiza a nominador puede nominar los nodos que aprueba como validadores. Cuando el verificador designado por él se desvíe del acuerdo, se le cortará como castigo su participación comprometida; por el contrario, cuando el verificador designado por él cumpla con el acuerdo, también será recompensado como premio. También vale la pena mencionar que en este sistema blockchain, los verificadores elegidos tienen los mismos derechos de voto en el acuerdo de consenso.
Con GRANDPA (acuerdo de prefijo derivado de ancestro recursivo basado en GHOST) como mecanismo de herramienta determinista, la cadena de retransmisión de Polkadot contiene dos protocolos diferentes, correspondientes a dos tipos diferentes de redes. Vamos a discutir el primer protocolo. La red correspondiente a este protocolo es parcialmente síncrona y hasta 1/3 de los participantes pueden ser maliciosos. Las redes que encontramos en nuestras vidas suelen estar parcialmente sincronizadas. Este es un término profesional para un sistema distribuido. En resumen, significa que la red está sincronizada en la mayoría de los casos. Cuando la red no está sincronizada, volverá a un estado sincronizado después de un cierto período de tiempo (la sincronización también está distribuida). término profesional del sistema, esto puede entenderse temporalmente como "sincronización" en el lenguaje cotidiano).
Con respecto a GRANDPA, vale la pena señalar que: 1) Solo los bloques que finalmente son confirmados por el mecanismo de herramienta determinista pueden afectar la generación de bloques 2) Se pueden votar múltiples bloques de diferentes alturas al mismo tiempo, lo cual es diferente de Casper FFG .
Este artículo solo analiza el primer protocolo de Polkadot. Está diseñado para redes parcialmente síncronas y no puede tolerar particiones de red ni ataques DoS. Otro punto que vale la pena señalar es que el protocolo asume que después de un tiempo GST desconocido, la red se sincroniza.
Cada participante almacena un árbol de bloques generado por BABE, y el bloque raíz de este árbol de bloques es el bloque génesis. Los participantes pueden votar en un bloque en el árbol. Si un bloque B obtiene X votos, los X votos incluyen todos los votos del propio B y de los descendientes de B. Luego, la función ⅔-GHOST g(S) devuelve el bloque con la mayor altura de bloque entre los bloques que obtienen la mayoría absoluta en el almacén de boletos S, denotado como B.
El autor del bloque luego procede a determinar la probabilidad de que este bloque B tenga una mayoría calificada en el votante S. El papel "Byzantine Finality Gadgets" del protocolo GRANDPA se define de la siguiente manera: "Decimos que si al menos 2t + 1 votos son votos en exceso (es decir, un votante emite más de un voto) o votó por otros bloques excepto B descendientes bloque, entonces es imposible que el bloque B ocupe la mayoría en la boletería S; de lo contrario, es posible que el bloque B obtenga la mayoría absoluta en la boletería S”. in Obtener una mayoría calificada en una boletería S es posible si y solo si existe una boletería T tolerante a fallas, T es un subconjunto de las boleterías S y el bloque B tiene una mayoría calificada en las boleterías T".
En la práctica, este protocolo tendrá los siguientes problemas:
Si asumimos que los bloques B y C son inconsistentes, y t votantes maliciosos más 1 votante honesto votaron por B, y 2t votantes honestos votaron por C, entonces de acuerdo con la definición anterior, es posible que B obtenga una mayoría absoluta. Sin embargo, dado que los votantes honestos no votan en exceso, no siempre hay un subcompuesto T en el grupo S tal que T tenga una mayoría absoluta. Esto hace que las garantías de vida sean imposibles para GRANDPA. A continuación, describiremos esta situación en detalle.
Supongamos que mantenemos la misma situación, con B y C como dos subbloques producidos en alguna ronda r, es decir, BABE sufre una bifurcación en esta ronda y, como resultado, se producen dos subbloques B y C.
En la ronda r, t + 1 votantes (todos los t votantes maliciosos + 1 votante honesto) votan por B, y los 2t votantes honestos restantes votan por C. Por lo tanto, para cada votante i, nuestra función g() partirá de la estimación de la ronda anterior, E_{r-1, i} [E_{r,v} representa una estimación del votante v en la ronda r, esta estimación Contiene información sobre todos los bloques que podrían haberse finalizado en la ronda R pero que en realidad no se finalizaron. Para obtener más información, consulte el documento "Artilugios de finalidad bizantina"] Envíe un bloque progenitor a B y C. En consecuencia, cada participante se compromete previamente con el bloque de antepasados. (Vale la pena señalar que incluso los nodos honestos en la red pueden tener resultados de votación divididos debido a la demora o la asincronía de la red. Un nodo honesto puede recibir primero el bloque B, por lo que vota por B. Otros nodos honestos C se reciben primero, por lo que vota por c.)
Ahora, cada votante i estima cuál puede ser el bloque progenitor de E_{r-1, i} de la ronda r-1. Dado que C_{r,i} [C_{r,i} denota todos los compromisos previos recibidos por el participante i en la ronda r] podría resultar en que cualquier hijo de E_{r,i} obtenga un voto mayoritario, por lo que la Ronda r no se puede completar , y todo el proceso de consenso falla.
Incluso si los problemas discutidos aquí pueden resolverse arreglando las definiciones semánticas en GRANDPA, podemos aplicar de manera similar esos ataques mencionados en la discusión del protocolo Tendermint a GRANDPA. En última instancia, solo podemos concluir que el protocolo GRANDPA no es seguro en las redes mencionadas.
Tags:
Revisión del último problema BTC: ahora que no hay activos de refugio seguro en el mercado, la idea de que el efectivo es el rey ha ganado gradualmente la delantera.
El exesposo multimillonario de Janet Jackson, Wissam Al-Mana.
Telegram busca apelar un fallo reciente de un tribunal federal de EE. UU. a favor de la Comisión de Bolsa y Valores de EE. UU. (SEC). Tras una orden judicial preliminar anterior del tribunal.
Este artículo discutirá el protocolo de consenso que Polkadot propuso para resolver el problema de tolerancia a fallas bizantinas: el protocolo GRANDPA. En este artículo.
30 minutos para presentar completamente el mecanismo de subasta de garantías de múltiples garantías Dai y discutir las razones del reciente incidente de subasta de precio cero.
Autor: Ali Research Institute Song Yiqun, Chai Aixin, Su ZhongEn 2021, un "mono aburrido" alborotó el mundo de la Web 3.0. Como proyecto NFT, "Boring Ape" se incluyó en la lista en abril de ese año.
Con el avance de la tecnología blockchain y la integración de industrias reales y otras tecnologías de la información, la demanda de talentos blockchain, especialmente talentos compuestos, está aumentando.