¿Técnicas o propuestas para exigir que las transacciones se incluyan en un bloque?

Tal como está ahora, un minero (o grupo de minería) puede discriminar cualquier transacción por cualquier motivo si está ejecutando una versión personalizada de código.

Supongamos que un grupo de minería malvado y poderoso decidió hacer hash de bloques, pero no incluyó ninguna transacción, incluso si se incluyó una tarifa. Esto reduciría la velocidad a la que se incluiría un bloque en la cadena... causando efectivamente un DOS contra ciertas transacciones.

Este es un comportamiento destinado a fomentar que las transacciones incluyan tarifas (o pronto será el comportamiento). Pero supongamos que un operador de grupo (o un poderoso consorcio minero) decide que quiere acabar con Bitcoin y no incluir ninguna transacción... en absoluto.

Pregunta

  • ¿Qué soluciones técnicas existen para requerir bloques para tener transacciones?

Desafío

  • No queremos que el atacante solo incluya las transacciones que crea el grupo de minería malvado, sino también las transacciones que crean otros.

  • No quiero alentar demasiadas transacciones de bajo costo en este modelo, desincentivando así la actividad minera.

¿Existe alguna solución que aborde estos objetivos de manera justa y equilibrada?

Tal consorcio estaría reduciendo el valor del sistema de Bitcoin y, por lo tanto, reduciendo el valor total de toda la minería de Bitcoin. Es difícil imaginar un escenario en el que alguien con una inversión significativa en hardware de minería de Bitcoin tenga un incentivo para reducir el valor total de toda la minería de Bitcoin.
No es tan difícil de imaginar para una persona (extorsión, sabotaje pagado, despecho), pero si se trata de un grupo, los otros mineros abandonarían el barco cuando se dieran cuenta de lo que está sucediendo. No creo que tal ataque pueda sostenerse a menos que el malévolo poder minero esté bajo el control de una entidad. Entonces, sin embargo, me parece improbable que una persona tenga una parte suficiente del poder minero para tener un impacto importante.

Respuestas (2)

Si el atacante tiene un hashrate minoritario, no creo que esto sea un gran problema. Si excluye todas las transacciones en sus bloques pero no intenta dejar huérfanos a otros bloques, lo peor que puede pasar es un aumento de x2 en el tiempo promedio hasta la primera confirmación (sin efecto en las confirmaciones posteriores). Esto es bastante menor.

Si el atacante tiene una tasa de hash mayoritaria, puede dejar huérfanos todos los demás bloques y excluir todas las transacciones, y luego las transacciones nunca se confirmarán. Este es un problema y la variante principal del ataque >50%. Las posibles soluciones incluyen modificar el mecanismo de selección de sucursales para preferir bloques con más transacciones de alta prioridad, lo que significa que incluso con una tasa de hash mayoritaria, si intenta denegar la transacción, no tiene la garantía de vencer a la sucursal honesta.

Por cierto, si el atacante tiene una tasa de hash superior al 40 %, existe una técnica para amplificar su tasa de hash y obtener más bloques de los que le corresponde. Entonces, si, por ejemplo, tiene un hashrate del 49% y usa esta técnica, puede acercarse al 100% de los bloques, lo que retrasa significativamente la confirmación de tx.

No estoy de acuerdo con su premisa "Esto reduciría la velocidad a la que se incluiría un bloque en la cadena". Todos los demás mineros o grupos tienen tantas posibilidades de descubrir un bloque como el malvado. A menos que el malvado sea tan poderoso que esté afectando la dificultad de manera significativa, sus bloques en blanco no impedirán que otros mineros descubran bloques normales.

Creo que su pregunta es simplemente una reafirmación del problema del "51%".

O más bien un problema proporcional... si el pool posee el 25% del hash, entonces el perjuicio máximo es del 25%. (etc)