Minería solo para bloques de transacciones nulas: ¿jugando el esquema de incentivos por parte de mineros / consorcios deshonestos?

Entiendo que existe un incentivo para incluir transacciones donde la salida es menor que la entrada para que el creador del bloque pueda embolsarse la diferencia. Pero me pregunto si eso realmente vale la pena en términos de tasa de hash.

Sé que, en general, tener transacciones es algo bueno para la moneda, pero ¿qué sucede si un minero en particular solo se preocupa por la recompensa de su buscador de bloques?

Este es mi entendimiento del proceso hash: proceso Proceso SHA256 (imagen del curso Bitcoin de Coursera)SHA256 (imagen del curso Bitcoin de Coursera)

La entrada hash se divide en bloques de entrada de 512 bits y luego la función de compresión (en amarillo) se ejecuta una vez para cada bloque de entrada (incluida la salida del resultado anterior).

Suponiendo que el bloque de bitcoin más pequeño posible es <1024 bits (corríjame si no estoy en lo cierto), entonces el hash para ninguna transacción requerirá 4 compresiones.

AFAIK, el tamaño de bloque más grande es 1MiB u 8,000,000 bits, lo que requiere 15,625 funciones de compresión, más de 3,900 veces más que un bloque de transacciones nulas.

  1. ¿Tomará unas 3900 veces más hacer hash de un bloque de 1MiB que hash de un bloque de transacciones nulas?

  2. Si esto es correcto dentro de un orden de magnitud, ¿no sería mejor aumentar la probabilidad de encontrar un bloque de aprox. 3,000 veces en lugar de recolectar el valor de un bloque de recompensa de procesamiento de transacciones?

  3. ¿Cuál es el cobro promedio de la tarifa de transacción por bloque?

  4. ¿Qué pasaría si un pequeño consorcio de mineros adoptara esta estrategia para beneficio personal, cabalgando sobre las espaldas de los mineros que se preocupan por el ecosistema en su conjunto y lo mantienen a flote?

Si 1. fuera cierto, Bitcoin probablemente no funcionaría. Además de la respuesta de Nick a continuación, tenga en cuenta que todo el trabajo previo se puede hacer en paralelo. De hecho, eso generalmente lo hace la CPU, por lo que solo se necesita cargar una pequeña parte de los datos en los ASIC.
Acepto la respuesta de Nick, ya que aborda mi pregunta en su totalidad, pero ¿alguna idea sobre la Pregunta 3?

Respuestas (1)

(Estoy seguro de que esto se ha preguntado antes, pero no puedo encontrar la pregunta anterior).

Eso sería cierto, excepto por la presencia de los campos nonce y extraNonce. El objetivo de estos campos es que puede repetir el bloque sin tener que analizar todo. En 2 ^ 32-1 de 2 ^ 32 veces, eso solo significa codificar los últimos 16 bytes del encabezado del bloque, lo que se puede hacer en 3 compresiones. (Ese es uno para el encabezado del bloque y dos para el siguiente hash SHA256. Recuerde, Bitcoin usa SHA256d).

Un solo intento de minería requiere (3 + ((log(2, number_of_transactions) + 1) * 2 / 2**32)) compresiones SHA256, en promedio. Tener mil transacciones en el bloque requiere 0.000000004 compresiones adicionales por hash en lugar de no tener transacciones en el bloque.

El efecto de todo eso es que extraes esencialmente a la misma velocidad sin importar cuántas transacciones incluyas.