Inicio Minería Stratum V2: descentralización del trabajo de minería

Stratum V2: descentralización del trabajo de minería

Stratum V2 es el protocolo de comunicación entre mineros y pools que introduce cifrado del canal, selección de transacciones por el minero individual y reducción de latencia. Su adopción tiene implicaciones profundas para la resistencia a la censura de Bitcoin.

¿Quién decide qué transacciones entran en un bloque?

En el modelo actual de minería con pools, la respuesta en la mayoría de los casos es: el pool, no el minero. Cuando un ASIC individual conectado a Foundry USA o Antpool produce el hash ganador, el bloque cuyas transacciones valida fue construido por el servidor del pool, no por el operador del minero doméstico. Stratum V2 fue diseñado, en parte, para cambiar este equilibrio de poder.

Stratum V1: el protocolo que V2 reemplaza

Stratum V1 fue diseñado por Marek Palatinus (slush) alrededor de 2012 como una mejora sobre el protocolo getwork. V1 es un protocolo JSON-RPC sobre TCP sin cifrar, con un diseño ad hoc que nunca fue formalizado en un BIP. Sus limitaciones principales son tres: primero, las comunicaciones viajan en texto plano, lo que permite que un ISP o un atacante de red intermedto vea y potencialmente manipule los datos; segundo, el pool construye la plantilla del bloque (el conjunto de transacciones), privando al minero individual de agencia sobre el contenido del bloque; tercero, el protocolo tiene ineficiencias de latencia que incrementan el stale share rate.

Qué introduce Stratum V2

Stratum V2 fue especificado formalmente por Marek Palatinus y Pavel Moravec (Braiins) con contribuciones de Matt Corallo en un documento de especificación técnica publicado en 2020. El protocolo se articula en cuatro subprotocolos:

Mining Protocol: la capa base de comunicación entre el minero y el pool, equivalente funcional de V1 pero con encoding binario eficiente (en lugar de JSON) y cifrado de canal mediante Noise Protocol Framework con claves efímeras y autenticación mediante AEAD. El cifrado no solo protege la privacidad sino que previene ataques de hash rate hijacking, donde un intermediario de red redirige el trabajo del minero hacia otro pool sin su conocimiento.

Job Declaration Protocol (JDP): esta es la innovación más significativa desde la perspectiva de la descentralización. El JDP permite que el minero individual (o un proxy en su nombre) construya su propia plantilla de bloque, seleccionando qué transacciones incluir desde su mempool local. El minero declara la plantilla al pool, el pool la valida y asigna trabajo sobre ella. El pool ya no controla el contenido del bloque: solo certifica el trabajo realizado.

Template Distribution Protocol: permite que el minero obtenga plantillas de bloque directamente desde un nodo completo local, eliminando la dependencia del pool para la construcción del bloque incluso en el caso de que el JDP no esté disponible.

Job Negotiation Protocol: facilita la negociación de la plantilla entre el minero y el pool en escenarios donde el JDP no está completamente implementado en el servidor del pool.

Implicaciones para la resistencia a la censura

El modelo V1 concentra la decisión de qué transacciones se incluyen en los bloques en un número reducido de operadores de pool. En el escenario extremo, si un gobierno presionara a los cinco mayores pools para excluir ciertas transacciones (por ejemplo, las de direcciones en listas OFAC), podría lograrlo técnicamente. Históricamente, algunos pools han filtrado transacciones de forma voluntaria o bajo presión regulatoria.

Con el Job Declaration Protocol de V2, cada minero individual decide el contenido del bloque. Para censurar una transacción habría que presionar a miles de operadores individuales de ASIC, no a cinco empresas de pool. La superficie de ataque para la censura se distribuye en proporción al número de participantes que implementen JDP. Esta propiedad conecta directamente con el ideal de descentralización que motivó el diseño de Bitcoin.

Adopción actual y trade-offs

Braiins Pool (anteriormente Slush Pool) fue el primer pool en implementar soporte completo de Stratum V2, incluyendo JDP. OCEAN Pool, lanzado en 2023 por Luke Dashjr con el objetivo explícito de descentralización, utiliza una arquitectura donde los mineros construyen sus propias plantillas, aunque con una implementación propia del protocolo.

La adopción más amplia se enfrenta a obstáculos reales. El Mining Protocol de V2 (cifrado y encoding binario) es relativamente sencillo de implementar y Braiins ha publicado firmware de código abierto para una amplia gama de ASIC. Sin embargo, el JDP requiere que cada minero opere un nodo completo de Bitcoin con acceso a una mempool actualizada, lo que implica hardware adicional, ancho de banda y conocimiento técnico. Para un operador doméstico con un solo ASIC, esto puede ser una barrera significativa.

Los pools grandes tienen también incentivos ambivalentes: implementar V2 puede diferenciarse como feature de privacidad y seguridad, pero el JDP reduce el control del pool sobre el contenido de los bloques, lo que puede complicar su cumplimiento regulatorio o sus modelos de negocio basados en la selección de transacciones de alto fee.

Estado del proceso de estandarización

Stratum V2 no ha sido formalizado como BIP (Bitcoin Improvement Proposal), aunque existe un borrador de especificación mantenido por Braiins y la comunidad en el repositorio stratum-mining/sv2-spec. La ausencia de un BIP formal refleja que el protocolo opera fuera del proceso de consenso del protocolo base: Stratum es una convención entre mineros y pools, no una regla del protocolo de Bitcoin. Cualquier pool y cualquier firmware puede adoptar V2 de forma independiente sin requerir activación en la red.

Para desarrolladores interesados en la implementación, el proyecto de referencia es el repositorio stratum-mining/stratum-v2-specs en GitHub, junto con la implementación de referencia en Rust del Stratum V2 Reference Implementation (SRI), mantenida por la comunidad con apoyo de Spiral (la rama de desarrollo de Block Inc.).

Conclusión

Stratum V2 representa el avance más significativo en la arquitectura de la minería en pool desde la invención del propio protocolo Stratum. Su relevancia no es solo técnica: el Job Declaration Protocol tiene el potencial de hacer que la censura de transacciones a nivel de pool sea técnicamente costosa, reforzando una propiedad fundamental de Bitcoin. La velocidad de adopción dependerá de si los incentivos económicos y regulatorios alinean a los pools y fabricantes de firmware con este objetivo.

Errores habituales

  • Creer que Stratum V2 es un cambio en el protocolo de consenso de Bitcoin: es solo el protocolo de comunicación entre mineros y pools, y no requiere activación en la red.
  • Asumir que el cifrado de Stratum V2 protege contra un pool malicioso: el cifrado protege el canal de red, no la relación de confianza con el pool.
  • Pensar que el Job Declaration Protocol está ampliamente desplegado: en 2025 su adopción es aún limitada y requiere que el minero opere un nodo completo.
  • Confundir OCEAN Pool con una implementación estándar de Stratum V2: OCEAN usa una arquitectura de selección de transacciones por el minero pero con su propia implementación, no necesariamente V2 completo.

Conceptos relacionados

Fuentes primarias

  • Braiins — Stratum V2 specification (stratumprotocol.org)
  • Stratum V2 Reference Implementation — github.com/stratum-mining/stratum
  • Matt Corallo — BetterHash Protocol (precursor de V2, 2018)
  • OCEAN Pool — ocean.xyz documentation
  • Spiral — SRI project funding announcement 2023