¿Los mineros egoístas combinados con grandes transacciones destruyen PoW?

EDITAR Hay una descripción más clara de algunas partes del problema en las preguntas del enlace.


Si hay un valor de transacción mucho más alto que el pago por minar 10 bloques nuevos, ¿cómo puedes confiar en esta transacción?

Para ir más en detalle. Si soy un chico malo y pago una gran suma con una criptomoneda de prueba de trabajo. Grande significa que el valor es mucho más alto que el pago por minar 10 bloques nuevos. Después de eso, espero un tiempo, por ejemplo, tanto tiempo que se extraen 10 bloques nuevos en el medio, para que todos piensen que la transacción es segura. Entonces soborno a los mineros con la mitad del valor de mi transacción para crear una nueva cadena sin mi transacción. Debido a que la mitad del valor de mi transacción es mucho y los mineros son egoístas, crearán la nueva cadena para obtener más pagos de esta manera.

¿Existe alguna solución para este tipo de ataques en la construcción de cualquier criptomoneda que funcione con prueba de trabajo?

La única solución que veo es que confiemos solo en valores de transacciones que sean comparables con los costos de minería. Pero entonces la criptomoneda es muy ineficiente.

¿Cómo sobornarás a los mineros para crear una bifurcación 10 bloques detrás de la punta actual? Pondrá una tarifa alta en esa transacción. ¿Por qué los mineros no incluirían esa transacción en el bloque además del consejo actual?
Sobornaría a los mineros en la vida real, no con una gran tarifa que todos puedan notar. Y parte del soborno es que los mineros crean el tenedor.
Entonces, ¿les das una recompensa doble de 10 bloques si hacen 10 bloques que quieres que hagan?
Sí, por ejemplo, quizás también mucho más que 2x.
Buen ataque. Bueno, sí, parece que solo confía en la transacción que pagó X btc solo después de que haya sido enterrada por una recompensa de bloque acumulativa de tamaño comparable a X.
Pero entonces necesitamos un pago X de costos mineros (¡energía!) en algún lugar para ganar confianza en una transacción con valor X, eso parece una tontería.
No es una respuesta completa, pero aquí hay un documento relevante: cs.umd.edu/~gasarch/reupapers/bitcoin.pdf
@PieterWuille Sí, hay un escenario de ataque similar, pero los cálculos no ayudan. Dicen que si soborno a la mayoría de los mineros y saben que los demás también están sobornados, los costos para hacer el ataque son mayores a 0. \delta=0 en el papel. Pero esto es trivial.

Respuestas (3)

Creo que lo que estás describiendo es un ataque del 51 %, pero con un tercero que no es un minero, incentivando el "mal comportamiento" del minero. Incluso con un soborno fuera de blockchain, necesitaría más del 51% de los mineros para que este ataque funcione (de lo contrario, la 'cadena original' siempre superaría a la 'cadena sobornada').

Entonces, si un minero 'egoísta' quisiera realizar este ataque, creo que tendría más sentido que lo hiciera para su propia transacción, no para otra persona. Realizar este ataque con la participación de un tercero solo aumenta el riesgo para el minero (¿y si el tercero no paga el soborno? etc.). Creo que tiene más sentido que un minero simplemente realice el ataque por sí mismo: envíe 1000 btc a un intercambio, convierta a altcoin, retire y luego retroceda la cadena de btc para eliminar la transacción que envió monedas al intercambio.

Hay una razón por la que este tipo de ataque no ha ocurrido: los mineros lo ven como menos rentable a largo plazo.

