Un escenario teórico de ataque de bajo costo en monedas PoW

El escenario fue diseñado por el usuario: croraf y yo al discutir una pregunta mía ayer. Para que quede más claro, quiero presentarlo aquí nuevamente en un diseño más estricto.

Para hacerlo de una manera clara, primero cuatro supuestos :

  1. Las transacciones se aceptan cuando N bloques las confirman.
  2. Podemos hacer contacto con la mayoría de los mineros, son egoístas y apenas invierten en la moneda PoW.
  3. Es posible un ataque con la mayor parte del poder minero. Para que quede más claro: asumimos que reescribir el historial de blockchain deshaciendo muchas transacciones es tan sorprendente que podemos obtener nuestros beneficios del ataque antes de que la moneda baje.
  4. Hay una moneda alternativa, resistente a nuestro siguiente escenario de ataque, sin correlación de valor con las monedas PoW. El hardware de minería permite extraer tanto la moneda alternativa como la moneda PoW.

Ahora el escenario de ataque .

Hacemos una transacción con un valor más alto que la extracción de beneficios de N bloques. Esperamos hasta que N bloques confirmen nuestra transacción, por lo que la transacción se acepta por la suposición 1 . Entonces sobornamos a la mayoría de los mineros para crear una bifurcación para deshacer nuestra transacción. El soborno debe ser solo un poco más que los beneficios mineros en la cadena "real" porque son egoístas y no les interesa mantener viva la moneda por supuesto 2 . ¡Solo pagando el soborno, el costo del ataque es muy bajo en relación con la ganancia prometida! Los mineros y nosotros obtenemos nuestros beneficios del ataque antes de que la moneda baje por el supuesto 3. Entonces, la moneda PoW puede caer, pero los mineros sobornados pueden ir a extraer la moneda alternativa sin ninguna pérdida, lo que es posible por suposición 4 .

¿Dónde está la culpa, en el escenario del ataque o en las suposiciones?

Creo que el escenario de ataque es correcto y las fallas sugeridas en los supuestos de la discusión de ayer no pueden convencerme.

Las críticas más importantes ya las conozco:

Supuesto 1 : solo debemos confiar en transacciones con valores comparables con los costos de minería, pero esto hace que la moneda sea ineficiente, como se mostró aquí .

Suposición 3 : si no confía en esta suposición, entonces niega el escenario de ataque habitual de la moneda PoW. Si lo hace, ¿por qué no deberíamos hacer PoW con una dificultad muy baja y un poder de minería muy pequeño?

EDITAR : creo que podemos omitir la suposición 3 haciendo el ataque con una posición corta, lo que significa que hacemos la transacción de alto valor al principio con las criptomonedas que hemos prestado. Me parece claro que la moneda baja después de un ataque tan grande y por eso incluso nos beneficiamos de la posición corta.

Haría 10 genéricos, sustituyéndolos por N. Y eliminaría la tercera suposición de la lista.
Hola de nuevo, encantado de verte. Sí, tienes razón, el 10 no es un número especial, por lo que ahora lo convertimos en genérico. Hice la tercera suposición porque este fue el argumento principal en la discusión ayer por @Briguy37.
¿Qué quiere decir con "las transacciones se aceptan cuando N bloques las confirman"? Cada nodo en la red acepta transacciones, las valida contra un conjunto de reglas, y luego van a un mempool, y luego un minero las incluirá en un bloque. Entonces, si espera "N bloques", otros ya lo han procesado ... Independientemente de esto, hay evaluaciones del poder de minería (el ataque del 51%). Probablemente también con un 40%. ¿Cómo se "soborna" a los mineros? El software que se ejecuta sigue las reglas de bitcoin. Si crean un bloque que difiere, pierden el beneficio "previsto" (es decir, los valores de la base de monedas no se pueden gastar).
ahh, ya veo: quieres esperar N bloques, y luego enviar tu "tx de alto valor" a la red, y convencer a la mayoría de los mineros para que hagan una bifurcación. ¡Nada tan fácil como esto! Si ha fallado la red de esta manera, todos se irían de la moneda y ¿ha obtenido una ganancia única?
Primero envié la transacción de alto valor, luego esperé hasta que puedo estar seguro de que obtengo lo que pagué y luego soborno a los mineros para que acepten gastar el doble del dinero de la transacción, así que realizo el ataque mayoritario habitual. La diferencia es que, en mi opinión, los costos en PoW son solo los costos de sobornar a los mineros y no los costos de mantener el poder minero. Entonces el ataque es mucho más barato de lo que se suponía.
Para conocer el costo y los riesgos en el mejor y el peor de los casos de mi ataque, consulte mi respuesta en bitcoin.stackexchange.com/questions/1093/…

Respuestas (1)

¿Dónde está la culpa, en el escenario del ataque o en las suposiciones?

La falla radica en que ha descontado el costo de oportunidad que le toma a un adversario o un conglomerado de mineros subvertir la cadena al separarse de algún bloque anterior. La clave aquí es que existe un costo inherente al bifurcar la cadena de bloques a una altura arbitraria y volver a crear los bloques. El costo se puede formular como block subsidy + total transaction feesel número de bloques que un adversario desea reproducir.

En primer lugar, los mineros honestos no serán parte de esto, porque tendrían que renunciar a sus ganancias anteriores y hacer el doble de trabajo para volver a ganar la diferencia en las tarifas de transacciones de soborno prometidas, por lo que la transacción de conflicto con la que intenta sobornar al minero debe ser tan grande que tiene que ser el doble (al menos) block subsidy + total transaction fees * N. Donde N es el número total de bloques que desea reorganizar. Más importante aún, ¿qué es lo que el atacante busca lograr al donar una suma tan grande en sobornos (es realmente compatible con incentivos para hacerlo)?

En segundo lugar, el Supuesto 3 simplemente no tiene mucho sentido ya que carece de compatibilidad de incentivos. Como ha demostrado, seguro que un minero puede realizar un corto desnudo en un intercambio antes de coludirse para realizar el ataque descrito, existe el riesgo de emprender tal intercambio, ya que un intercambio por interés popular puede incumplir o retener pagos a un minero en colusión que emprende tal transacción. En pocas palabras, es más compatible con incentivos para que los mineros extraigan transacciones de manera honesta.

@sigmabe, he explicado que la venta corta tiene riesgo cambiario y de mercado para un adversario.
Sí, eso está claro, debemos pagar una tarifa para prestar las monedas para el corto. Tal vez la tarifa sea muy alta y por prestar monedas por valor de 10 millones de dólares debemos pagar tarifas de 1 millón de dólares. En total, ahora tenemos el avión de 10 millones de dólares que hemos comprado con nuestra transacción. Y los únicos costos son 1 millón de dólares en honorarios por el corto y 1 millón de dólares para sobornar a los mineros.
Tal vez haya un malentendido: tenemos una posición corta, no los mineros. Nuestro corto se realiza prestando monedas por 10 millones de $ para realizar el ataque.