Login     Sign Up
Jose Forero (@jforer)
5 months ago
92 Views

Actualización de Nimiq Proof-of-Stake

Con el fin de mantener a la comunidad de Nimiq actualizada sobre el progreso continuo con respecto a Nimiq Proof-of-Stake, primero queremos tomarnos un tiempo para profundizar en los diversos componentes de Nimiq Blockchain, arrojando luz sobre sus funcionalidades. A través de esta actualización, esperamos ofrecer una imagen más clara de nuestra etapa actual de desarrollo.

POR EL EQUIPO NIMIQ

7 MINUTOS

La red de prueba Nimiq Proof-of-Stake fue presentado en el primer trimestre de este año. Esta versión señala la implementación de todas las características principales y el funcionamiento estable de la red en condiciones favorables. Actualmente, nos estamos enfocando en manejar condiciones inesperadas y promover los esfuerzos de seguridad y optimización.

Nimiq Proof-of-Stake continúa evolucionando hacia su lanzamiento público; Para actualizarlo mejor sobre este intrincado tema, primero nos gustaría examinar sus principales componentes básicos y su estado actual.

Validadores y stakers

Los validadores son los productores de bloques de prueba de participación. Un validador señala su voluntad de participar en la producción de bloques asignando una parte de sus fondos como participación. Cuanto mayor sea su apuesta total, mayor será la probabilidad de ser elegido. Del mismo modo, cuanto mayor sea la apuesta, mayor será el número de ranuras asignadas al validador.

Se utiliza un conjunto de ranuras para determinar los productores de bloques. Se asignan a un validador en función de su participación. En cada bloque, se elige al azar una ranura para producir el siguiente bloque, y el validador asignado a ella procede a producirla. Las ranuras también se utilizan para emitir votos para macrobloques y saltar bloques, que se explorarán más adelante.

Un participante que no tenga los recursos o los conocimientos necesarios para convertirse en validador puede inscribirse como staker. Un staker delega sus fondos a un validador, que produce y valida bloques en su nombre. Si bien los stakers no necesitan estar en línea para recibir recompensas, están sujetos a castigo si su validador se comporta mal y no pueden retirar su apuesta hasta que su validador complete el período de castigo. Pero incluso en tal situación, los stakers no pierden su participación. Además, los validadores realizan el pago de la recompensa a sus stakers fuera de la cadena.

Descripción general de Blockchain

La cadena de bloques Nimiq PoS está estructurada en varios subconjuntos de bloques llamados épocas y lotes. Una época consta de varios lotes. Una época siempre termina con un macrobloque electoral que se cierra. Mientras que, durante una época, el conjunto de validadores permanece constante, el macrobloque de elección selecciona un nuevo conjunto de validadores elegidos para la siguiente época. Los lotes constan de microbloques y un bloque de macros de punto de control de cierre, como en la siguiente imagen.

null

Analicemos ambos con más detalle.

Micro bloques

Los microbloques son producidos por un validador seleccionado y son los bloques que contienen transacciones generadas por el usuario. Si un validador no produce un microbloque en el tiempo esperado, la lista de validadores se excede y crea un bloque de omisión en lugar del microbloque esperado. A diferencia de un microbloque normal, un bloque de omisión no incluye transacciones y está firmado por más de dos tercios de los validadores de la época actual. Este bloque reemplaza al microbloque, por lo que "se salta" más allá de él.

Bloques de macros

Una vez que se ha producido una cantidad determinada de microbloques, se agrega un bloque de macros para finalizar el lote. Un líder seleccionado al azar propone macrobloques, y el resto de la lista de validadores vota sobre la propuesta bajo un proceso de votación de dos pasos. El bloque de macros se agrega a la cadena tras un acuerdo de más de dos tercios del conjunto de validadores. Los validadores no pueden dividir sus votos por lo que votan siempre con todas sus franjas horarias, teniendo mayor poder de voto en el caso de tener un gran número de plazas.