Pero la pregunta sigue siendo: ¿por qué "los mineros lo ven como menos rentable a largo plazo"?
Porque los mineros piensan que obtendrán la mayor ganancia al continuar asegurando la red de bitcoin, en lugar de simplemente aceptar un soborno rápido y ver caer la confianza pública en la red (es decir, caídas de precios). Los mineros esperan obtener ganancias de su equipo durante mucho más tiempo que los próximos diez bloques, el soborno tendría que ser enorme, al menos hasta el 51% de la recompensa minera para el próximo año o más.
Eso es solo un argumento técnico. Tal vez algún día (¿hoy?) haya un escenario de moneda alternativa resistente al ataque, que los mineros puedan extraer cuando las monedas PoW bajen, por lo que el soborno solo se trata de extraer la recompensa durante el ataque.
No creo que la existencia de una moneda alternativa con esa propiedad incentive a los mineros a realizar este ataque. Los usuarios técnicos pueden entender lo suficientemente bien como para migrar a una moneda "más segura", pero el público en general perdería la confianza en las criptomonedas, por lo que la "capitalización de mercado de la industria" caería. Entonces, de nuevo, no creo que los mineros elijan realizar este ataque.
Ok, pero incluso si pensamos que el hardware no vale nada después, podemos usar una posición corta y obtener ganancias tan altas y tarifas de soborno que los mineros no están interesados. He hecho cálculos en bitcointalk.org/index.php?topic= 2512771.0 . Deberías empezar a leer en el bloque sobre los cálculos.
Cuanto más complicado haga el plan, mayor será el riesgo de que no funcione. ¿Qué sucede si el intercambio que está utilizando para vender en corto se cae debido a un ataque de DOS, causado por el pánico del mercado cuando la gente se apresura a salir? La jugada más segura es minar cooperativamente. Publiqué una pregunta similar a la que respondiste, allí las matemáticas aproximadas tienen el 51% de la recompensa minera anual establecida en ~ $ 3.3 mil millones. Los mineros esperarían que su posición en el mercado continuara generando ganancias en los próximos años (mientras reinvierten en sus operaciones), por lo que creo que el soborno debería estar en el rango de 11 dígitos para ser atractivo. ¡Eso es mucho!

Hagamos esto asumiendo que la recompensa por bloque más las tarifas promediaron 15 btc. Esto haría que 10 bloques valieran alrededor de 150 btc.

Ataque #1 - Incentivo de transacción única:

  1. Alice tiene 600btc en la dirección A
  2. Alice envía los 600btc desde la dirección A a la dirección B de Bob
  3. Bob espera 6 cuadras y luego cede su mansión a Alice.
  4. Alice conduce hasta su escondite y espera hasta la cuadra 10.
  5. Alice publica una nueva transacción desde la dirección A enviando 300btc a la dirección C con tarifas de minería de 300btc
  6. Los mineros ven que la transacción rebobina la cadena de bloques y se ponen a trabajar para obtener esa tarifa.
  7. Un minero encuentra ese bloque y se otorga a sí mismo esa tarifa.
  8. Esa cadena ahora está 9 bloques detrás de la cadena original sin ningún incentivo adicional para permanecer allí, por lo que los mineros regresan a la cadena original.

Resultado: este método de ataque no funcionará ya que se abandonará la bifurcación.

Ataque #2 - Incentivo de transacciones múltiples:

  1. Alice tiene 6000btc en la dirección A
  2. Alice envía los 6000btc desde la dirección A a la dirección B de Bob
  3. Bob espera 6 cuadras y luego cede sus 10 mansiones a Alice.
  4. Alice conduce hasta su escondite y espera hasta la cuadra 10.
  5. Alice publica una nueva transacción desde la dirección A enviando 5700btc a la dirección C con tarifas de minería de 300btc
  6. Los mineros ven que la transacción rebobina la cadena de bloques y se ponen a trabajar para obtener esa tarifa.
  7. Un minero encuentra ese bloque y se otorga a sí mismo esa tarifa.
  8. En el segundo bloque, Alice envía 5400btc de C a D con una tarifa de 300btc
  9. En el tercer bloque, Alice envía 5100btc de D a E con una tarifa de 300btc
  10. En el cuarto bloque, Alice envía 4800btc de E a F con una tarifa de 300btc
  11. En el quinto bloque, Alice envía 4500btc de F a G con una tarifa de 300btc
  12. En el sexto bloque, Alice envía 4200btc de G a H con una tarifa de 300btc
  13. En el bloque 7, Alice envía 3900btc de H a I con una tarifa de 300btc
  14. En el bloque 8, Alice envía 3600btc de I a J con una tarifa de 300btc
  15. En el noveno bloque, Alice envía 3300btc de J a K con una tarifa de 300btc
  16. En el bloque 10, Alice envía 3000btc de K a L con una tarifa de 300btc
  17. En el bloque 11, Alice envía 2700btc de L a M con una tarifa de 300btc
  18. La cadena bifurcada ahora está 1 bloque por delante de la cadena original, por lo que el incentivo normal hace que los mineros permanezcan en la cadena bifurcada.

