El Protocolo BetterHash Permite a los Mineros de Piscina Recuperar el Control de su Poder de Hash

Un problema que preocupa a muchos es la centralización de la minería dentro del ecosistema de Bitcoin. Afortunadamente, hay desarrolladores con talento trabajando para resolver este problema y Matt Corallo, desarrollador de Bitcoin a tiempo completo en Chaincode Labs, es uno de ellos. Su Protocolo BetterHash Mining tiene la intención de disminuir significativamente los problemas asociados con la centralización de las piscinas mineras.

¿Qué son las piscinas mineras?

Primero, es importante entender que hay diferentes tipos de mineros en la red. A los efectos de este artículo, nos referiremos a un «minero solitario» como alguien que explota solo, un «hasher» es alguien que explota en una piscina minera, y un «operador de piscina» controla la piscina minera.

La minería en solitario es arriesgada, ya que sólo hay una parte relativamente pequeña de la energía de hachís que contribuye a la generación del bloque. Cuando un minero solitario encuentra un bloque, la recompensa puede ser mayor, pero los pagos serán menos frecuentes. Por esta razón, muchos mineros se unen a grupos para recibir pagos frecuentes de cantidades más pequeñas. La agrupación es cuando un número de mineros (hashers) se unen y pagan sus recompensas de bloque en un solo bote. Cuando cualquiera de ellos encuentra un bloque, en lugar de obtener la recompensa completa del bloque, la cantidad se distribuye a todos los hachís del grupo de forma proporcional a la cantidad de tasa de hachís que contribuyen a la red (menos una tarifa para el operador del grupo). De esta manera, una persona más pequeña recibe pagos consistentes diariamente y, en algunos casos, por hora.

En general, la función principal de un fondo minero es proporcionar pagos consistentes a los mineros para que puedan reducir su riesgo. Las piscinas mineras también cumplen importantes funciones secundarias que mejoran la red general. Por ejemplo, un minero más pequeño y menos técnico puede no querer ocuparse de las complejidades a las que se enfrenta un operador de pileta, tales como la propagación de bloques, la creación de bloques y otros asuntos altamente técnicos. Unirse a un grupo minero ofrece a los mineros menos técnicos una forma sencilla de acceder a la red para que puedan concentrarse en sus puntos fuertes, como por ejemplo, dirigir un negocio minero eficiente o localizar energía barata.

Sin embargo, debido a esto, actualmente sólo unos pocos, las grandes piscinas mineras dominan la red, lo que resulta en un alto grado de centralización dentro del sistema.

¿Qué es Stratum?

Stratum es la capa de protocolo entre las piscinas mineras, los clientes y el hardware minero. Los usuarios se conectan y se comunican con la piscina a través del protocolo Stratum. En un dispositivo de hardware para minería como un ASIC, hay un tablero de control que ejecuta una variante de software, como CG Miner, que luego «habla» Stratum y se conecta a la piscina. El pool le dice al ASIC en qué trabajar, y el ASIC responde enviando las acciones de vuelta al pool. Una parte es el trabajo que ha hecho un ASIC, esencialmente bloques no bastante válidos, pero suficientes para probar que el minero ha contribuido con trabajo para el fondo.

El primer objetivo de Corallo para BetterHash es reemplazar Stratum y mejorar sus debilidades. En la Propuesta de Mejora de Bitcoin (BIP) de Corallo, describe algunos de los inconvenientes actuales de Stratum:

«Difícil de implementar y mal documentado, el diseño del protocolo Stratum requiere que los operadores de pool construyan y distribuyan plantillas de bloques a sus clientes. Sin un cuerpo diverso de mineros construyendo plantillas de bloques, la resistencia a la censura de la red está en peligro (por ejemplo, los operadores de piletas pueden usar su posición de poder para restringir el flujo de actualizaciones de protocolos)».

Con Stratum, un operador de piscinas confirma que cada minero ha contribuido con trabajo para la piscina. El operador de pool también es responsable de crear un modelo de bloqueo que gestione la selección de operaciones. Con la incapacidad de crear una plantilla de bloques, los mineros no tienen control sobre lo que están minando. Un operador de piscina controla la tasa de hash de toda la piscina.

Esto es problemático porque un operador de pool, o un pequeño grupo de operadores de pool, podría potencialmente coludir usando este poder de hash para realizar ataques maliciosos en la red. Un mal actor con esta cantidad de poder de hash podría iniciar un ataque del 51% y realizar un doble gasto o censura en la red. Alternativamente, si un actor malicioso secuestrara el servidor DNS o el espacio IP de un grupo, un atacante podría robar la tasa de hash hasta que todos los mineros hicieran un ciclo de energía de su hardware ASIC.

MejorHijo vs. Estrato

BetterHash tiene la intención de prevenir este tipo de vectores de ataque porque está diseñado para permitir a los usuarios ejecutar su propio nodo completo y construir su propia plantilla de bloques. Construir su propia plantilla de bloques significa que puede seleccionar sus propias transacciones; por ejemplo, transacciones que de otro modo podrían haber sido censuradas. Además, los mineros pueden seleccionar en qué bloques están minando para evitar ataques de doble gasto.

Aunque las plantillas de bloques son personalizables, los pools continuarán actuando como lo harían normalmente, redistribuyendo las recompensas de bloques en relación con el poder del hash con las mismas propiedades comerciales y la misma frecuencia de pago.

