Intercambio de Ethereum Intercambio de Ethereum
Ctrl+D Intercambio de Ethereum
ads

Detalles de Dios V: cómo lograr un consenso tolerante a fallas del 99 %

Author:

Time:

Hemos estado escuchando durante mucho tiempo que es posible lograr un consenso tolerante a fallas del 50 % en redes síncronas. En una red síncrona, se puede garantizar que todos los demás nodos de confianza recibirán cualquier mensaje transmitido por un nodo de confianza dentro de un cierto período de tiempo conocido. Si el atacante supera el 50%, puede realizar un "ataque del 51%", que es posible para cualquier algoritmo del mismo tipo en la cadena de bloques. También lo hemos escuchado todo el tiempo: si desea relajar la suposición de sincronicidad y tener un algoritmo "async-safe", la tolerancia a fallas máxima alcanzable cae al 33% (PBFT, Casper FFG, etc. todos caen en este categoría). Sin embargo, si agrega más suposiciones (específicamente, no solo necesita observadores para seguir a los usuarios que no participan activamente en el consenso pero que se preocupan por su resultado, sino que también siguen activamente el consenso, no solo descargan su resultado después de que sale), ¿Puede esto aumentar la tasa de tolerancia a fallas hasta el 99%? De hecho, esto se sabe desde hace mucho tiempo. El famoso artículo de 1982 de Leslie Lamport sobre "Problemas generales bizantinos" contiene una descripción del algoritmo. A continuación intentaré volver a describir y expresar este algoritmo de forma simplificada. Supongamos que hay N nodos participando en el consenso, todos acuerdan de antemano a quién representan estos nodos (dependiendo del contexto, pueden ser elegidos por una parte de confianza, o si se requiere un mayor grado de descentralización, se puede hacer a través de alguna prueba). prueba de trabajo o estaca). V God: Espero ver que Ethereum se convierta en un sistema más parecido a Bitcoin: Golden Finance informó que Vitalik Buterin, el fundador de Ethereum, tuiteó que todavía hay algunas contradicciones abiertas en mis pensamientos y valores. He estado pensando en ello, pero aún así Siento que no lo he descubierto del todo. Existe una tensión entre mi deseo de que Ethereum se convierta en un sistema más parecido a Bitcoin, enfatizando la estabilidad a largo plazo, incluida la estabilidad cultural, y darme cuenta de que lograrlo requerirá un poco de cambio a corto plazo activamente coordinado. Tiendo a depender menos de las personas y trato de construir sistemas fijos que resistan la prueba del tiempo. Me gustaría ver que Ethereum se convierta en un L1 que pueda sobrevivir a los extremos reales, pero me doy cuenta de que muchas aplicaciones críticas en Ethereum ya dependen de algo mucho más frágil que cualquier cosa que consideremos aceptable en el diseño del protocolo Ethereum. Hay muchas suposiciones de seguridad, y hay una contradicción entre los dos. No soy un fanático de muchas "aplicaciones" modernas de cadenas de bloques financieras (NFT de alto precio, etc.), pero aprecio a regañadientes que estas cosas son una parte importante para mantener la economía criptográfica en funcionamiento, y para todos los DAO geniales que amo / Experimento de Gobernanza Pagado. [2022/5/17 3:21:16] Etiquetamos estos nodos como 0...N-1. Además, suponga un límite conocido D en el retraso de la red y la variación del reloj. (por ejemplo, D = 8 segundos). Cada nodo tiene la capacidad de publicar valores en el momento T (por supuesto, los nodos maliciosos pueden publicar valores antes de T o después de T). V God: NFT puede ser un bienestar social, no solo un casino para celebridades adineradas: V God, el cofundador de Ethereum, cree que NFT se puede aplicar a causas relacionadas con el bienestar social, como la caridad y la financiación, pero la tecnología es todavía considerado un "casino que beneficia principalmente a los ricos y famosos". V God dijo que ayudar a celebridades como Elon Musk a aumentar sus depósitos bancarios en $1 millón mediante la venta de NFT casi no tiene valor social. Pero con apoyo y coordinación, esta ficha no fungible podría tener un impacto significativo en otras áreas de la sociedad. (Cointelegraph) [2021/3/24 19:14:10] Todos los nodos esperan (N - 1)∙D segundos y ejecutan el siguiente proceso. Defina x:i como "valor x firmado por el nodo i", x:i:j como "valor x firmado por el nodo i, y x firmado con j", etc. Las propuestas publicadas en la primera fase tendrán la forma de v:i de unas v e i, que incluye la firma del nodo que realizó la propuesta. Si un validador i recibe algún mensaje v: i:...:i[k], donde  i:...:i[k] es una lista de índices que tienen mensajes firmados en orden (solo v será contado como k = 0, y k = 1 para v:i), entonces los verificadores verificarán (i) por menos de T + k∙D mientras aún no hayan visto un mensaje válido que contenga; si pasan ambas verificaciones, se publicará v: yo:...: yo[k]: yo. Voz | V Dios: La falta de seguridad compartida en la cadena cruzada y la fragmentación de activos básicos comunes es lo contrario: recientemente, en la discusión de la comunidad, Vitalik expresó sus puntos de vista sobre la cadena cruzada y la fragmentación, la cadena cruzada: sin seguridad compartida, no común Los activos básicos, fragmentación: hay seguridad compartida y hay activos básicos comunes. [2020/1/17] En T + (N - 1)∙D, el nodo deja de escuchar. En este punto, se garantiza que todos los nodos de confianza hayan "visto efectivamente" el mismo conjunto de valores. Si la pregunta pide elegir un valor, se puede usar alguna función de "elección" para elegir un valor de los valores que ven (por ejemplo, tomar el que tiene el hash más bajo). Luego, los nodos pueden llegar a un consenso sobre ese valor. Ahora, exploremos por qué funciona este enfoque. Lo que necesitamos probar es que si un nodo honesto (efectivamente) ve un valor particular, entonces otros nodos honestos también ven ese valor (si demostramos esto, entonces sabemos que todos los nodos honestos ven el mismo conjunto de valores, así que si todos los nodos honestos ejecutan la misma función de selección, elegirán el mismo valor). Supongamos que cualquier nodo honesto recibe un mensaje v:i:...i[k], que considera válido. Llegó antes del tiempo T + k∙D), suponiendo que x es el índice de otro nodo honesto. x es parte de i: ... o no. Dinámica | V God publicó 5 publicaciones de blog sobre las dificultades que encontrará Ethereum 2.0 en el futuro: Según un artículo de Coindesk, durante la conferencia Ethereum Devcon, V God continuó escribiendo 5 publicaciones de blog, hablando sobre el futuro de Ethereum 2.0. encontrado. Está organizado de la siguiente manera: 1. A corto plazo (si se libera ETH2.0), todavía es posible transferir ETH de Ethereum 2.0 a Ethereum 1.0. El desarrollador de Ethereum 2.0, Preston Van Loon, dijo que la complejidad de crear un puente bidireccional entre ETH 2.0 y ETH 1.0 plantea un "riesgo de seguridad" para ambas cadenas. Buterin propuso dos formas posibles de crear un "puente" entre las dos cadenas de bloques. Reconoció que "ambas propuestas requerirían medidas correctivas urgentes en el lado de Ethereum 1.0 si Ethereum 2.0 se viera comprometido". Migración por la red Fang 1.0. Esta sigue siendo una propuesta, y los investigadores no han diseñado un "puente" de migración en ETH 2.0. 2. Antes de que ETH2.0 y ETH1.0 se fusionen por completo, Ethereum 2.0 puede usarse en paralelo con ETH1.0 durante muchos años. El investigador de Blockchain, Mihailo Bjelic, dijo que un sistema complejo como ethereum 2.0 no debería reemplazar la red principal actual de ethereum hasta que los desarrolladores estén seguros de su confiabilidad. Buterin dijo en una publicación de blog que espera que la transición sea fluida. 3. Los datos de llamadas sobre la cadena de bloques Ethereum 2.0 serán más caros que antes. En respuesta a estos problemas, Vitalik sugirió en una publicación de blog que los desarrolladores pueden controlar su escala al escribir validadores. 4. Ethereum perderá la capacidad de transacciones atómicas. ETH 2.0 destruirá la capacidad de las transacciones atómicas en Ethereum, es decir, completará todas las transacciones a la vez (la división de transacciones se completará entre diferentes fragmentos). V God cree que las diferentes aplicaciones pueden tener capacidades de interacción más sólidas, pero también obstaculizarán algunas actividades, lo que dificultará la atracción de comerciantes de criptomonedas. 5. V God propuso en una publicación de blog que la cantidad de fragmentos de ETH 2.0 se reducirá cuando se lance. Anteriormente eran 1024 fragmentos, y ahora se propone que sean 64 fragmentos. La principal ventaja es que los fragmentos de Ethereum 2.0 puede comunicarse más rápido, más simple. [2019/10/25] En el primer caso (para este mensaje, x=i[j]), sabemos que el nodo honesto x ha transmitido el mensaje, y lo hizo en respuesta a su ) D mensaje recibido previamente con j -1 firma. En este momento transmiten su mensaje, entonces todos los nodos honestos deben recibir el mensaje antes del tiempo T + j∙D. Voz | V God: Las criptomonedas y los sistemas de pago son las principales y más efectivas aplicaciones de blockchain: Según CriptomonedaseICO, V God dijo que cree que las criptomonedas y los sistemas de pago son las principales y más efectivas aplicaciones de blockchain. También dijo que, en su opinión, las cosas que mejor se adaptan a blockchain son en su mayoría cosas "puramente digitales". [2018/12/2] En el segundo caso, dado que los nodos honestos ven el mensaje antes del tiempo T + k∙D, propagarán el mensaje con su propia firma y garantizarán que todos, incluido x, lo verán antes del tiempo T + ( k + 1)∙D. Tenga en cuenta que el algoritmo usa el acto de agregar su propia firma como una especie de "golpe" para los tiempos de espera de los mensajes. Es esta capacidad la que garantiza que si un nodo honesto ve un mensaje a tiempo, también puede garantizar que todos los demás nodos vean el mensaje a tiempo, porque la definición de "a tiempo" aumenta más que el retraso de la red por cada firma agregada. . En el caso de que un nodo sea honesto, ¿podemos garantizar que los observadores pasivos (como los nodos participantes sin consenso que se preocupan por el resultado) también pueden ver el resultado? Como estaba previsto, hay un problema. Supongamos que un comandante y algún subconjunto de verificadores k (maliciosos) generan un mensaje v: i:...i[k] y lo transmiten a algunas víctimas antes de T + k∙D, las víctimas piensan que el mensaje está "a tiempo", pero cuando se reenvían, el mensaje solo llegará a todos los nodos honestos que hayan acordado después de T + k∙D, y todos los nodos honestos que hayan acordado lo rechazarán. Pero podemos tapar este agujero y proponer una nueva restricción: exigir que D tenga el doble de retraso de la red más la diferencia horaria. Luego le damos al observador un tiempo de espera diferente: el observador acepta que v: i:...i[k] debe estar antes de T + (k - 0.5)∙D. Ahora, supongamos que el observador ve un mensaje y lo acepta. Pueden transmitirlo a un nodo honesto antes del tiempo T + k∙D, y el nodo honesto publicará un mensaje con la firma, que llegará a todos los demás observadores antes de T + D (k + 0.5), con Mensajes con k+1 las firmas expirarán. Mejorar otros algoritmos de consenso Teóricamente, el algoritmo anterior se puede usar como un algoritmo de consenso independiente, o incluso para ejecutar una cadena de bloques de prueba de participación. El conjunto de validadores para la ronda de consenso N+1 puede decidirse en la ronda de consenso N (por ejemplo, cada ronda de consenso también puede aceptar transacciones de "depósito" y "retiro", y si se aceptan y se firman correctamente, se agregarán o se agregarán validadores eliminada pasa a la siguiente ronda). El principal ingrediente adicional que debe agregarse es otro mecanismo para decidir qué nominadores pueden proponer bloques (por ejemplo, cada ronda puede tener un nominador designado). También se puede modificar para usarse como una cadena de bloques de prueba de trabajo, lo que permite que los nodos que participan en el consenso emitan soluciones de prueba de trabajo a través de claves públicas, mientras que simultáneamente se "declaran" a través de firmas en tiempo real. Sin embargo, la suposición de sincronía es muy sólida, por lo que esperamos que funcione sin la suposición de sincronía en los casos en los que no necesitamos más de un 33 % o un 50 % de tolerancia a fallas. hay una forma de hacer esto. Supongamos que tenemos algún otro algoritmo de consenso (p. ej., PBFT, Casper FFG, PoS basado en cadena) cuya salida puede ser vista ocasionalmente por observadores en línea (lo llamamos un algoritmo de consenso dependiente del umbral, y el mencionado anteriormente El algoritmo que llamamos el algoritmo de consenso dependiente del retardo). Suponiendo que el algoritmo de consenso dependiente del umbral se ejecuta continuamente, en un modo "finalizará" continuamente nuevos bloques en la cadena. Por ejemplo: cada valor final apuntará a un "padre"; si hay una secuencia de punteros a→...→B, llamamos a A un descendiente de B. Podemos mejorar los algoritmos dependientes de la latencia en esta estructura, brindando a los observadores siempre activos acceso a un "resultado probable" en los puntos de control con aproximadamente un 95 % de tolerancia a fallas (también es posible agregando más controlador de validación y requiere un proceso que lleve más tiempo para impulsar la tolerancia a fallas al 100%). Siempre que el tiempo alcanza un múltiplo de 4096 segundos, ejecutamos el algoritmo dependiente de la latencia, seleccionando 512 nodos aleatorios para participar en el algoritmo. Una propuesta válida es cualquier cadena de valores válida finalizada por el algoritmo de correlación de umbral. Si un nodo ve algún valor final con k firmas antes del tiempo T + k∙D (D = 8 segundos), acepta la cadena en su conjunto de cadenas conocidas y agrega su propia firma para retransmitirla; el observador usa un umbral de T + (k - 0.5)∙D como antes. La función de "elección" utilizada al final es simple: ignorar los valores que no son descendientes del valor final ya acordado en la ronda anterior ignorar los valores finales inválidos elegir entre dos valores finales válidos, elegir el valor hash más bajo Si El 5% de los validadores son honestos, entonces solo hay una probabilidad de 1 en 1 billón de ser honesto entre 512 nodos seleccionados al azar, por lo que cuando el algoritmo anterior funcione, se coordinará para llegar a un único valor final de nodo. Si se cumple la tolerancia a fallos del algoritmo de consenso dependiente del umbral (normalmente, el 50 % o el 67 % de los nodos son honestos), el algoritmo de consenso dependiente del umbral no determinará ningún punto de control nuevo o determinará puntos de control nuevos que eventualmente serán compatibles. puntos de control (por ejemplo, cada punto de control apunta al punto de control anterior como padre). Por lo tanto, los nodos que participan en un algoritmo dependiente de la latencia no estarán de acuerdo con los valores que aceptan, y los valores que aceptan seguirán siendo parte de la misma cadena sin desacuerdo real. Una vez que el retraso vuelva a la normalidad en alguna ronda futura, el consenso dependiente del retraso volverá a "sincronizarse". Si los supuestos de los algoritmos de consenso dependientes del umbral y de la latencia se rompen al mismo tiempo (o se rompen en dos rondas consecutivas), entonces el algoritmo falla. Por ejemplo, suponga que en una ronda, el consenso dependiente del umbral finaliza Z → X → Y, y dado que la demora en el consenso no está de acuerdo entre X e Y, entonces el consenso terminará sin acuerdo. La siguiente ronda de consenso dependiente del umbral terminará cuando finalmente se determine que W no se origina en X y X no se origina en Y; en el consenso dependiente del retraso, los nodos que están de acuerdo con Y no aceptarán W, mientras que los nodos que estén de acuerdo con X voluntad. Sin embargo, esto es inevitable, el consenso seguro bajo asincronía es imposible. La tolerancia a fallas es una conclusión bien conocida en la teoría bizantina de tolerancia a fallas, como muchos eventos imposibles, la tolerancia a fallas permite suposiciones de sincronización incluso cuando el observador está desconectado

