Resumen de la Actualización de Conflux PoS Hardfork

Manuscrito en chino: Descripción general de la actualización de Hardfork de Conflux PoS

Este documento es una introducción a Conflux PoS Finality sin detalles prácticos. Es para ayudar a los lectores a entender PoS en general, y es esencial para la lectura de otros documentos técnicos.

Puede haber un problema de ataque del 51% en la etapa inicial de una cadena PoW cuando la potencia de hashing es baja. Esto se convirtió en un problema aún más importante cuando surgieron las plataformas de alquiler de hashpower junto con el desarrollo de blockchains públicas. Ethereum Classic, Grin y Verge fueron víctimas del ataque del 51% el año pasado.

Para hacer frente a las amenazas causadas por los ataques del 51%, Conflux introducirá una cadena PoS independiente. Los participantes en el consenso de la cadena PoS firmarán regularmente el pivote de la estructura Tree-Graph. Todos los mineros de PoW deben seleccionar el pivote con suficientes firmas en la cadena de pivote, incluso si sus bloques hermanos tienen pesos más altos. En resumen, la cadena PoS especifica un bloque pivote, y todos los mineros PoW deben seguir ese bloque.

Esto significa que mientras el consenso PoS vote a un bloque pivote, incluso si los atacantes del 51% intentan revertir el bloque, éste no será reconocido por los nodos PoW.

Conflux requiere que el consenso PoS utilice el poder de especificar los bloques pivote de forma restrictiva. Un bloque debe ser confirmado durante unos minutos bajo las reglas PoW antes de que los nodos PoS honestos lo firmen. Esto significa que la ordenación de los bloques y la confirmación del Árbol-Gráfico siguen siendo realizadas por los mineros PoW.

  • La cadena PoS sólo se utiliza para hacer frente al 51% de los ataques. Por lo tanto, sólo incluye funcionalidades básicas como la votación de bloques pivotantes y la elección de comités de votación. No incluye las funcionalidades de las cadenas de bloques generales, como las transacciones y las ejecuciones de contratos.
  • Las características de la cadena PoS son funcionalidades incorporadas en los nodos de Conflux. Externamente, sólo existe un programa: conflux-rust.
  • En este documento, la cadena Conflux se refiere a la blockchain en funcionamiento, y la cadena PoS se refiere a la cadena recién introducida.
  • Se genera aproximadamente 1 bloque PoS por minuto. Todos los tiempos indicados a continuación se corresponden con el número de bloques.

Cuenta PoS

Dirección
En general, el modelo de cuenta en una cadena de bloques es: una clave privada crea una clave pública, y una clave pública produce una dirección. Las cuentas en la cadena PoS son similares, pero hay dos claves privadas llamadas clave privada BLS y clave privada VRF, que corresponden a la clave pública BLS y a la clave pública VRF respectivamente. Las dos claves públicas se combinan para obtener la dirección PoS, que actualmente tiene una longitud de 256 bits.

Wallet

La principal responsabilidad de una cuenta PoS es mantener el protocolo de consenso Conflux. Cada cuenta PoS debe ejecutar un nodo Conflux independiente. Por lo tanto, el código del núcleo de Conflux tiene la funcionalidad de cartera incorporada para las cuentas PoS, incluyendo:

  • Cuando el nodo Conflux se lanza por primera vez y se ejecuta en el modo de cuenta PoS, generará automáticamente la clave privada PoS y requerirá que los usuarios proporcionen la contraseña. La clave privada encriptada por la contraseña suministrada se almacena localmente.
  • Cuando el nodo Conflux se reinicia, se requiere que el usuario introduzca la contraseña para desbloquear el archivo de clave privada si se detecta el archivo de clave privada encriptado.
  • Las transacciones se procesan automáticamente bajo el protocolo de consenso de PoS durante la operación, sin intervención del usuario.

Dado que el monedero es implementado por un nodo completo, la interacción con el monedero es primitiva, lo que puede implicar la copia manual de archivos, etc.

