¿Por qué se requieren el conjunto de datos y MixHash para la Prueba de trabajo?

del papel amarillo ; para que un bloque sea aceptado como válido, se debe encontrar un número de 8 bytes, n_rand, que satisfaga la ecuación 253:

<code>PoW</code>(H_<strike>n</strike>,n_rand,**d**)[1] _< 2^256/H_d

H_<strike>n</strike>= encabezado de bloque sin n_rand y MixHash
HD= dificultad
n_rand= nonce

Mi interpretación es que d es el conjunto de datos, un valor derivado criptográficamente del número de bloques anteriores. A partir de esto, el Mixhash se calcula en la PoWfunción

¿Por qué se requieren los valores de conjunto de datos y MixHash?

Si la red estuviera de acuerdo en aceptar la PoWfunción con d establecida en 0, ¿no seguiría dependiendo criptográficamente el sistema de las transiciones de estado válidas, ya que debe haber consenso sobre H_ n ? Por lo tanto, ¿no seguiría funcionando el sistema?

Respuestas (1)

Según tengo entendido, d es, como se dice en la página 6 del papel amarillo , el DAG actual.

Donde Hn es el encabezado H del nuevo bloque, pero sin los componentes nonce y mix-hash, siendo d el DAG actual, un gran conjunto de datos necesario para calcular el mix-hash, y PoW es la función de prueba de trabajo (consulte la sección 11.5): esto se evalúa como una matriz en la que el primer elemento es el mixhash, para probar que se ha utilizado un DAG correcto, y el segundo elemento es un número pseudoaleatorio criptográficamente dependiente de H y d. Dada una distribución aproximadamente uniforme en el rango [0, 2 64), el tiempo esperado para encontrar una solución es proporcional a la dificultad, Hd.

El DAG es necesario para el algoritmo de minería para asegurar el PoW de forma resistente a ASIC y fácilmente verificable para futuros clientes ligeros. Aquí hay un detalle completo de la explicación:

https://github.com/ethereum/wiki/blob/master/Dagger-Hashimoto.md

Por lo tanto, no puede establecer d en 0.

... entonces el sistema funcionaría si hubiera consenso para d = 0, ¿pero no de una manera resistente a ASIC?
La única condición que puedo ver es la ecuación (del papel amarillo): (58), que establece que debe tener 32 bytes o menos.