pr-34628

p2p: Replace per-peer transaction rate-limiting with global rate limits

Ver Pull Request en GitHub ↗

  1. Introducción
  2. Pregunta 1
    ¿Qué problema busca resolver el PR? ¿Algún incidente en específico que motive el cambio?
  3. Pregunta 2
    ¿Cómo es el flujo de relay de una transacción? ¿Podrías describir el camino que sigue una transacción desde que entra a la mempool hasta que se emite vía “INV”?
  4. Pregunta 3
    El PR introduce “dual token buckets”. ¿Qué es un TokenBucket?
  5. Pregunta 4
    En el commit 94d2027 se cambia m_tx_inventory_to_send de std::set<Wtxid> a std::vector<Wtxid>. ¿Qué se gana y qué se pierde? ¿Cómo se manejan los duplicados ahora?
  6. Pregunta 5
    Los peers outbound reciben un refill rate de 2.5x más rápido. ¿Por qué privilegiar outbound sobre inbound?
  7. Pregunta 6
    Además del comportamiento, el PR introduce una nueva opción de configuración y expone información nueva vía RPC. ¿Qué son esas adiciones?
  8. Pregunta 7
    Cuando una transacción llega, el código decide si va por “immediate relay” o al backlog global. ¿Cómo funciona ese backlog? ¿Qué pasa con una transacción que cae en el backlog? ¿Cuándo y cómo se drena?
  9. Pregunta 8
    ¿Has compilado/testeado el PR? ¿Cómo te organizaste para revisarlo? ¿Hay algo que te sorprendió, edge cases que falten, o algo que te gustaría discutir en grupo?