Resultado: Sobre el papel, este método de ataque beneficia a los mineros y a Alice. Sin embargo, en la práctica, este ataque todavía se queda corto por un par de razones:

  1. ¿Cómo sabrán los mineros en el primer bloque de la bifurcación que Alice continuará brindando el incentivo necesario para mantener viva la bifurcación? Si Alice se detiene en cualquier momento, todas las posibles ganancias desaparecerán cuando los mineros vuelvan a la cadena original. Una posibilidad es que Alice publique previamente las 11 transacciones.
  2. Debido a que las cadenas de bloques son de conocimiento público, un ataque exitoso de esta magnitud sacudiría la fe pública en Bitcoin. Esto se debe a que los usuarios ya no pueden confiar en que 6 bloques sean suficientes para saber si una transacción ha sido aceptada o no, ya que 10 bloques de transacciones se revirtieron con este ataque. Esto socavaría la confianza descentralizada fundamental de Bitcoin, colapsando el sistema en el que los mineros están tan fuertemente invertidos. Por lo tanto, aunque los mineros tendrían más bitcoin en el corto plazo, ese bitcoin se devaluaría severamente. Además, socavará toda la plataforma en la que están tan fuertemente invertidos, lo que va en contra de sus intereses.

Por lo tanto, participar en un ataque de este tipo no redundará en beneficio de los mineros a largo plazo.

La única forma en que posiblemente funcione es si la mayoría de los mineros quieren que Bitcoin falle y, en ese caso, Bitcoin tiene problemas mucho mayores.

Ataque n.° 3: soborno sin tarifa de transacción:

  1. Alice tiene 600btc en la dirección A
  2. Alice envía los 600btc desde la dirección A a la dirección B de Bob
  3. Bob espera 6 cuadras y luego cede su mansión a Alice.
  4. Alice conduce hasta su escondite y espera hasta la cuadra 10.
  5. Alice soborna a todos los mineros para que cambien a una cadena bifurcada. Si esto estuviera en la cadena de la billetera A, se vería así:
    1. Para todos los mineros que ganaron recompensas y tarifas de bloque en los 10 bloques, les paga esa cantidad por una suma total de 150btc
    2. A todos los mineros del mundo les paga la fracción del poder de hashing que tienen de los 150btc restantes
  6. Los mineros ven esa transacción que los beneficia a todos, rebobinan la cadena de bloques y se ponen a trabajar para obtener esa transacción.
  7. Todos los mineros permanecen en esa cadena ya que comienza con más bitcoins que la cadena original, además tiene las mismas recompensas.

Esto es técnicamente menos costoso que el ataque n.º 2, pero requiere la participación de más del 50 % de los mineros del mundo, por lo que el esfuerzo de coordinación es enorme. Esto se debe a que todos los mineros participantes deben coordinar su software de minería para poder jugar con estas reglas. Además, dependiendo de la cantidad de mineros/fondos de minería que no participen, esto aumentará la cantidad de bloques que Alice necesitaría flotar. Por ejemplo, si el 30% de los mineros no participa, para cuando el décimo bloque de la cadena bifurcada ruede, habrá alrededor de 13 bloques en la cadena original.
Esto volvería a tener el mismo escenario en el que sería de conocimiento público que los mineros reescribieron la historia y socavaron (sin juego de palabras) la cadena de bloques. Incluso si la transacción de Alice fuera fuera de la cadena, aún romperá el principio central de que las transacciones de 6 bloques de profundidad son seguras y, por lo tanto, devalúan Bitcoin.

Nuevamente, la única forma en que esto podría funcionar es si la mayoría de los mineros quieren que Bitcoin falle.

