¿Qué anima a los mineros de Bitcoin a retransmitir bloques?

Digamos que estoy extrayendo bitcoins y acabo de recibir un nuevo bloque que otra persona ha extraído. Lo que me anima a enviar ese bloque a cualquier otra persona.

Puedo entender cómo el minero original quiere enviar el bloque por la red (para que su bloque se convierta en parte de la cadena), pero ¿qué incentivo tienen otros nodos para enviarlo? ¿No sería mejor no esparcir el bloque, sino construir su propio bloque encima de él, en cuyo caso estará dos bloques más adelante y es más probable que lo agreguen a la cadena?

Por supuesto, si todos hicieran esto, el resultado sería terrible, pero ¿qué incentivo hay para alentar a las personas (aparte de los mineros originales) a distribuir bloques además del altruismo?

Respuestas (6)

Siempre que la recompensa del bloque sea mucho más alta que las tarifas de transacción, esto no es un problema: la minería no es un proceso incremental, es un proceso probabilístico de fuerza bruta.

Es decir, en un solo momento, su probabilidad de resolver un bloque no es mayor si ha estado minando ese mismo bloque durante algún tiempo: la probabilidad es siempre la misma.

Por lo tanto, una vez que se le transmite un bloque, simplemente lo agrega a la cadena de bloques y comienza inmediatamente a buscar un nuevo bloque encima de ese.

Dado que el riesgo de que su bloque quede huérfano (actualmente perdería 25 BTC ~= 3750 €) es muchos órdenes de magnitud más alto que el costo de retransmitirlo (calculo que es un montón de satoshis), siempre es más conveniente transmitirlo

Estoy de acuerdo, y podría resumir/agregar: si usted es un minero, desea que el bloque que está extrayendo "sobre" se distribuya lo más ampliamente posible porque desea minimizar el riesgo de construir en una bifurcación huérfana.
No creo que eso responda la pregunta. Suponga que recibe un bloque. Claramente, debe minar además, pero ¿por qué debería transmitir ese bloque a otros nodos si el ancho de banda cuesta dinero?
@NickODell porque el riesgo de que tu bloque minado quede huérfano (~2650 € actualmente) es mucho más alto que el costo de retransmitir un bloque (¿un montón de satoshis, supongo?).
@Lohoris Buen punto.
@NickODell editado en consecuencia
@Lohoris: ¿Retransmitir el bloque no aumenta el riesgo de que su bloque quede huérfano? Los bloques huérfanos ocurren cuando extraes una rama que es golpeada por otra rama, ¿sí? Entonces no querrías extender otras ramas de nodos, ya que eso significa que es más probable que dejen huérfano tu bloque, ¿sí?
@Clinton, estamos hablando de transmitir un bloque que está minando, por lo que disminuye las posibilidades de que su nuevo bloque eventual quede huérfano.
OT: lol por alguna razón leí mal "Clitcoin" en lugar de "Clinton", lol.
Buena idea para otra moneda.

El problema central con el acaparamiento es arriesgar el trabajo en una cadena huérfana. Si acumula un bloque y comienza a trabajar en su sucesor, corre el riesgo de que la red encuentre otro bloque legítimo y bifurque la cadena de bloques principal. Si ese es el caso (a menos que tenga un poder de procesamiento significativo detrás de usted), estará trabajando en una rama que quedará huérfana a favor de una cadena de bloques más larga, sin otorgarle nada por sus esfuerzos de minería.

No hay necesidad de un incentivo adicional. Basta con que el remitente quiera enviarlo y los destinatarios quieran recibirlo. El minero que encontró el bloque quiere hacérselo llegar a tantas personas como sea posible para que obtengan la recompensa. Los otros mineros quieren recibirlo para poder construir en una cadena más larga. Eso es suficiente.

Si alguna vez llega a ser un problema, que no puedo imaginar que sea, los clientes de Bitcoin podrían desconectarse de los nodos que no hacen su propio esfuerzo. Por lo tanto, si se niega a transmitir bloques a un nodo, este se negará a transmitirle bloques. Aunque lo más probable es que la solución sea simplemente que más pools de minería se encarguen de interconectarse directamente.

"El minero que encontró el bloque quiere llevárselo a tantas personas como sea posible para obtener la recompensa. Los otros mineros quieren recibirlo para poder construir en una cadena más larga". <- A esta explicación le falta el caso del que trata la pregunta. Hay un tercero: esta parte de la respuesta no cubre el caso en que otro minero recibió un bloque y ahora decide si debe enviarlo o no. Además, la pregunta tampoco se trata de contramedidas teóricas que podrían implementarse en el futuro. Se trata de la situación actual.
@DanielS. Esto es Internet. Si X quiere enviar información a Y, Y quiere recibir información de X, y tanto X como Y están conectados a Internet, un tercero no puede hacer mucho para detenerlos. En cuanto a "la situación actual", no hay evidencia de que este problema exista en la situación actual. Necesitamos abordar alguna situación futura donde este sea un problema real. (No puede girar su automóvil para evitar salirse de la carretera millas antes de la curva).

Ha habido un análisis parcial como parte de una afirmación académica de que no retransmitir un bloque en algunas situaciones es ventajoso para un pool de minería. El documento se encuentra actualmente en preimpresión y sus conclusiones son muy discutidas, incluso en el Blog de la Fundación Bitcoin .

El problema es que , de hecho, no existe una recompensa directa por retransmitir bloques . De acuerdo con esa preimpresión, en algunas circunstancias, incluso hay una penalización por retransmitir demasiado rápido los bloques que extrajiste tú mismo, porque permite que otros trabajen en la cadena más rentable. La existencia de este incentivo negativo depende de la suposición de que usted puede (al menos parcialmente) monopolizar la red, de modo que cuando alguien extrae un nuevo bloque, usted puede difundir más rápidamente (o ampliamente) su propio bloque, en el último momento, que el otro nuevo se propaga.

La corazonada del cartel original es absolutamente correcta. Miner tiene todos los incentivos para enviar su bloque recién encontrado a sus compañeros de inmediato. Cualquier retraso solo perjudica sus posibilidades de incorporarse a la cadena permanente.

Miner también está muy ansioso por recibir nuevos bloques extraídos por otros, para poder construir en la punta.

Pero transmitir un nuevo bloque extraído en otro lugar solo ayuda a otros mineros a construir en la punta y, por lo tanto, perjudica las posibilidades de nuestro minero de producir el próximo mejor bloque. La estrategia óptima para nuestro minero es retransmitir el bloque extraído en otro lugar solo cuando haya encontrado su propio bloque encima.

Por esta razón, la red de nodos completos no mineros juega un papel subestimado como intermediario entre mineros. Los nodos completos no tienen nada que perder al retransmitir bloques rápidamente.

@TomHarding tiene razón en que un minero no puede anular un bloque extraído por otro minero simplemente al no transmitirlo. El bloque se propaga de todos modos, a través de otros nodos.

Vale la pena señalar que el problema que describe está relacionado con el problema de la minería egoísta , donde, dadas algunas suposiciones, un minero "egoísta" tiene el incentivo de evitar publicar un bloque que él mismo extrajo y comenzar a trabajar en el siguiente bloque en la parte superior. de ese bloque "privado", con la esperanza de que, al mismo tiempo, el resto de los mineros estén haciendo un trabajo inútil (desconociendo el bloque privado que eventualmente se convertiría en la cadena de bloques). Por supuesto, el minero egoísta corre el riesgo de perder la recompensa en el bloque no publicado si finalmente no llega a la cadena de bloques, pero bajo algunas suposiciones, esta puede ser una estrategia rentable para él.