Artículo del Blog
Autor
Stellar Development Foundation
Fecha de publicación
Protocolo de concenso Stellar
Prueba de acuerdo
Hoy, como parte de la misión de Stellar.org de expandir el acceso financiero, presentamos nuestro primer libro blanco y nueva base de código open-source para un protocolo de pago descentralizado a nivel mundial.
El documento del Prof. David Mazières, Científico Jefe en Stellar.org, presenta el Stellar Consensus Protocol (SCP), una construcción para el acuerdo bizantino federado (FBA). SCP proporciona una manera de alcanzar consenso sin depender de un sistema cerrado para registrar transacciones financieras de manera precisa. SCP es el primer mecanismo de consenso demostrablemente seguro que disfruta simultáneamente de cuatro propiedades clave: control descentralizado, baja latencia, confianza flexible y seguridad asintótica.
SCP está inspirado en Bitcoin—hemos tomado nuestras lecciones del espacio y añadido la capacidad de tolerar actores no racionales en un entorno con baja potencia de cómputo.
Este protocolo es la base de la infraestructura pública para el dinero, haciendo de Stellar un lienzo en blanco para que las personas diseñen servicios financieros que se ajusten a sus vidas.
Nuestro objetivo es que SCP marque una diferencia profunda en la inclusión financiera. Más allá de nuestro trabajo en Stellar, sin embargo, esperamos que SCP sea una contribución significativa al espacio de sistemas distribuidos. Para obtener una comprensión del consenso, lee un resumen del libro blanco y explora otros recursos en nuestro nuevo Galaxia Stellar.
SCP es la primera construcción demostrablemente segura para FBA. A diferencia de la mayoría de los enfoques existentes para el consenso, disfruta de cuatro propiedades clave:
Como protocolo FBA, SCP garantiza seguridad frente a comportamientos no racionales y solo requiere recursos de cómputo modestos, reduciendo la barrera de entrada.
La confianza flexible significa que los usuarios tienen la libertad de confiar en cualquier combinación de partes que consideren adecuadas. Con seguridad asintótica, la seguridad se basa en firmas digitales y familias de hash cuyos parámetros pueden ajustarse de manera realista para proteger contra adversarios con vasto poder de cómputo. Para ilustrar, imagina una contraseña que puede aumentar en longitud de caracteres a medida que aumenta el poder computacional del atacante.
Creamos una base de código completamente nueva diseñada con seguridad, minimalismo, escalabilidad, interoperabilidad y múltiples implementaciones en mente. El servidor central de consenso es lo más simple y económico posible.
Los datos en vivo se almacenan en bases de datos SQL estándar y se sirven a los clientes desde servidores web externos que leen esas bases de datos. Los datos criptográficos a largo plazo se escriben en servicios de almacenamiento público de mercancía como archivos planos en formato binario XDR estándar, y pueden descargarse o duplicarse libremente. Las transacciones son ahora colecciones de operaciones simples que pueden componerse de varias maneras, admitiendo multisig y otros arreglos innovadores.
La intención es impulsar la innovación en los bordes. Queremos que las comunidades locales tengan la infraestructura que necesitan para construir los productos que funcionen para ellos.
Explora recursos para todos los niveles técnicos en nuestra nueva Galaxia Stellar.
Principiante: Si eres nuevo en consenso o simplemente quieres verlo de una manera completamente nueva, navega por el primer capítulo de nuestra novela gráfica.
Intermedio: Lee un corto resumen técnico del libro blanco y crea una cuenta de prueba con nuestro tutorial para desarrolladores.
Avanzado: Explora el código y lee el libro blanco.
Todos los niveles: Haznos preguntas e interactúa con otros en la red de Stellar en nuestro canal público de Slack.
Las características clave incluyen centralización y tolerancia de comportamientos arbitrarios.
El enfoque del acuerdo bizantino es garantizar el consenso distribuido a pesar del fallo bizantino. El “fallo bizantino” describe comportamientos arbitrarios, incluyendo comportamientos no racionales.
El acuerdo bizantino no federado requiere un acuerdo unánime sobre la membresía del sistema por parte de todos los participantes—es un sistema centralizado. Cada nodo en la red debe ser conocido y verificado de antemano.
Bitcoin asume que actores racionales controlan la mayoría del poder computacional y motiva a los posibles atacantes a obedecer el protocolo a través de la distribución de monedas. El acuerdo bizantino resiste a atacantes externos con vasto poder computacional pero tiene membresía cerrada.
Las características clave incluyen descentralización y tolerancia de comportamientos arbitrarios.
FBA trae membresía abierta y control descentralizado al acuerdo bizantino. Cualquiera puede unirse. FBA determina quórumes, o grupos de nodos suficientes para alcanzar un acuerdo, de manera distribuida. Cada nodo decide en quién confiar. Diferentes nodos no necesitan confiar en la misma combinación de participantes de confianza para alcanzar consenso.
Un conjunto de nodos disfruta de seguridad si cada nodo se compromete con el mismo valor para el mismo espacio. Por ejemplo, si yo digo que x es el valor para el espacio 5, y tú dices que y es el valor para el espacio 5, y x ≠ y, entonces no tenemos seguridad.
¡Seguridad primero! Garantizar seguridad significa que incluso cuando los nodos fallan o se comportan mal, el sistema evitará que los nodos se comprometan con valores conflictivos para el mismo espacio.
SCP garantiza que mientras los nodos mantengan reglas simples al elegir a quién confiar, el sistema los protegerá de fallos bizantinos en la mayor medida matemáticamente posible.
Para maximizar la resiliencia de la red SCP, los nuevos nodos deberían establecer conexiones que maximicen la interconectividad de la red. Con un alto nivel de interconectividad, un atacante tendría que comprometer un número irrealista de nodos para romper la propiedad de intersección de quórum subyacente a la garantía de seguridad de SCP.
Además, SCP garantiza que la seguridad de los nodos más establecidos no se ve afectada por las elecciones hechas por nodos no establecidos.
Aún no. Queríamos abrir el código para revisión por pares y pruebas adicionales antes de mover la red en vivo. Puedes experimentar e interactuar con nuestro testnet o iniciar el tuyo propio. Inscríbete en nuestro boletín para desarrolladores para ser el primero en saber cuando el nuevo sistema esté en vivo.
Durante la próxima semana, alentamos a las personas a enviar comentarios sobre el libro blanco a [email protected]. Publicaremos una versión actualizada pronto basada en los comentarios que recibamos.
Graydon Hoare, un desarrollador de Stellar Core, dio a este proyecto el nombre de código Hayashi después de la pista Hayashi, que describe la trayectoria de evolución estelar del nacimiento de una estrella pequeña. Queríamos conmemorar este nombre de código previo al lanzamiento en nuestra novela gráfica.
Explora más en Galaxia Stellar.