Consenso

El algoritmo de consenso es el m茅todo din谩mico a trav茅s del cual los nodos en un sistema de blockchain llegan a un acuerdo y toman decisiones.

Bitxor utiliza un mecanismo innovador llamado Proof-of-Stake Plus (PoS+), una versi贸n modificada del popular consenso Proof-of-Stake (PoS).

En un algoritmo b谩sico de consenso PoS, la formaci贸n de un nuevo bloque en la cadena de bloques se asigna de forma estoc谩stica a un nodo en funci贸n de una combinaci贸n de factores relacionados exclusivamente con la riqueza del propietario del nodo.

El mecanismo PoS+ tambi茅n tiene en cuenta las participaciones de la cuenta, pero tambi茅n promueve la salud del ecosistema al recompensar a los participantes en funci贸n de su actividad.

Factores

El algoritmo considera los siguientes factores al calcular la importancia de una cuenta, la medida que se utilizar谩 para elegir el siguiente nodo de cosecha:

  • Participaci贸n: La cantidad total de tokens de cosecha que se poseen, ya que los propietarios con saldos m谩s grandes tienen el incentivo de ver florecer el ecosistema. Solo las cuentas que tienen m谩s de 10,000 tokens de cosecha (cuentas de alto valor) son elegibles para la cosecha.

  • Transacciones: La cantidad total de comisiones pagadas por una cuenta. Esto fomenta ser una cuenta activa en la red.

  • Nodos: El n煤mero de veces que una cuenta ha sido el beneficiario de las comisiones recolectadas por un nodo. De esta manera, la red incentiva a las cuentas que ejecutan nodos.

Peri贸dicamente, se calcula una puntuaci贸n de importancia basada en estos tres factores para todas las cuentas de alto valor. La puntuaci贸n de importancia determina la probabilidad de que una cuenta coseche el pr贸ximo bloque.

Puntuaciones parciales

La red calcula primero las siguientes puntuaciones parciales para todas las cuentas de alto valor al final de cada per铆odo de importancia (720 bloques, aproximadamente 6 horas. Consulta importanceGrouping en Configuraci贸n de la red):

  • Puntuaci贸n de participaci贸n (\(S\)): Saldo de la cuenta dividido por el saldo de todas las cuentas de alto valor al final del per铆odo.

  • Puntuaci贸n de transacciones (\(T\)): Cantidad total de comisiones pagadas por la cuenta dividida por la cantidad total de comisiones pagadas por todas las cuentas de alto valor durante el per铆odo.

  • Puntuaci贸n de nodos (\(N\)): N煤mero de veces que la cuenta ha sido el beneficiario de una comisi贸n de un nodo dividido por el n煤mero de veces que todas las cuentas de alto valor han sido el beneficiario de una comisi贸n de un nodo durante el per铆odo.

  • Puntuaci贸n de actividad (\(A\)): Promedio de las puntuaciones de \(T\) y \(N\) ponderado en un 80% y 20% respectivamente, dividido por el saldo de la cuenta. Dividir por el saldo de la cuenta da un impulso a las cuentas peque帽as, ya que su puntuaci贸n de importancia depender谩 m谩s de su actividad y menos de su participaci贸n.

    Primero se calcula una puntuaci贸n de actividad absoluta (\(A'\)):

    \[A' = \frac{10000}{Saldo}(0.8T+0.2N)\]

    Y la puntuaci贸n de actividad real (\(A\)) se calcula dividiendo \(A'\) entre la suma de las puntuaciones de actividad absolutas de todas las cuentas de alto valor.

Luego se calcula la puntuaci贸n de importancia en funci贸n de las puntuaciones parciales anteriores.

Puntuaci贸n de importancia

La puntuaci贸n de importancia \(I\) se calcula como el promedio de las puntuaciones \(S\) y \(A\), ponderadas por un factor de actividad \(\gamma\):

\[I = \gamma A + (1-\gamma)S\]

En la red Bitxor, \(\gamma\) es 0.05 (5%).

Finalmente, entre todas las cuentas elegibles para la cosecha, la probabilidad de que se elija una cuenta en particular es proporcional a su puntuaci贸n de importancia efectiva, que se define como la menor de las dos puntuaciones de importancia anteriores \(I\).

Note

Dado que las puntuaciones se calculan cada 720 bloques (aproximadamente 6 horas) y se utiliza la menor de las dos puntuaciones anteriores al calcular las probabilidades de cosecha, cuando financias una cuenta por primera vez, se requerir谩n 12 horas para que tenga una probabilidad mayor que cero.

Personalizaci贸n

Las redes privadas pueden personalizar el algoritmo de consenso cambiando las siguientes propiedades de configuraci贸n. Consulta Configuraci贸n de la red.

Propiedad

Valor predeterminado

Descripci贸n

importanceGrouping

720 bloques

Con qu茅 frecuencia se calcula la importancia.

minHarvesterBalance

10000

Saldo m铆nimo requerido para ser elegible para la cosecha.

importanceActivityPercentage

0.05

Contribuci贸n de la puntuaci贸n de actividad (\(\gamma\)). Cuando es 0, el consenso PoS+ se comporta como PoS convencional.