Rechazar o negarse a transmitir una transacción válida

Según el protocolo Bitcoin, ¿cuánto control tiene un nodo sobre cómo se trata una transacción una vez recibida? ¿Puede un nodo rechazar una transacción válida? ¿Puede un nodo negarse a transmitir una transacción válida a los nodos vecinos o la transacción se transmite automáticamente una vez validada? Si no se transmite automáticamente, ¿por qué no? ¿Por qué dar a un nodo la opción de controlar si se transmite o no una transacción válida?

¿Cómo se imagina hacer cumplir un requisito para retransmitir transacciones?

Respuestas (3)

Los nodos son solo software, al final del día.

El software Bitcoin Core transmitirá automáticamente las transacciones válidas estándar siempre que cumplan con la tarifa mínima de transmisión.

Sin embargo, sería bastante trivial modificar el software para que transmita solo si se cumplen ciertas otras reglas. Puede hacer esto fácilmente sin afectar el resto de la funcionalidad del nodo.

Por lo general, el nodo que transmite un tx lo transmitirá a múltiples pares, por lo que incluso si algunos pares imponen reglas de retransmisión adicionales, la transacción será transmitida por aquellos que no lo hagan.

Según el protocolo Bitcoin, ¿cuánto control tiene un nodo sobre cómo se trata una transacción una vez recibida?

Mira en el código fuente.

¿Puede un nodo rechazar una transacción válida?

El nodo tiene el derecho/capacidad de ignorar cualquier cosa :)

¿Puede un nodo negarse a transmitir una transacción válida a los nodos vecinos?

Sí puede. El nodo puede hacer todo lo codificado en el algoritmo.

¿O la transacción se retransmite automáticamente una vez validada?

La mayoría de los clientes lo hacen.

Si no se transmite automáticamente, ¿por qué no?

¿Porque?, si? En el sistema descentralizado nadie castigará por ello

¿Por qué dar a un nodo la opción de controlar si se transmite o no una transacción válida?

¿Por qué no? La presencia de tal opción es mejor que la ausencia de ella. Esto nos da más libertad - hacer o no hacer

Si ejecuta el software de nodo estándar, puede esperar que transmitan todas las transacciones válidas. Un (editar: no solo) parámetro configurable (en Bitcoin Core) es el minrelayfee. Por lo tanto, puede optar por no retransmitir transacciones si las tarifas son demasiado bajas. Esto es para ayudar a prevenir el spam.

Si quisiera filtrar por otros parámetros (por ejemplo, direcciones de la lista negra), esto sería fácil de hacer modificando el software ya que es de código abierto. Esto sería difícil de detectar si un nodo está haciendo esto y no tendría un gran impacto en la red a menos que la gran mayoría de los nodos comenzaran a hacerlo. Aun así, los nodos de arranque no harán esto y tal ataque no sería factible.

hay un segundo parámetro configurable-blocksonly