Una pool de minería es un espacio que le permite a los mineros trabajar de forma cooperativa para poder minar bloques de criptomonedas. Fueron creados con la finalidad de facilitar enormemente el trabajo de minería y para hacer frente de forma más efectiva a la creciente dificultad de minar Bitcoins y otras criptomonedas.
Las pools de minería son una agrupación de mineros que cooperan con el objetivo de minar bloques de una blockchain. La finalidad de esta agrupación es la de facilitar el trabajo de minería y obtener beneficios equitativos para todos dentro del grupo.
La creación de estas agrupaciones responde a la necesidad de poder resolver satisfactoriamente los acertijos de una blockchain a medida que se aumenta el poder de su red y la dificultad de la minería. Un trabajo que de forma individual sería muy difícil de concretar para cada minero.
La primera pool de minería Bitcoin
La primera pool de minería que fue creada se llama SlushPool. Fue presentada en el foro Bitcointalk el día 27 de noviembre de 2010 por el usuario Slush. Este usuario fue CEO y cofundador de Trezor. SlushPool se implementó en Europa, concretamente en Polonia, país de procedencia del propio Slush. La intención de su creador, era unir las fuerzas de los mineros con poca potencia. Esto con el fin de hacer frente a la creciente práctica de minería por GPU que nacía en Bitcoin. El resultado de esta interesante visión fue sorprendente al permitir a dichos mineros obtener mejores ganancias en grupo que en solitario.
¿Cómo funciona una pool de minería?
El funcionamiento de las pools de minería depende de tres claros actores, responsables de la cooperatividad entre todas las unidades de minería integrantes de dicha pool.
Protocolo de trabajo cooperativo
El funcionamiento de las pools de minería no sería posible si el protocolo Bitcoin no permitiera esta función. En primer lugar, el responsable de esto es una función que está integrada en el cliente base de Bitcoin. Dicha funcionalidad se conoció en su momento como getwork. Esta permitía a un grupo minero disperso tuviera un bloque objetivo para minar de forma cooperativa. De esta forma, se concentra el poder minero en un objetivo específico en lugar de otros individuales. Por lo tanto sirve para optimizar el proceso de minería global.
Getwork en realidad lo que hacía era comunicar a un grupo de mineros para que juntos minaran un mismo bloque. Cada minero trabajando en soluciones únicas hasta que uno de ellos pudiera resolverlo de forma satisfactoria. De esta forma, el bloque se minaría de forma más rápida y se evitan retrasos en la red por el aumento de dificultad que se avecinaba. En ese entonces Bitcoin crecía rápidamente, de minar por CPU se pasó a las GPUs, mientras los FPGAs y las ASICs estaban asomándose a las puertas.
Sin embargo, Getwork tenía algunas debilidades que luego fueron superadas gracias a la función getblocktemplate. Esta nueva función permite superar las debilidades del antiguo sistemas permitiendo una mejor escalabilidad y seguridad.
Servicio de minería cooperativa (Servidor)
Para poder permitir que varios mineros puedan congregar su poder de cómputo en un punto, es necesario tener un servidor que sirva de enlace. Puede sonar irónico que una tecnología descentralizada como la blockchain dependa de un servicio centralizado. Pero hay buenas razones para ello: mantener el ritmo de producción de bloque y permitir ganancias a los más pequeños.
Los software para servidores de minería cooperativa más comunes son el propio servicio oficial de Bitcoin, el bitcoind. Otros softwares bastante comunes son BFGMiner, p2pool, ecoinpool o stratum. En cualquiera de estos casos el funcionamiento es básicamente el mismo.
En primer lugar, se instala el software del servicio a utilizar, por ejemplo, bitcoind. Este servicio se configura de tal forma que pueda escuchar las conexiones que llegan desde Internet a su servidor. De esta forma, se puede abrir un canal de comunicación entre los mineros y el servidor de minería cooperativa. En este punto, cada minero debe tener una cuenta registrada de forma que el servidor pueda darle acceso al servicio. Pero no solo eso, el registro también sirve para repartir las ganancias de la minería entre quienes forman parte de la pool.
El trabajo de servidor es simple:
- Recibir las transacciones de la red.
- Comunicar a los mineros la información.
- Controlar y monitorizar el trabajo.
- Enviar a la red los bloques resueltos correctamente.
- Realizar la contabilidad de bloques resueltos y del trabajo aportado por los mineros.
- Por último, enviar la correspondiente ganancia a los mineros de la pool.
Software de minería (Cliente)
Cada software de minería tiene características y soportes distintos. Los mineros deben elegir correctamente el software de minería que se ajuste a las características de la pool de minería a la que se unirán. El trabajo de un software de minería es sencillo. Este se conectará al servidor de minería cooperativa o pool, recibirá la información y comenzará a solucionar el acertijo del bloque dado. Una vez que encuentra la respuesta al bloque la envía y continúa con su trabajo ayudando a resolver el próximo bloque.
Adicional a este trabajo, el software de minería gestiona la autenticación y el pago correspondiente al minero por su labor. Para ello, los software de minería normalmente apuntan un usuario, contraseña y dirección para el pago. Todo ello dirigido a la dirección IP y puerto que el servidor mantiene activa para realizar su trabajo.
Aún así, el software de uso depende en parte de la parte de control del hardware de minería propio. En la red Bitcoin por ejemplo, el software más comúnmente utilizado por los mineros los últimos años ha sido cgminer. El software cgminer fue desarrollado por un anestesista australiano. En Bit2Me Academy tenemos dedicado un artículo a este creador llamado Con Kolivas, muy conocido en el foro Bitcointalk como «-ck».
En conclusión, el conjunto de estos tres elementos es lo que permite a una pool de minería desempeñar su función de enlace para la comunicación y gestión de las tareas de forma cooperativa.
Grandes pools de minería en la actualidad
Desde la aparición de la primera pool de minería estos espacios se han expandido. Nuevas pools de minería aparecieron y al mismo tiempo diversificaban sus opciones. En principio, las pools se dedicaban solo a Bitcoin, pero luego comenzaron a aparecer pools de otras criptomonedas. En la actualidad, prácticamente todas las criptomonedas importantes cuentan con pools de minería. La razón tras esto es muy sencilla: facilitan la minería y aseguran el buen funcionamiento de la red en general.
Pero de entre todos los servicios de pools de minería algunos destacan por muchas razones. Entre ellos los más importantes son:
AntPool
AntPool es la pool de minería de Bitcoin más grande en términos de potencia de hash rate. Su base de operaciones está en China. Esta pool de minería es controlada por el fabricante de mineros ASIC Bitmain, empresa con mayor distribución de mineros del mundo en el último lustro. El uso del servicio de pool de minería es abierto y gratuito. Posee un alto nivel de seguridad y las comisiones que cobra el servicio no son muy altas.
AntPool ofrece pools de minerías para las criptomonedas Bitcoin (BTC), Bitcoin Cash (BCH), Litecoin (LTC), Ethereum (ETH), Ethereum Classic (ETC), Zcash (ZEC), Dash (DASH), Siacoin (SIA), Monero Classic (XMC) y Bitom (BTM).
Nanopool
Nanopool es una de las pools de minería más grandes en la red de Ethereum y una buena alternativa para la minería de altcoins populares. Sus servidores están distribuidos en todo el mundo, por lo que cuenta con mayor tolerancia a fallos. El cobro de comisiones de Nanopool no supera el 2% para su grupo de criptomonedas soportadas entre las que están, Ethereum, Ethereum Classic, Zcash, Monero, SiaCoin, Grin, Raven, Electroneum y Pascal. Su nivel de seguridad está a la par del que posee AntPool, con opciones para soportar ataques DDOS a su infraestructura.
F2Pool
F2Pool es otra de las pools de minería más relevantes de Bitcoin ubicada en China con muchas más opciones de minería de altcoins, lanzado en el año 2013. En la comunidad de mineros también es conocido como «Discus Fish mining pool«. El sitio tiene disponible la interfaz en español y es simple y fácil de entender. Las comisiones de esta pool son un poco más altas pero no llegan a superar el 4%. Entras las criptomonedas soportadas se encuentran: Bitcoin (BTC), Ether (ETH), Litecoin (LTC), Zcash (ZEC), Ethereum Classic (ETC), Siacoin (SC), Dash (DASH), Monero (XMR), Monero Classic (XMC), Decred (DCR), Zcoin (XZC) y Verge (XVG).
Ventajas y desventajas de una pool de minería
La principal ventaja de una pool de minería es el hecho de facilitar el trabajo de minería a quienes participan en dicha pool. Esto permite a los participantes obtener ganancias que de forma individual, les costaría mucho más tiempo de poder lograr. Otras de sus ventajas, es que el sistema permite mantener la escalabilidad de la minería. Gracias a la concentración de poder minero, se garantiza que la red pueda hallar la resolución necesaria de cada bloque en el tiempo acordado. De esta manera, se minimiza la generación de bloques vacíos en la blockchain. Además todos los mineros que participan en la pool reciben ganancias acorde al poder minero que tienen. Ninguno de ellos se queda sin recibir su ganancia por pequeña que esta sea.
Por el lado de las desventajas, está el hecho de confiar en una organización centralizada. Los administradores de la pool pueden modificar la acción del mismo y quedarse con las recompensas de la minería en su totalidad. Una situación que se ha repetido en varios momentos con pools bastantes conocidas en su momento como 50BTC y BTC Guild.