Tags:

Mejor intercambio de Ethereum
Observación dorada | El Banco Central de Tailandia ha emitido un plan de baht digital

Hoy, el Banco de Tailandia publicó su guía para dos monedas estables. Resumen El Banco de Tailandia divide las monedas estables en dos tipos: monedas estables respaldadas por baht y otras monedas estables.La industria.

Golden Morning Post | FATF requiere que las entidades encriptadas cumplan con los mismos requisitos contra el lavado de dinero que las finanzas tradicionales

Titulares ▌Banco Central Mu Changchun: Los billetes en papel, el pago electrónico y el RMB digital coexistirán en un futuro previsible El 20 de marzo, Mu Changchun.

Desde el borde hasta la corriente principal de Coinbase "hacia el círculo"

Aplicación de finanzas nucleares Shenhe Report La cotización de Coinbase es uno de los principales eventos en el campo de los activos cifrados en 2021. El 18 de marzo.

Detalles de Dios V: cómo lograr un consenso tolerante a fallas del 99 %

Hemos estado escuchando durante mucho tiempo que es posible lograr un consenso tolerante a fallas del 50 % en redes síncronas. En una red síncrona.

Un artículo que explica el último progreso de la prueba de conocimiento cero: el algoritmo RedShift redshift

Con el desarrollo tecnológico de la cadena de bloques, la tecnología Zero Knowledge Proof (ZKP, Zero Knowledger Proof) se ha aplicado cada vez más en los campos de la privacidad y la expansión de la Capa 2.

Prototipo de "Lobo de Wall Street" da saltos mortales "Bitcoin puede subir a $ 100,000"

Jordan Belfort, el prototipo protagonista de la película "El lobo de Wall Street", cambió su retórica anterior en una entrevista con la revista "Fortune" recientemente, y "voltea más" sobre Bitcoin.Belfort.

La entrada de capital criptográfico de CoinShares en el primer trimestre de 2021 ha alcanzado los $4200 millones, un nuevo máximo trimestral

Según un informe reciente publicado por la empresa de gestión de activos encriptados CoinShares, aunque todavía queda algo de tiempo antes de que finalice el primer trimestre de 2021.

ads