¿Equihash/scrypt es adecuado para la minería agrupada?

Un esquema de PoW de "memoria dura secuencial" no se puede paralelizar de manera efectiva, por lo que me imagino que tampoco puede distribuir la resolución del rompecabezas entre los participantes en un grupo. Entonces, ¿cómo funciona eso con scrypt? Por ejemplo, ¿cómo funcionan los grupos de minería de litecoin?

Corríjame si me equivoco, pero equihash es "solo" difícil de recordar. Entiendo que está resolviendo un problema de cumpleaños generalizado entre cadenas de bits generadas aleatoriamente. Pero mi pregunta aquí es: ¿cómo verifica el grupo que realmente está haciendo un trabajo significativo? Al igual que con un PoW "tradicional", envía soluciones parciales que no coinciden con la dificultad de la red, pero aún tienen alguna dificultad "adjunta" que prueba que hizo algún trabajo.

Para equihash, creo que no hay una solución "parcial", o encuentras las entradas que xor a cero o no. ¿Qué me estoy perdiendo?

¿Ya hay grupos de minería de zcash por ahí? ¿Cómo aseguran la "equidad"?

La primera parte de mi pregunta probablemente se pueda explicar: es difícil acelerar un cálculo de scrypt usando múltiples subprocesos, pero siempre puede hacer varios de ellos (con diferentes nonces). Cada uno de ellos todavía necesita mucha memoria. Entonces, básicamente, varias personas calculan invocaciones de scrypt completamente diferentes. Para el segundo, probablemente no entiendo cómo zcash utiliza exactamente equihash y me encantaría que alguien pudiera explicarlo.

Respuestas (2)

Encontré https://minezcash.com/zcash-mining-pool/ así que aparentemente ya hay bastantes pools de minería de zcash.

Con respecto a la pregunta de dificultad, actualmente estoy mirando https://github.com/str4d/zcash-pow/blob/master/pow.py Lo que me irrita es que aparentemente todavía hay un cálculo SHA256.

Debería haber leído el artículo de Equihash .

Básicamente, el PoW sigue siendo un gran bucle que pasa por un nonce de 160 bits, pero en el cuerpo está la resolución del problema de cumpleaños generalizado utilizando el algoritmo de Wagner.

Los parámetros se generan pseudoaleatoriamente (usando una función hash basada en el bloque anterior y el nonce) y al final la solución se vuelve a codificar y el número de bits cero iniciales (de esa solución) determina la dificultad. Supongo que es por eso que zcashd informa soluciones/s y no hashes/s, ya que una solución es un intento de un nonce diferente (y necesita muchos de ellos para tener suerte).

Las funciones hash unidireccionales criptográficas SHA256 y Blake2B todavía se usan (anteriormente pensé que no lo eran), pero la velocidad de cálculo ya no domina la velocidad de extracción.