OPERA: Enabling Inter-node Concurrency in Byzantine Fault Tolerant Blockchains
Este artículo presenta OPERA, un modelo de ejecución tolerante a fallas bizantinas que extiende la concurrencia entre nodos mediante la replicación parcial y el paralelismo entre nodos, reduciendo significativamente los costos de ejecución y aumentando el rendimiento en blockchains sin comprometer la seguridad o la semántica de la aplicación.
Artículo original bajo licencia CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina un mundo donde millones de personas intentan mantener un diario compartido gigante perfectamente sincronizado. Este no es un diario cualquiera; es un libro de contabilidad digital que registra todo, desde quién posee un gato digital hasta quién envió dinero a quién. ¿El problema? Todos tienen que estar de acuerdo en cada una de las entradas, y algunas personas en el grupo podrían ser mentirosos malintencionados tratando de engañar al sistema. Este es el salvaje mundo de la blockchain, la tecnología detrás de las criptomonedas y las aplicaciones descentralizadas.
Durante mucho tiempo, estos diarios digitales tuvieron un gran atasco de tráfico. Para mantener a todos honestos, cada una de las personas del grupo tenía que leer la página entera del diario, revisar cada palabra y escribirla ellos mismos, uno por uno. Era como un salón de clases donde cada estudiante tenía que resolver cada problema matemático en la pizarra, incluso si solo se le había asignado uno. Esto hacía que el sistema fuera lento y costoso, especialmente a medida que se unía más gente. Los científicos llaman a esto "Tolerancia a Fallas Bizantinas", una forma elegante de decir que el sistema se mantiene seguro incluso si algunos miembros están intentando hacer trampa. La gran pregunta que los investigadores se han estado haciendo es: ¿Podemos hacer que este grupo trabaje más rápido sin dejar que los tramposos arruinen la fiesta?
Entra OPERA, una nueva idea de investigadores de la Universidad de Hanyang que intenta solucionar este atasco permitiendo que los estudiantes repartan el trabajo. En lugar de que todos lean la página completa, OPERA asigna diferentes partes de la página a diferentes estudiantes. Es como un gran banquete de contribución donde cada uno trae un plato diferente, pero todos prueban la comida de los demás para asegurarse de que nadie sirvió una manzana envenenada. Los investigadores construyeron un sistema llamado OPERA-PBFT para probar esto. Descubrieron que, al permitir que los nodos (las computadoras que ejecutan la blockchain) solo ejecuten una pequeña porción de las transacciones y luego verifiquen el trabajo de los demás, podían hacer que el sistema fuera mucho más rápido. En sus pruebas, este nuevo método manejó más de 33,787 transacciones por segundo, lo que es aproximadamente 2.4 veces más rápido que algunos de los sistemas más rápidos existentes como Aptos. Incluso cuando el trabajo se volvió desordenado y caótico, con muchas transacciones peleando por los mismos datos, OPERA solo se ralentizó un pequeño 7%, mientras que otros sistemas colapsaron o se ralentizaron drásticamente.
El Problema: El cuello de botella del "Todos hacen todo"
Piensa en una blockchain tradicional como una biblioteca súper estricta. Cuando llega un libro nuevo (un bloque de transacciones), cada uno de los bibliotecarios (nodos) en el edificio tiene que leer el libro entero de principio a fin, verificar cada dato y escribirlo en su propia copia personal. Incluso si la biblioteca tiene 100 bibliotecarios, la velocidad de toda la biblioteca está limitada por el bibliotecario más lento. Si un bibliotecario es lento o se distrae, toda la fila se detiene. Esto se llama "replicación completa". Es seguro porque todos revisan todo, pero es increíblemente un desperdicio. Es como tener 100 chefs en una cocina, y cada uno de los chefs tiene que cocinar toda la cena de 10 tiempos, aunque solo necesite probar un plato para saber si está bueno.
La Solución: El "Banquete Especializado"
Los autores de este artículo, Sungwook Chung y su equipo, se hicieron una pregunta simple: ¿Qué pasaría si no obligáramos a todos a cocinar toda la comida?
Propusieron OPERA, una nueva forma de ejecutar la blockchain que utiliza la replicación parcial. Imagina la misma cocina, pero esta vez el chef principal (el líder) reparte un menú. En lugar de que cada chef cocine la cena completa de 10 tiempos, el Chef A solo cocina los aperitivos, el Chef B solo la sopa y el Chef C solo el postre.
Pero aquí está la parte difícil: ¿Qué pasa si el Chef A es un mentiroso y sirve una ensalada podrida? En el sistema antiguo, todos la detectarían porque todos probaron de todo. En OPERA, dado que el Chef B y el Chef C no tocaron la ensalada, ¿cómo saben que es segura?
OPERA resuelve esto con una danza inteligente de dos pasos:
- La asignación de "Confiar pero Verificar": Cada transacción (plato) se asigna a un pequeño grupo de chefs (nodos) para cocinarla. Específicamente, se le entrega a f + 1 chefs principales y f - k chefs de respaldo. El número f representa el máximo de mentirosos que el sistema puede manejar. Si el sistema puede manejar 2 mentirosos, entonces al menos 3 chefs deben cocinar y estar de acuerdo con el resultado.
- El Certificado de "Prueba de Sabor": Una vez que los chefs principales han terminado, no solo dicen "Está listo". Entregan un conjunto de lectura/escritura (read/write set). Piensa en esto como un recibo que dice: "Leí estos ingredientes y cambié estos sabores". Los otros chefs revisan estos recibos. Si f + 1 chefs (el número mínimo necesario para ganar la votación a los mentirosos) entregan el exactamente mismo recibo, el sistema confía en que el plato es seguro.
Si un chef principal es un mentiroso o desaparece (una "falla bizantina"), los chefs de respaldo intervienen para cocinar el plato y generar sus propios recibos. Una vez que se recolectan suficientes recibos coincidentes, el plato se considera "verificado".
La Danza del "Conflicto": Cuando los platos colisionan
A veces, dos platos diferentes necesitan usar el mismo ingrediente. Por ejemplo, dos transacciones podrían intentar gastar dinero de la misma billetera al mismo tiempo. En el antiguo sistema de "todos cocinan todo", los chefs simplemente se turnarían. En OPERA, dado que diferentes chefs están cocinando diferentes partes, podrían accidentalmente intentar usar el mismo ingrediente simultáneamente.
Para solucionar esto, OPERA utiliza una técnica llamada Re-ejecución Determinista de Resolución de Conflictos (CRDR). Es como un árbitro que observa la cocina.
- Primero, el sistema revisa todos los recibos para ver qué platos chocan.
- Agrupa los platos que no chocan y permite que se sirvan inmediatamente.
- Para los platos que chocan, el sistema los ejecuta de nuevo, uno por uno, en un orden específico, para asegurar que el resultado final sea perfecto.
Esto garantiza que, aunque el trabajo se dividió, el resultado final sea exactamente el mismo que si una sola persona lo hubiera hecho todo sola. Garantiza que el "diario" permanezca consistente y que nadie pueda hacer trampa.
Los Resultados: Acelerando la fiesta
Los investigadores probaron su idea construyendo OPERA-PBFT, una versión de la blockchain que utiliza este nuevo método de división de trabajo. Realizaron simulaciones con diferentes números de computadoras y diferentes tipos de cargas de trabajo.
- La Gran Victoria: En sus pruebas, OPERA-PBFT alcanzó una velocidad de 33,787 transacciones por segundo (TPS). Esto es 2.4 veces más rápido que Aptos, uno de los líderes actuales en velocidad.
- La Prueba "Desordenada": También probaron qué sucede cuando el trabajo se vuelve caótico (llamado "cargas de trabajo sesgadas"), donde muchas transacciones pelean por los mismos datos. La mayoría de los sistemas se ralentizan drásticamente en este escenario. OPERA-PBFT solo se ralentizó un 7%, mientras que otros sistemas como Aptos se ralentizaron un 77%.
- El Costo: También midieron cuánto "trabajo" hacía el sistema. En un sistema tradicional, cada computadora hace cada tarea. En OPERA, el trabajo total se redujo hasta en un 44%. Esto significa que el sistema no solo es más rápido, sino también más eficiente, utilizando menos energía y potencia de cómputo.
Por qué esto importa
El artículo sugiere que no tenemos que elegir entre seguridad y velocidad. Durante mucho tiempo, la gente pensó que para mantener una blockchain segura frente a los mentirosos, todos tenían que hacer todo. OPERA demuestra que puedes dividir el trabajo, dejar que diferentes computadoras manejen diferentes partes y aun así mantener el sistema seguro y rápido.
Es como darse cuenta de que una gran orquesta no necesita que cada músico toque todos los instrumentos para hacer música hermosa. Si el director (el protocolo) asigna las partes correctas a los jugadores adecuados y se asegura de que se escuchen entre sí, la música puede tocarse más rápida y fuerte que nunca. Los investigadores descubrieron que este enfoque funciona incluso cuando algunos jugadores intentan tocar las notas incorrectas, demostando que una blockchain puede ser al mismo tiempo una bóveda súper segura y una autopista de alta velocidad.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.