Convertirse en un nodo de consenso

Después de crear una cuenta PoS, sólo puede convertirse en un nodo de consenso legal mediante el staking y el registro en la cadena PoW.

  • Apuesta: no hay diferencia con el proceso de apuesta actual.
  • Registro: interactuar con un contacto interno específico en la cadena Conflux; presentar la información relevante proporcionada por el nodo completo; bloquear la cantidad apostada, un voto por cada 1000 CFX bloqueados.

Después de completar el registro, la cuenta PoW que ha apostado y la cuenta PoS forman una relación vinculante de uno a uno. La cuenta PoS no puede cambiar su cuenta PoW vinculada. La cuenta PoW puede vincularse a otra cuenta PoS siempre que libere la relación vinculante anterior.

Participar en el Consenso PoS

Obtener derechos de voto

Las cuentas del PoS pueden obtener derechos de voto bloqueando el CFX. (consulte el capítulo “Conviértase en un nodo de consenso”)

  • Conflux-rust controlará automáticamente la información de registro. Por lo tanto, después de que la cuenta PoS esté registrada, realizará las operaciones correspondientes sin la intervención del usuario.
  • Los usuarios pueden bloquear más tokens CFX en la cadena Conflux en cualquier momento para obtener más derechos de voto.
  • Después de bloquear el token, se tarda unos 10 minutos en sincronizar el estado de la cadena Conflux con la cadena PoS. El usuario obtendrá los derechos de voto después de la sincronización.

Retirar los derechos de voto
La cuenta PoS puede retirar los derechos de voto y desbloquear CFX.

  1. Los usuarios deben utilizar la cuenta PoW vinculada para enviar transacciones en la cadena Conflux para solicitar el desbloqueo de tokens (denominado “retiro” en el código). Los usuarios pueden desbloquear cualquier número de fichas bloqueadas.
  2. Los usuarios pueden solicitar el desbloqueo en cualquier momento. Una vez solicitado el desbloqueo, los derechos de voto correspondientes quedarán invalidados inmediatamente. Sin embargo, los tokens se desbloquearán sólo cuando se cumplan las siguientes condiciones:
    Las fichas han estado bloqueadas durante al menos 14 días.
    La solicitud de desbloqueo ha pasado por 7 días.
  3. Si hay varias transacciones que bloquean fichas, se desbloquearán en orden cronológico hasta que se cumpla la cantidad de desbloqueo requerida.

Ejemplo
Supongamos que el usuario A bloquea 2000 CFX el 1, 3 y 5 de enero, respectivamente, y solicita el desbloqueo de 3000 CFX el 9 de enero.

  • Los 2000 CFX bloqueados el 1 de enero se desbloquearán primero.
    El requisito de 14 días para el bloqueo: 1 de enero + 14 días = 15 de enero.
    Requisito de 7 días después de la solicitud de desbloqueo: 9 de enero + 7 días = 16 de enero.
    Por lo tanto, habrá 2000 CFX desbloqueados el 16 de enero.

  • Después, se desbloquearán 1000 CFX el 3 de enero.
    Requisito de 14 días para el bloqueo: 3 de enero + 14 días = 17 de enero.
    Requisito de 7 días después de la solicitud de desbloqueo: 9 de enero + 7 días = 16 de enero.
    Por lo tanto, habrá 1000 CFX desbloqueados el 17 de enero, lo que satisfará la cantidad solicitada de desbloqueo, 3000.

Al final, el usuario se queda con 1000 CFX bloqueados el 3 de enero y 2000 CFX bloqueados el 5 de enero.

El trabajo del Consenso PoS
El siguiente contenido es sobre lo que el nodo PoS hace automáticamente, para su información.