Corallo comentó en una entrevista con el desarrollador de Bitcoin Jimmy Song:

«Podríamos tener una sola piscina para toda la red, y no sería gran cosa».

Descripción general del protocolo BetterHash y las ventajas de los bloques débiles

BetterHash está compuesto por un conjunto de protocolos que, cuando se combinan, tienen como objetivo proporcionar más documentación, eficiencia, seguridad y descentralización a las piscinas mineras. En el BIP de Matt Corallo, describe los dos protocolos principales de «BetterHash: Trabajo y Piscina».

«El protocolo de trabajo reemplaza tanto a getblocktemplate como a Stratum cuando se pasa directamente al hardware de minería, mientras que el protocolo de pago gestiona toda la comunicación con el cliente. La segregación de estas funciones proporciona a los participantes del pool la capacidad de construir plantillas de bloques con transacciones que ellos (u otro pool de su elección) han seleccionado, mientras que el pool supervisa la distribución de los pagos».

Estos protocolos proporcionan a los hacheros la información sobre cómo deben construir una transacción de base de monedas (la recompensa del bloque), así como a dónde enviar la recompensa de la minería. Además, proporcionan a los usuarios la información sobre cómo cargar las acciones en el fondo para que los mineros puedan demostrar que han contribuido con trabajo para el fondo. En general, la separación de estos dos protocolos permite a los hashers crear plantillas de bloques personalizadas al mismo tiempo que reciben los beneficios económicos que ofrece un pool minero.

Una característica adicional del protocolo de pool es la capacidad de enviar bloques débiles, lo que ayuda a los pools a optimizar la propagación de los bloques. Corallo describe este protocolo en su propuesta:

«El Pool Protocol tiene una característica adicional opcional para los pools que desean optimizar la propagación de bloques, mediante la cual los clientes envían WEAK_BLOCKs al servidor de pool para que las cargas de bloques completos sean eficientes. «

Los bloques débiles no son una idea nueva, pero pueden ser beneficiosos cuando se implementan con éxito. Los bloques débiles son acciones que los usuarios envían frecuentemente a un pool. Recuerde, una acción es un trabajo que ha sido realizado por hardware minero pero que no es suficiente para un bloque completo. Cada vez que el pool encuentra un nuevo bloque con la misma dificultad que un bloque débil antiguo, puede enviar una versión comprimida del bloque débil y compararlo con el nuevo bloque. Los usuarios del pool envían participaciones válidas mediante mensajes WINNING_NONCE o SHARE/WEAK_BLOCK. Esta comparación permite que el pool cargue bloques completos más rápido y, en última instancia, aumente la eficiencia de la minería.

Aunque BetterHash tiene la intención de devolver el poder a los mineros, se necesita conocimiento técnico para crear una plantilla de bloques. No todos los mineros quieren lidiar con estas complejidades. Por esta razón, Corallo explicó que no espera que los mineros menos técnicos se cambien a BetterHash de la noche a la mañana:

«Los pools optimizan el software en nombre de sus usuarios. Por esta razón, no creo que muchos de los pools (hashers) tengan interés en adoptar un protocolo (BetterHash) como este cuando les exige esfuerzo como la gestión y ejecución de un nodo completo».

Críticas a BetterHash

Mientras que muchos son optimistas sobre el potencial de BetterHash para disminuir la centralización minera, la propuesta de Corallo ha recibido algunas críticas. Una de las críticas más prominentes a BetterHash vino de Eric Voskuil, desarrollador de Libbitcoin y fundador de Bitware Co. El argumento principal de Voskuil es que BetterHash no disminuye significativamente la descentralización. Describió su perspectiva sobre GitHub, así como en una discusión en Twitter:

«Esta propuesta[BetterHash] no aumenta la seguridad de #bitcoin a través de una mayor descentralización, sino que simplemente cambia el punto de centralización. Este es esencialmente el mismo defecto que él[Matt Corallo] produjo en su trabajo sobre los relés».

La razón por la que BetterHash es criticada por «simplemente cambiar el punto de centralización» es porque los operadores de piscinas todavía mantienen una gran cantidad de control ya que podrían forzar a los hashers a censurar ciertas transacciones bajo la amenaza de no recibir pagos.

En respuesta a este argumento, Corallo dijo Bitcoin Magazine :

«Si bien es cierto que los consorcios podrían seguir ejerciendo influencia sobre sus clientes diciéndoles que apliquen ciertas reglas o que rechazarán los pagos, esto requiere una acción activa tanto por parte del consorcio como del cliente. Hoy en día, un pool podría simplemente cambiar sin avisar a sus usuarios y requeriría un esfuerzo significativo por parte de los clientes para descubrirlo, por no hablar de informar a otros usuarios del mismo pool y cambiar a un competidor. Con Betterhash, una piscina tendría que informar a sus usuarios, momento en el que sería más fácil para los usuarios cambiar de piscina que de nodo».

Aunque el software para construir una piscina minera y usar BetterHash está disponible actualmente, no hay grandes piscinas mineras que lo estén usando. Hoy en día, Corallo continúa trabajando (entre otras cosas) en aumentar la adopción de BetterHash para que los mineros tengan opciones adicionales en el futuro.


Leer más sobre:

Deja un comentario