Hay dos tipos de macrobloques: los bloques de elección proporcionan finalidad periódica y renuevan el conjunto de validadores para la próxima época, y los bloques de puntos de control proporcionan finalidad pero conservan el conjunto de validadores.

¿Cómo lidiamos con el comportamiento malicioso?

Los validadores son recompensados por participar en la producción de bloques y penalizados si no contribuyen de acuerdo con el consenso. Las sanciones se distinguen en función de la gravedad de la infracción.

En el caso de infracciones menores, como retrasar la producción de bloques, la ranura responsable se desactiva y sus recompensas se queman. Por otro lado, las ofensas más graves incurren en el bloqueo del validador, incluidas todas sus ranuras, en lo que se conoce como un estado carcelario, donde permanecen durante una cantidad significativa de tiempo. Durante este período, el validador no puede ser reelegido y todas sus recompensas se queman.

Impacto en los stakers

El período de cárcel también afecta a los stakers de los validadores, ya que el período de bloqueo de la participación del staker coincide con el período de bloqueo del validador. Una vez que se libera el validador, los stakers pueden mantener su participación junto con su validador u optar por eliminarla una vez que finalice el período de cárcel si su participación permanece inactiva.

Cuentas y transacciones

Hay cuatro tipos de cuentas distintas: cuentas básicas, contratos de adquisición de derechos, contratos HTLC y el contrato de participación singular. El árbol de cuentas aloja todas las cuentas y contratos, documentando sus saldos y, en su caso, datos adicionales específicos del contrato.

Para los usuarios habituales (no validadores), las transacciones son su única forma de interactuar con la cadena de bloques. Por lo tanto, las transacciones se utilizan no solo para la transferencia regular de valor, sino también para funciones nativas como la firma de HTLC (para Atomic Swaps), la creación y el canje de contratos de Vesting, la iniciación de stakers y más.

Tipos de nodos

Los participantes pueden participar en la red Nimiq Proof-of-Stake a través de varios tipos de nodos, cada uno de los cuales cuenta con diferentes características y requisitos de recursos:

Nodos de historial: Estos nodos poseen un conocimiento completo del historial de transacciones. En Nimiq Proof-of-Work, este tipo de nodo se denominaba "nodo completo", y aunque el nombre ha cambiado en el protocolo Proof-of-Stake, sigue actuando como guardián de todo el historial de transacciones.

Nodos completos: Estos nodos mantienen la información esencial necesaria para la validación y producción de bloques. En la transición de Nimiq PoW a Nimiq PoS, lo que antes se conocía como un "nodo ligero" ha sido renombrado a "nodo completo", pero conserva su función principal de mantener toda la información vital de la cadena de bloques.

Nodos de luz: Los nodos ligeros se sincronizan rápidamente con la cadena de bloques, ya que solo solicitan detalles relevantes para sus cuentas. Si bien los navegadores son las plataformas típicas para los nodos ligeros, los servidores también pueden funcionar como tales. Anteriormente, en Nimiq Proof-of-Work, este tipo de nodo se etiquetaba como "Nano nodo".

Nodos del explorador

Utilizando la misma base de código de Rust que el cliente estándar, el cliente web de Nimiq se sincroniza rápidamente y sirve como un nodo de red capaz de transmitir directamente transacciones y obtener datos verificados de la cadena de bloques.

Implementación de Nimiq Zero Knowledge Proof

La implementación de Nimiq Proof-of-Stake utiliza pruebas de conocimiento cero (ZKP) recursivas para mantener un tamaño de datos constante para la sincronización de blockchain, mejorando así la velocidad y la eficiencia. Si desea obtener más información sobre los ZKP, puede leer la serie de publicaciones de blog que escribimos sobre este tema: Introducción a las Pruebas de Conocimiento Cero Parte 1 y Parte 2.

En general, las pruebas de conocimiento cero son un concepto que permite a una parte (el probador) demostrar a otra parte (el verificador) que una declaración es verdadera sin revelar ninguna información más allá de la declaración en sí. En otras palabras, es un método para probar algo sin revelar el secreto real. Los ZKP recursivos mejoran la eficiencia y la escalabilidad al dividir las pruebas en subpruebas más pequeñas.

