-
Stratum V2 es un protocolo de comunicación entre ASICs y el operador del Pool.
-
Esta nueva versión trae mejoras en seguridad, el ancho de banda y como se confeccionan los bloques.
Jan Čapek es el cofundador y coCEO de la compañía Braiins, conocida por ser operada por el primer pool de minería de Bitcoin, ‘Slush Pool’. En conversación con CriptoNoticias nos habló sobre el protocolo de código libre Stratum V2, que vio la luz en el contexto del lanzamiento de su nuevo firmware para mineros ‘Braiins OS+’.
Stratum V2 es un protocolo que fue diseñado desde cero para funcionar con prueba de trabajo distribuida. Cuando se implementó Stratum V1 veníamos de un paradigma donde los mineros eran a su vez quienes confeccionaban sus propios bloques, Es decir, el código que se utilizó como base no contemplaba la existencia de pools. Fue la urgencia de adaptar la industria rápidamente la que obligó a reutilizar dicho código. Al respecto, Jan Čapek señala:
Nosotros fuimos quienes realmente “inventamos” la minería en pools, Braiins opera el primer grupo de trabajo de minería ‘Slush Pool’. Cuando empezamos con ello surgió la idea de un nuevo protocolo llamado Stratum, el cual mejoraba la manera en que los mineros solían trabajar en 2010 y 2011. Sin embargo, este fue construido sobre una tecnología antigua y hubo algunas pequeñas decisiones de diseño con las que no era muy cómodo trabajar.
Jan Čapek, cofundador y coCEO de Braiins.
En la versión 1 del protocolo la conexión entre minero y pool no era privada ni fiable. Así que se estaba bastante propenso a sufrir ataques de ‘man in the middle’. Haciendo una analogía sobre como navegamos por Internet, si Stratum V1 funciona como HTTP, Stratum V2 funciona como HTTPS. Es decir, se incorpora encriptación y autentificación, que da certeza de que el pool es quien dice ser, mediante el uso de firmas digitales —en HTTPS se usan certificados SSL/TLS—.
Para resaltar la importancia de este cambio, Jan nos cuenta sobre un software malicioso —malware— diseñado específicamente para aprovechar esta vulnerabilidad:
El protocolo en sí no tenía seguridad, por lo que la conexión prácticamente no tenía autenticación y no era encriptada entre tu minero y el pool. Así que estaba bastante propenso a sufrir ataques de personas en el medio, los cuales realmente son bastante populares en estos días. Incluso existe malware para enrutadores (routers), que retransmiten una pequeña parte del tráfico de Stratum de modo tal que no sea fácil detectarlo.
Jan Čapek, cofundador y coCEO de Braiins.
Un protocolo más eficiente y descentralizado
Si hablamos de eficiencia entre los mensajes de los mineros y el operador del pool, estos abandonan el formato JSON —un protocolo de comunicación basado en un texto fácil de leer y escribir por humanos— y adoptan el lenguaje binario —lenguaje máquina—. Esto significa que los dispositivos hablan entre sí de forma directa, sin intérpretes. Adicionalmente, se redujo la carga de cierta información redundante. El mayor beneficiado de todo esto es sin dudas el ancho de banda, un detalle no menor, ya que no todos los mineros disponen acceso a redes de fibra óptica.
La minería de Bitcoin ha sido blanco de críticas debido a la potencial cartelización de la industria por parte de los pools. Si bien es improbable que suceda por cómo funciona la teoría de juegos, hasta ahora quienes tenían un minero únicamente podían elegir entre los diferentes pools de minado que hay disponibles, cada uno con sus respectivas reglas y reputaciones. La participación del minero era netamente representativa, puesto que al optar por un pool su hash power no solo validaba la política de recompensas, sino también la política de selección de transacciones a minar.
Stratum V2 incluye una funcionalidad que le permite al minero y al operador del pool de minería negociar las condiciones en las que ambos trabajarán juntos. Mediante un mecanismo tokenizado —para no depender de la buena voluntad del otro—, minero y operador pueden negociar plantillas de bloques enumerando las transacciones o tipo de transacciones que se incluirán. Esto significa que el minero sabe de antemano que tipos de transacciones serán minadas.
En este sentido, desde CriptoNoticias, le preguntamos al entrevistado que sucedería si el dueño de uno o varios mineros decide poner como condición para unirse a un pool que se incluyan una cantidad x de transacciones gratuitas o de muy baja comisión de minado:
Si tú eres un “minero ideológico” el problema es que tú, en realidad, estás socializando tu decisión con los otros mineros en el pool, donde la mayoría de los mineros quieren maximizar sus ganancias. Quieren máximas ganancias porque ese es el incentivo intrínseco en Bitcoin, por eso es por lo que tenemos mineros. Sin embargo, tu plantilla podría ser aprobada puesto que el operador puede decir: “A mí no me importa, yo asumo que la mayoría de mis mineros van por optimizar un máximo de comisiones y estos casos son marginales”.
Jan Čapek, cofundador y coCEO de Braiins.
Otra pregunta que surgió fue si este mecanismo de trabajos pre-negociados son una fórmula para evitar la aparición repentina de bloques vacíos, lo cual congestiona la red. Jan Čapek nos contesta lo siguiente sobre este punto:
En Stratum V1 nosotros enviábamos una notificación de minado que siempre contenía el prevhash y todo el contenido necesario para abordar el bloque. Pero en V2 nosotros separamos esta carga en dos partes. Básicamente tienes toda la información que necesitas para los modelos bloque de antemano, y luego el prevhash cuando se puede empezar a minar dicho bloque, que viene separado. Así que, básicamente tú sabes que es lo que vas a minar, no hay sorpresas. Este podría ser un modelo vacío, este podría ser uno con algunas transacciones menos valiosas, o cualquier cosa, no importa.
Jan Čapek, cofundador y coCEO de Braiins.
La adopción de Stratum V2 está en la mira
Nos surgió la duda de si podremos identificar cuando se mine el primer bloque bajo Stratum V2, por lo cual decidimos preguntarle si sería viable señalizarlo: «¿Cuál crees que será la tasa de adopción? ¿Notaremos cuando aparezca el primer bloque minado con Stratum V2? ¿Se ve diferente de alguna manera o lucen igual?». Jan Čapek respondió en los siguientes términos:
No se puede diferenciar entre estos dos, porque tendríamos que poner una firma especial para los modelos de bloques que sean distribuidos por medio de este canal, lo cual de hecho es una idea interesante y quizás queramos hacerlo. Existe algo de espacio en los bits de la versión que están siendo usados para ASIC Boost, por lo que podríamos usar algo de esto también. Hay algunos detalles técnicos que deberíamos tener en cuenta si hiciéramos esto. Pero en todo caso es algo deseable, gracias por la idea.
Jan Čapek, cofundador y coCEO de Braiins.
Ya por el final, hablamos sobre la adopción del protocolo por parte de la industria. Čapek resalta que la recepción ha sido muy positiva pues es beneficioso para quien tiene problemas de ancho de banda, mientras que al mismo tiempo la creciente amenaza de malware sobre el protocolo Stratum V1 se ve aliviada.
Nosotros solo vemos beneficios en usar el protocolo. Queda de parte de nosotros comunicar esto de manera apropiada a todos los participantes de la industria de manera que se den cuenta de que tiene sentido utilizarlo. Pero nosotros no podemos forzar a nadie a que lo use, dependerá de cada uno. Por eso nosotros lo proveemos como una alternativa, lo cual nosotros creemos que debería ser el futuro, porque no hay espacio aquí en la industria para algunos protocolos antiguos que son completamente obsoletos, inseguros y demás. Es un milagro que no haya ocurrido un incidente mayor, un gran incidente de seguridad. Ha habido algunos ataques BGP, pero solo eso.
Jan Čapek, cofundador y coCEO de Braiins.
Con esto concluye la primera parte de esta entrevista de Jan Čapek con CriptoNoticias. En la próxima entrega hablaremos sobre el firmware para ASICs Braiins OS+ y su función de autotunning.