¿Cómo se pone de acuerdo Nxt en una cadena cuando las "cuentas activas" se pueden falsificar fácilmente?

Por lo que entiendo, en Nxt, los bloques se extraen (o falsifican) usando un sistema basado en Prueba de participación donde la creación de bloques funciona de manera similar a una lotería: las personas tienen boletos, y cuantos más boletos tienes, mayores son las posibilidades de ganando y por lo tanto forjando un bloque. Los boletos en Nxt son solo monedas que posees en el sistema.

Lo que no entiendo es que para cada creación de bloque, el ganador se encuentra en un grupo de "cuentas activas" que resultan ser personas que están en línea en ese momento. Basado en cosas específicas (como cuántas monedas tiene uno), se encuentra al ganador. Mi preocupación es que alguien pueda forjar un nuevo bloque sin preocuparse por las "cuentas activas", como si pretendiera que nadie más está en línea. Así que lo extraerá con seguridad, ya que es el único, y luego lo transmitirá. Sigue haciendo esto durante los siguientes bloques y así sucesivamente.

¿Qué impide que otros compañeros acepten su cadena?

Respuestas (2)

Como sabe por su pregunta anterior , un nodo tiene derecho a falsificar un bloque y enviarlo a la red cuando

hit < BaseTarget * EfectiveBalance * TimeSinceLastBlock

donde los nuevos valores de hit y BaseTarget se calculan a partir del último bloque, el valor de hit es efectivamente aleatorio y el BaseTarget se ajusta para mantener una tasa de crecimiento constante de blockchain de aproximadamente un nuevo bloque por minuto.

Todos los nodos que ejecutan NRS (Nxt Reference Software) usan las mismas fórmulas para calcular estos valores y, por lo tanto, si todos esos nodos están en la misma bifurcación de la cadena de bloques, todos estarán de acuerdo en cuáles son los valores. Cualquier bloque nuevo recibido de otro nodo se verifica para asegurarse de que se siguió la regla anterior. Si no, el bloque es rechazado.

Es posible que la cadena de bloques se bifurque, incluso cuando todos los nodos siguen las reglas, debido a que varios nodos se vuelven elegibles para falsificar casi al mismo tiempo combinado con retrasos en la red. O bien, un subconjunto de nodos podría quedar aislado de la red principal durante un tiempo.

Una vez que ocurre una bifurcación, las cadenas de bloques competidoras tendrán diferentes colas y todos los bloques que componen las colas tendrán diferentes valores de hit y BaseTarget. Todos los nodos que ejecutan NRS elegirán la cadena de bloques con la mayor dificultad acumulativa, donde

dificultad acumulada = dificultad acumulada del bloque anterior + (2^64 / objetivo base)

La dificultad acumulativa crece con cada nuevo bloque, más aún cuando BaseTarget es pequeño (más difícil de conseguir un golpe).

Si un subconjunto de nodos se aísla por un tiempo, esos nodos continuarán forjándose; pero debido a que tienen un saldo combinado más pequeño, inicialmente la forja toma más tiempo. BaseTarget se ajustará más grande para acortar el tiempo entre bloques y, por lo tanto, la dificultad acumulada no crecerá tan rápido.

Cuando este subconjunto de nodos se vuelve a conectar con la red principal, la red principal considera su bifurcación de la cadena de bloques (si se han falsificado menos de 1440 bloques durante el aislamiento). Pero debido a que la red principal tiene un mayor saldo combinado, tendrá una mayor dificultad acumulada y, por lo tanto, rechazará la cadena de bloques competidora. Del mismo modo, el subconjunto de nodos considerará la bifurcación principal y la aceptará a menos que se hayan agregado más de 1440 bloques en su bifurcación, en cuyo caso se requiere una reversión de blockchain o una nueva descarga de blockchain.

Así es como se logra el consenso en la red: se rige por los nodos que tienen mayor balance combinado.

Gracias, pero no solucionaste mi problema con las "cuentas activas". Solo los usuarios que están en línea pueden falsificar. ¿Qué pasa si nadie está en línea que me espere? Seré el único ganador y forjaré un bloque, ¿verdad? ¿Qué impide que otros acepten tal bloqueo?
Es muy poco probable que nadie más esté en línea, porque los grandes tenedores de NXT saben que su participación es importante para proteger su inversión. Pero si se fueron durante el tiempo suficiente para que usted forjara un bloque y luego regresara, es posible que acepten su bloque si está forjado correctamente, pero competirá con los bloques forjados inmediatamente por los nodos que regresan. Es probable que ocurra una bifurcación y se resuelva por dificultad acumulativa. Si el bloque que forjaste no siguió las reglas, será rechazado por ese motivo, así que no sé a qué te refieres con "fácilmente falsificado".