El sistema de prueba que utiliza Nimiq se basa en zk-SNARKs. SNARK es un acrónimo de 'argumento sucinto no interactivo del conocimiento', y un SNARK recursivo es una prueba que verifica otro SNARK a su vez. Los SNARK son una forma de prueba de conocimiento cero que no requiere interacción entre las partes involucradas. Son concisas, lo que significa que el verificador puede comprobar rápidamente una prueba con una solicitud directa al probador.

La cadena de bloques de Nimiq incluye un nodo especial responsable de generar estas pruebas: el nodo de prueba. Si bien la verificación de ZKP se puede realizar rápidamente, generarlas requiere muchos recursos y una gran potencia computacional. Los nodos completos o de historial pueden facilitar este esfuerzo habilitando la función de nodo de prueba en su configuración.

Con la incorporación de esta tecnología, Nimiq ahora puede sincronizar la cadena de bloques sin necesidad de descargar toda la cadena de bloques. Esta sincronización es posible ya que el estado actual de la cadena de bloques se puede validar demostrando que los validadores han producido los bloques de acuerdo con las reglas de consenso. Además, este enfoque reduce significativamente la cantidad de espacio de almacenamiento requerido en el dispositivo del usuario, un factor particularmente crucial para los dispositivos móviles. Esta mejora es un importante paso adelante en la experiencia del usuario, haciendo que la plataforma Nimiq sea más fácil y rápida de usar.

Los ZKP de Nimiq permiten a los usuarios sincronizarse con el último bloque electoral. Un ZKP tiene un tamaño aproximado de 1 kilobyte y su proceso de verificación tarda unos 600 ms en un navegador moderno. Por otro lado, el proceso de creación de una prueba, o demostración, requiere más tiempo. Actualmente, se tarda unas 6 horas en generar un ZKP para una nueva época. Estas pruebas son formuladas y proporcionadas por nodos de prueba dentro de la red.

Perspectivas hasta la red principal

La red de prueba brinda a la comunidad la oportunidad de explorar la funcionalidad de Nimiq Proof-of-Stake en una cadena que opera continuamente. A medida que los desarrolladores de la comunidad basan sus proyectos en el código actual y la nueva red, invitamos a todos a llevar la red al límite e identificar posibles vulnerabilidades de seguridad. El equipo Nimiq está dedicando tiempo y recursos para fortalecer el protocolo y la implementación, el El programa público de recompensas por errores de ZKP está actualmente abierto para envíos y abriremos el alcance para incluir una sección más amplia de la base de código en breve. Nuestro objetivo es presentar una red Blockchain que sea candidata a la versión de la red principal después de pruebas exhaustivas.

Agradecemos su continuo apoyo y participación en este viaje. Estén atentos a nuestro Canales de redes sociales para obtener más actualizaciones emocionantes en camino.

Pura Vida,

Equipo Nimiq

Renuncia

Ninguna de las declaraciones debe verse como un respaldo o recomendación para Nimiq, cualquier criptomoneda, o producto de inversión. Ni la información ni ninguna opinión contenida en este documento constituye una solicitud u oferta por parte de los creadores o participantes para comprar o vender valores u otros instrumentos financieros o proporcionar cualquier asesoramiento o servicio de inversión. Todas las declaraciones contenidas en las declaraciones hechas en las páginas web, blogs, redes sociales de Nimiq medios de comunicación, comunicados de prensa, o en cualquier lugar accesible al público, y declaraciones orales que puedan ser hechas por Nimiq o Los Asociados de Proyecto que no son declaraciones de hechos históricos, constituyen "declaraciones prospectivas". Estos Las declaraciones prospectivas implican riesgos conocidos y desconocidos, incertidumbres y otros factores que pueden causar la que los resultados, el rendimiento o los logros futuros reales sean materialmente diferentes de cualquier resultado futuro, rendimiento o logros esperados, expresados o implícitos en dichas declaraciones prospectivas.

Nimiq – Nimiq Proof-of-Stake Update