En el último artículo de Mempool, repasé los diferentes tipos de filtros de políticas de retransmisión, por qué existen y los incentivos que finalmente deciden cuán efectiva es cada clase de filtro para evitar la confirmación de diferentes clases de transacciones. En esta pieza, analizaré la dinámica de la red de retransmisión cuando algunos nodos en la red ejecutaran diferentes políticas de retransmisión en comparación con otros nodos.
En igualdad de condiciones, cuando los nodos en la red ejecutan políticas de retransmisión homogéneas en sus memiones, todas las transacciones deberían propagarse en toda la red dado que pagan el mínimo de Feerate necesario para no ser desalojado de la Mempool de un nodo en tiempos de grandes transacciones de transacciones. Esto cambia cuando diferentes nodos en la red ejecutan políticas heterogéneas.
La red de retransmisión de Bitcoin opera con la mejor base de esfuerzo, utilizando lo que se llama arquitectura de relleno de inundaciones. Esto significa que cuando una transacción es recibida por un nodo, se reenvía a cualquier otro nodo con el que esté conectado, excepto en el que recibió la transacción. Esta es una arquitectura de red altamente ineficiente, pero en el contexto de un sistema descentralizado proporciona un alto grado de garantía de que la transacción eventualmente alcanzará su destino previsto, los mineros.
La introducción de filtros en la política de retransmisión de un nodo para restringir el retransmisión de transacciones válidas en teoría introduce la fricción a la propagación de esa transacción y degrada la confiabilidad de la capacidad de la red para realizar esta función. En la práctica, las cosas no son tan simples.
Cuánta fricción previene la propagación
Veamos un ejemplo simplificado de diferentes composiciones de nodos de red. En los siguientes nodos gráficos, los nodos azules representan los que voluntad propagar una clase arbitraria de transacciones válidas de consenso, y los nodos rojos representan los que no propagar esas transacciones. El conjunto colectivo de mineros se denota en el centro como una representación simple de dónde los usuarios de transacción finalmente quieren que sus transacciones terminen para que eventualmente se confirme en la cadena de bloques.

Este es un modelo de la red en el que los nodos que se niegan a propagar estas transacciones son una minoría clara. Como puede ver claramente, cualquier nodo en la red que los acepte tiene un camino claro para transmitirlos a los mineros. Los dos nodos que intentan restringir la propagación de transacciones a través de la red no tienen ningún efecto en su eventual recibo por parte de los nodos de los mineros.

En este diagrama, puede ver que casi la mitad de la red de ejemplo está instituyendo políticas de filtrado para esta clase de transacciones. A pesar de esto, solo una parte de la red que propaga estas transacciones se corta de una ruta a los mineros. El resto de los nodos que no se filtran todavía tienen una ruta clara hacia los mineros. Esto ha introducido cierto grado de fricción para un subconjunto de usuarios, pero los otros aún pueden participar libremente en propagar estas transacciones.
Incluso para los usuarios que se ven afectados por los nodos filtrantes, solo es necesaria una conexión única con el resto de los nodos de red que no se cortan de los mineros (o una conexión directa a un minero) para que se elimine esa fricción. Si la red de retransmisión real tuviera una composición similar a este ejemplo, todo lo que tomaría es una sola conexión nueva para aliviar el problema.

En este escenario, solo una pequeña minoría de la red en realidad está propagando estas transacciones. El resto de la red se está involucrando en políticas de filtrado para evitar su propagación. Sin embargo, incluso en este caso, aquellos nodos que no se están filtrando todavía tienen un camino claro para propagarlos a los mineros.
Solo esta pequeña minoría de nodos no filtrantes es necesaria para garantizar su eventual propagación a los mineros. Lógica de pares preferencial, es decir, funcionalidad para garantizar que su nodo prefiera pares que implementen la misma versión de software o políticas de retransmisión. Estos tipos de soluciones pueden garantizar que los pares que propagarán algo a los demás no se encontrarán y mantendrán conexiones entre ellos en toda la red.
La minoría tolerante
Como puede ver mirando estos diferentes ejemplos, incluso frente a una abrumadora mayoría de la red pública que participa en el filtrado de una clase específica de transacciones, todo lo que es necesario para que se propagen con éxito a través de la red a los mineros es una pequeña minoría de la red para propagarlas y transmitirlas.
Estos nodos esencialmente, a través de cualquier mecanismo técnico, creará una “sub-red” dentro de la red de retransmisión pública más grande para garantizar que hay rutas viables de los usuarios que participan en este tipo de transacciones a los mineros dispuestos a incluirlos en sus bloques.
Esencialmente no hay nada que se pueda hacer para contrarrestar esta dinámica, excepto para participar en un ataque de Sybil contra todos estos nodos, y los ataques de Sybil solo necesitan una sola conexión honesta para ser completamente derrotado. Además, un nodo honesto que crea una gran cantidad de conexiones con otros nodos en la red puede aumentar el costo de dicho ataque de Sybil exorbitantemente. Cuantas más conexiones crea, más nodos sybil deben ser girados para consumir todas sus ranuras de conexión.
¿Qué pasa si no hay minoría?
Entonces, ¿y si no hay una minoría tolerante? ¿Qué pasará con esta clase de transacciones en ese caso?

Si los usuarios aún quieren hacerlos y pagar tarifas a los mineros por ellos, serán confirmados. Los mineros simplemente configurarán una API. El papel de los mineros es confirmar las transacciones, y la razón por la que lo hacen es maximizar las ganancias. Los mineros no son entidades desinteresadas, o motivadas moral o ideológicamente, son un negocio. Existen para ganar dinero.
Si existen usuarios que están dispuestos a pagarles dinero por un cierto tipo de transacción, y la totalidad de la red de retransmisión pública se niega a propagar esas transacciones a los mineros para incluirlas en bloques, los mineros crearán otra forma para que los usuarios envíen esas transacciones a ellos.
Es simplemente el movimiento racional para hacer como un actor motivado por las ganancias cuando existen clientes que desean pagarle dinero.
La política de retransmisión no es un reemplazo para el consenso
Al final del día, la política de retransmisión no puede censurar con éxito las transacciones si son válidas, los usuarios están dispuestos a pagar por ellas, y los mineros no tienen algunas circunstancias atenuantes para rechazar las tarifas que los usuarios están dispuestos a pagar (como causar daños materiales o daños a los nodos en la red, es decir, nodos, propagando bloques que toman horas para verificar en una PC de los consumidores, etc.).
Si los usuarios y operadores de nodos consideran que alguna clase de transacciones es indeseable por los usuarios de Bitcoin y los operadores de nodos, no hay una solución para evitar que se confirmen en la cadena de bloques que no representa un cambio de consenso para que no sean válidos.
Si fuera posible evitar que las transacciones se confirmaran mediante el filtrado de políticas implementadas en la red de retransmisión, entonces Bitcoin no sería resistente a la censura.