¿Leíste mis comentarios sobre? El escenario es sobornar a los mineros en la vida real y no hacerlo mediante tarifas, lo que quizás sea demasiado obvio. Y cuando hay grandes sumas, puedes sobornar a los mineros con tanto dinero que no les importa si Bitcoin se cae después. Además, me refiero al Ataque #2.
Por cierto, los mineros de PoW no están "muy invertidos" en el sistema. Ese es quizás el problema de todos. Creo que el ataque no es posible en un híbrido PoW-PoS, por lo que los mineros pueden ir allí después de colapsar las monedas PoW.
@sigmabe Gracias por la aclaración, agregué un tercer escenario basado en tu primer comentario.
@sigmabe Con respecto a PoW, supongo que tiene razón en que no están necesariamente "muy invertidos" en Bitcoin. En cambio, están fuertemente invertidos en su hardware de minería. Ahora que tenemos cadenas alternativas en las que funcionará su hardware de minería, podrían escapar de la masacre de Bitcoin saltando a la minería alternativa. Sin embargo, a menos que el alt tenga protección contra un ataque similar, también socavará la fe allí, por lo que su sugerencia de un híbrido PoW-PoS o algo más para frustrar esto es un requisito preciso para que este tipo de ataque funcione.
Sí, el tercer escenario es mejor. Pero no veo cómo resuelve el problema. Sí, necesita la mayor parte de la potencia minera, pero no es tan caro como se pensaba. No tiene que pagar el hardware y la energía de la minería, solo tiene que pagar el dinero para sobornar. Y creo que no necesitas mucho dinero para sobornar, porque los mineros son egoístas y pueden ir a una moneda mejor después.
¿No hay monedas alternativas que funcionan como híbridos PoW-PoS?
Para sacar aún más provecho de la "masacre de bitcoin" deberíamos hacer el ataque con monedas prestadas, así no hay problema si la moneda baja, porque eso es lo que queremos.

Creo que tienes un punto válido. Digamos que controlo el 50% de la minería. ¿Cuánto aceptaría por iniciar una nueva bifurcación desde 10 cuadras atrás?

Con el 50 % de la minería, obtendría aproximadamente la mitad de los bloques, o 5 de los 10 bloques recién extraídos. Pedirme que bifurque desde 10 cuadras hacia atrás significaría que estaría renunciando a estos 5 bloques de pago.

La pregunta entonces es cuánto tiempo me llevaría alcanzar la cadena de bloques real desde 10 cuadras atrás. Al 50% de la minería, estaría lanzando una moneda para tratar de obtener 10 caras más que cruces. En promedio, eso requiere una cierta cantidad de vueltas, digamos N. Entonces, tendría que extraer N bloques adicionales, en promedio, para alcanzar la cadena actual.

Entonces, si me paga más del valor de N+5 bloques, en promedio sería más rentable para mí comenzar una cadena para usted que continuar con la cadena actual.

Sin embargo, este es el promedio y la distribución tiene una cola larga, lo que significa que puede tomar cientos de bloques hasta que la nueva cadena sea más larga que la actual. Hay algunas maneras en las que podríamos lidiar con este riesgo:

1) Te cobro una tarifa por bloque, y me pagas mientras quieras que lo haga por ti. No hay ninguna promesa de que alguna vez me pondré al día con la cadena actual, pero seguiré intentándolo mientras sigas pagando más de lo que ganaría con la minería legítima.

2) Te cobro por adelantado y me arriesgo. En este caso, estoy en el anzuelo para ponerte al día con la cadena existente. Probablemente cobraría una gran prima en función del potencial de desviar mis recursos mineros durante mucho tiempo. Además, es posible que nunca me ponga al día, por lo que probablemente agregaría una cláusula de reembolso para reducir mis pérdidas si parece imposible.

La idea de que haría minería legítimamente porque quiero que Bitcoin tenga éxito tiene algo de verdad, porque la minería tiene un costo de instalación y quiero un retorno de esta inversión, pero por el precio correcto probablemente me arriesgaría a matar a Bitcoin. . Ese riesgo está capturado en la prima que te cobro sobre mis ingresos mineros normales.

Conectando algunos números, usaré la suposición de Briguy37 de 15 BTC por bloque extraído, y supongamos que N es 20 y mi prima es 100%. Entonces, cobraría 25*15*2 = 750 BTC para hacer esta bifurcación.

Podemos discutir los números exactos, pero el punto principal parece ser lo que estaba diciendo, que es que las transacciones grandes no son tan confiables como las pequeñas.

Yo llevaría esto un paso más allá y argumentaría que algunas transacciones más pequeñas tampoco pueden ser confiables. Supongamos que acepto pagar 10 BTC a 100 personas cada una. Son 1000 BTC de mi parte, pero cada transacción es solo 10 BTC hasta donde saben los destinatarios. si los cronometro todos iguales, el costo de revertirlos todos es el mismo que si fueran una sola transacción.