¿Cómo interactúa ethminer con los diversos clientes de Etherum (p. ej., geth, eth, parity) al minar? ¿Afecta la eficiencia minera?

Disculpas por la pregunta de novato, soy muy nuevo en Ethereum. Quería asegurarme de entender correctamente la distinción entre un cliente de minería de Ethereum (es decir, ethminer) versus un solo cliente , como geth, eth o parity, particularmente con respecto al rendimiento, etc. El modelo aproximado que tengo en mente es que el cliente de Ethereum expone un servicio basado en JSON-RPC con el que luego habla ethminer para obtener, completar y devolver soluciones a los problemas de PoW. Ethminer, entonces, ¿es un "cliente tonto" que habla con el cliente (por ejemplo, geth) y presumiblemente simplemente genera hashes en diferentes configuraciones de hardware?

Entonces, mi simple pregunta es: a.) ¿Por qué solo hay un cliente de minería principal, si teóricamente el PoW se implementa de manera trivial en una CPU o en CUDA/OpenCL? b.) ¿Cómo es aceptable la desaceleración de JSON-RPC en la "carrera" para ser recompensado por una solución, y si una implementación de PoW completamente integrada a nivel binario cambiaría las cosas sustancialmente? y c.) ¿cuáles son los méritos relativos de los diferentes clientes? (¿Es mejor ser más rápido por alguna razón práctica relacionada con la obtención de recompensas?)

Respuestas (1)

Parity usa Ethminer pero tiene un rendimiento significativamente mejor para el procesamiento de bloques. Consulte la publicación de blog de Gavin Wood sobre rendimiento: https://blog.ethcore.io/performance-analysis/

A) Aparte de Ethminer, hay otros dos clientes mineros: QtMiner, Cudaminer.

B) No estoy seguro de lo que quieres decir, ¿podrías dar más detalles?

C) En cuanto a los méritos relativos de los diferentes clientes, depende del sistema operativo y la GPU que esté utilizando. Busqué en los otros clientes, pero parece que Ethminer es el mejor establecido para la mayoría de los propósitos, y también es el mejor documentado y respaldado de todos los clientes de minería. Consulte la documentación: http://ethdocs.org/en/latest/mining.html .

eth-proxy es un proxy que acelera la comunicación entre un nodo (que se ejecuta en el servidor del grupo) y el minero del minero (ethminer, qtminer, genoil, ...). No es un cliente de minería.
Sin preocupaciones. Aquí está el enlace a la bifurcación Genoil de ethminer con CUDA y soporte de estrato .
@Physes muchas gracias. He leído mucho el documento de Parity, ya que planeo desarrollarlo en Rust y, de hecho, parece que Parity tiene un rendimiento excelente. La pregunta más grande en mi cabeza es por qué el componente de minería está separado y cómo el cliente de minería interactúa con el cliente (es decir, Paridad). En términos de b.) Me pregunto si esta interfaz entre ethminer y parity causa una desaceleración; y en términos de c.) Principalmente quise decir, ¿por qué uno elegiría la paridad en lugar de decir geth (es decir, cuál es la ventaja del rendimiento del cliente)? He estado leyendo la fuente de paridad pero parece que no puedo encontrar la sección correcta. ¡TIA!