Hay mucha información disponible, así que supongo que está fuera de su alcance para obtener esta respuesta.
Cryptonight toma un bloc de notas de 2 MB y extrae un valor inicial, combina con una constante y luego comprueba el resultado de hash deseado.
Si hay una coincidencia, excelente, de lo contrario, el valor incorrecto se convierte en la base para el siguiente valor extraído del bloc de notas.
- ¿Es necesario codificar todos los datos en estructuras como pilas en C ++, o es un conocimiento práctico suficiente para aclarar entrevistas?
- ¿Hay algún libro que tenga todos los códigos para todas las estructuras de datos? ¿Al menos para todas las estructuras de datos de árbol?
- ¿Está sesgado el algoritmo de aleatorización del Reproductor de Windows Media?
- Cómo demostrar que la mochila continua con elementos de opción múltiple es un problema NP-difícil
- ¿Qué algoritmos se usan en los sistemas de recomendación?
El algoritmo se ejecuta de manera semi aleatoria, y un fpga muy costoso puede optimizar el algoritmo muy bien, a pesar de que los requisitos de memoria son significativos.
Después de 500,000 iteraciones (si mi memoria me sirve correctamente), se comprueba el hash del bloc de notas en busca de una coincidencia de bloque con la cadena de bloques.
El problema con la optimización de fpga es que cuando reescribe el proceso de hash para generar resultados similares, su método será lo suficientemente diferente como para que la dirección de blockchain sugerida sea significativamente diferente de la mayoría de los mineros, por lo que deberá asegurarse de enviar más de 50% de todos los hashes.
Eché un vistazo a esto a principios de esta primavera, y parecía que podría soportar alrededor del 16% de monero, pero las posibilidades de un bloqueo de rechazo serían estúpidamente altas, potencialmente tanto como 2/3 del tiempo.