Comité de candidatos

  • La cuenta del PdS se unirá a la elección de un comité de hasta 300 puestos a través del VRF.
  • El comité se compone de 6 grupos de miembros, cada uno con 50 puestos.
  • Cada hora, uno de los 6 grupos que más tiempo ha servido se retirará, y un nuevo grupo le sucederá.
  • La elección comienza con 1,5 horas de antelación y termina con media hora de antelación.
  • El voto de cada cuenta de PdS se considera como un candidato independiente en el momento de la elección. Si una cuenta de PdS tiene 10 votos, se considerará como 10 candidatos diferentes que participan en la elección. Si 2 votos de esta cuenta han sido elegidos, ocupará 2 puestos en este comité, y los 8 votos restantes podrán participar en la siguiente elección.
  • La cuenta PoS presenta el resultado del VRF durante el periodo de elección. El valor hash se calcula en base al resultado, y los 50 votos con el menor valor hash serán seleccionados.
  • Por ejemplo, si el resultado del VRF es x, y la cuenta PoS tiene 5 votos, entonces el valor hash es hash(x, 0) ~ hash(x, 4).

Como miembro
Los miembros del comité participarán en el consenso del PdS y votarán el bloque pivote de la cadena Conflux.

Plan de incentivos

Se cancelará el interés de las apuestas existentes para Conflux.

  • Después de que la cuenta PoS participe en la elección o se convierta en miembro del comité, se concederán puntos en función de las diferentes acciones que realice. El total de puntos es de 6.000.000.
  • Los puntos se liquidan cuando cambia el comité (cada 60 bloques). Los intereses generados por la cadena Conflux durante este periodo se dividirán en 6.000.000 de acciones de forma equitativa. Los intereses se distribuirán entre las cuentas PoW que estén vinculadas a las cuentas PoS en función de los puntos que tengan.
  • Los puntos producidos por una comisión pueden ser inferiores a 6.000.000. Los intereses que no se distribuyan se quemarán.

Composición de los puntos

  • Los 10000 votos que participen en la elección y tengan el menor valor de hash obtienen 120 puntos cada uno, formando un total de 1,2M de puntos.
  • Se concederán 15.000 puntos a las cuentas de PdS por cada voto elegido. Habrá un total de 4,5M de puntos para 300 votos del comité.
  • Ser el líder de un bloque de PdS supondrá 3.000 puntos. Hay 60 bloques para un total de 180.000 puntos.
  • Cada bloque de PdS requiere 201 de 300 firmas, pero el líder puede reunir más de 200 firmas. A partir de la firma número 200, cada firma adicional recibirá 20 puntos hasta los 2.000 puntos. Hay 60 bloques para un máximo de 120.000 puntos.

Intereses acumulados

  • Como la cantidad de apuestas y la emisión total de CFX están cambiando, el interés generado por cada bloque de la cadena Conflux también está cambiando. El interés generado por cada bloque de la cadena Conflux es: sqrt(cantidad total de staking * emisión total de CFX) * 4% / número de bloques por año.
  • No se acumularán intereses si la comisión PoS no ha sido modificada después de 7.200 bloques consecutivos en la cadena Conflux. La acumulación de intereses se reanudará sólo después de que se distribuyan los intereses actuales. Esto es para evitar que los nodos PoS ralenticen deliberadamente el consenso para obtener más intereses.

Recordatorio de riesgo

Pérdida de capital
Si una cuenta PoS firma dos bloques PoS diferentes con la misma altura, sus tokens CFX serán bloqueados permanentemente. Esta situación puede ocurrir cuando:

  • la cuenta ataca el protocolo de consenso modificando el nodo Conflux;
  • se utiliza la misma cuenta PoS en múltiples nodos Conflux. (Esto hará que la misma cuenta realice operaciones conflictivas, lo que se considera un ataque al protocolo de consenso).
  • la pérdida de archivos de claves privadas PoS.

Riesgo de liquidez

  • Todos los votos bloqueados se desbloquearán automáticamente si un candidato es elegido para formar parte del comité pero no participa en la firma entre dos elecciones. Todos los nuevos votos bloqueados se desbloquearán automáticamente también en los próximos 7 días

.
Pérdida de ingresos

  • Si el nodo vinculado a la cuenta PoS no se lanza con éxito, es posible que no haya ganancias.