Minería

Períodos de Minería de los Mineros
En versiones anteriores de Stacks (antes de la Actualización Nakamoto), los mineros de Stacks minaban nuevos bloques de Stacks con una cadencia uno a uno con los bloques de Bitcoin.
Después de Nakamoto, ya no es así. Bajo las reglas de Nakamoto, en su lugar se seleccionan mineros para un periodo que corresponde a un bloque de Bitcoin. Durante este periodo, los mineros construyen y proponen varios bloques de Stacks (aproximadamente cada 10 segundos) y los stackers los aprobarán y anexarán (sección siguiente).
Para ser considerado para un periodo, un minero debe tener un commit de bloque incluido en un bloque de Bitcoin. Si un minero desea actualizar su compromiso después de la presentación, puede usar Replace-By-Fee de Bitcoin.
Recompensas de coinbase
Los mineros reciben recompensas de coinbase por los periodos que ganan.
Las cantidades de recompensa son:
1000 STX por periodo se liberan en los primeros 4 años de minería
500 STX por periodo se liberan durante los siguientes 4 años
250 STX por periodo se liberan durante los siguientes 4 años
125 STX por periodo se liberan a partir de entonces de forma indefinida.
Estos “halvings” están sincronizados con los halvings de Bitcoin.

Tarifas de transacción
Los mineros reciben tarifas de Stacks por las transacciones minadas en cualquier bloque que produzcan.
Maduración de la recompensa
Las recompensas de bloque y las tarifas de transacción tardan 100 bloques en la cadena de bloques de Bitcoin en madurar. Tras minar con éxito un bloque, tus recompensas aparecen en tu cuenta de Stacks después de ~24 horas.
Minado con proof-of-transfer
Los mineros comprometen Bitcoin a dos direcciones en cada commit de líder de bloque. La cantidad comprometida a cada dirección debe ser la misma. Las direcciones se eligen del conjunto de recompensas actual de los participantes en el stacking. Las direcciones se eligen usando una función aleatoria verificable, y determinar las dos direcciones correctas para un bloque dado requiere monitorear la cadena de Stacks.
Para obtener información más detallada sobre este proceso, lee SIP-007, que describe proof of transfer en detalle.

El minado PoX es una modificación del minado Proof-of-Burn (PoB), donde en lugar de enviar el Bitcoin comprometido a una dirección de quema, se transfiere a tenedores de STX elegibles que participan en el protocolo de stacking.

Los mineros ejecutan nodos de Stacks con minería habilitada para participar en el mecanismo PoX. El nodo implementa el mecanismo PoX, que asegura el manejo adecuado y los incentivos a través de cuatro fases clave:
Registro: los mineros se registran para una elección futura enviando datos de consenso a la red
Compromiso: los mineros registrados transfieren Bitcoin para participar en la elección. Los BTC comprometidos se envían a un conjunto de tenedores de tokens STX participantes
Elección: una función aleatoria verificable elige un minero para un nuevo periodo para escribir bloques en la cadena de Stacks
Ensamblaje: el minero elegido escribe los nuevos bloques extrayendo transacciones del mempool y recoge recompensas en forma de nuevos tokens STX
Probabilidad de minar el siguiente bloque
El minero que es seleccionado para minar el siguiente bloque se elige dependiendo de la cantidad de BTC que los mineros enviaron, es decir, transferidos o quemados.
La probabilidad de que un minero mine el siguiente bloque se determina usando una variación de la Estrategia de Mitigación MEV Assumed Total Commitment with Carryforward (ATC-C) descrita en este documento para asignar las recompensas de bloque a los mineros. La probabilidad de que un minero gane la sortición y se le conceda el periodo actual se basará en una función que tiene en cuenta el gasto total de commits de bloque en los bloques que conducen a la sortición actual.
Puedes leer más sobre esto en la sección MEV de SIP-021.
Aunque el protocolo no impone un compromiso mínimo de BTC, en la práctica existe un piso limitado por dust: básicamente, si las tarifas de una transacción exceden el valor de la salida gastada, se considera dust. Cómo se calcula depende de varios factores; hemos encontrado que 5.500 satoshis es un buen límite inferior por salida. Las transacciones de Bitcoin de los mineros de Stacks contienen dos salidas (para Proof-of-Transfer), por lo que se recomienda un compromiso de al menos 11.000 satoshis / bloque.
Para calcular la cantidad de BTC a enviar, los mineros deberían:
Adivinar el precio BTC/STX para el día siguiente (100 bloques más tarde)
Adivinar la cantidad total de BTC comprometidos por todos los mineros
Los stackers se encargan tanto de validar como de anexar nuevos bloques y de realizar los cambios de periodo de los mineros. La siguiente sección explicará cómo funciona eso, y luego veremos cómo este proceso resulta en la finalización en Bitcoin.
Minería de Stacks en la práctica
Si echas un vistazo a el panel de minería de SIgnal21, puedes ver algunos datos interesantes sobre la minería en la red Stacks, incluidos BTC gastados por bloque, STX ganados por bloque, el número total de mineros a lo largo de la historia de la cadena y el número de mineros para cualquier bloque dado.
Mucha gente nota el aparentemente pequeño número de mineros en Stacks. Sin contexto, esto a veces puede levantar sospechas. Profundicemos en cómo funciona la minería en Stacks para que podamos entender por qué esto no es un problema para la descentralización.
Los mineros de Stacks funcionan de manera similar a los secuenciadores en sistemas L2 en que solo son responsables de construir y proponer nuevos bloques, no de anexarlos a la cadena. Pero a diferencia de la mayoría de las L2 de Ethereum que operan con un único secuenciador centralizado, Stacks tiene consistentemente al menos 4-5 mineros con membresía abierta que permite a cualquiera unirse.
Es importante notar que hay dos partes principales involucradas en el proceso de producción de bloques en Stacks: mineros y stackers.
Estos dos roles sirven relaciones complementarias en el proceso de producción de bloques, y los stackers reducen drásticamente cualquier poder destructivo potencial que los mineros puedan tener sobre la cadena.
Los mineros no pueden reorganizar la cadena. En el peor de los casos, todo lo que los mineros pueden hacer es omitir (ciertos tipos de) transacciones, y todo lo que se requiere para solucionar esto es ejecutar tu propio minero.
Además, más mineros en la red significarían menos recompensas en BTC para los Stackers, ya que los mineros tendrían que gastar más de sus fondos en tarifas de Bitcoin L1 en lugar de enviarlo a los Stackers.
Esto crea un equilibrio económico natural donde:
Suficientes mineros participan para asegurar que los bloques se produzcan de manera confiable
Contenido como el anterior que describe la confiabilidad.
Los stackers reciben recompensas óptimas en BTC
Contenido como el anterior que describe la optimización de recompensas.
La red mantiene la resistencia a la censura sin competencia minera innecesaria
Contenido como el anterior que describe la resistencia a la censura.
Este diseño es intencional: al tener a los stackers como garantes de seguridad complementarios que reciben recompensas en BTC vía PoX, Stacks logra seguridad sin requerir un número excesivo de mineros que compitan únicamente por ganar los derechos de producción de bloques.
A diferencia de otras cadenas donde los mineros por sí solos determinan la cadena canónica, el sistema de dos partes de Stacks proporciona garantías más fuertes:
Los mineros no pueden forzar transacciones o bloques inválidos (los stackers no los firmarán, y aun si lo hicieran, los nodos no los aceptarían)
Ningún minero puede reorganizar unilateralmente la cadena (los stackers controlan la finalización de la cadena)
El requisito de firma de umbral del 70% de los stackers asegura un amplio consenso antes de que los bloques sean aceptados
Esta separación de responsabilidades entre mineros y stackers es lo que hace a Stacks singularmente seguro a pesar de tener un pequeño número de mineros.
¿Y los Microbloques?
Los microbloques son una característica heredada de la versión anterior de Stacks que ya no existen. Originalmente se crearon como una forma de mejorar el rendimiento de las transacciones, pero sin la funcionalidad de Nakamoto, nunca funcionaron en la práctica.
En lugar de microbloques, Nakamoto utiliza una estructura de producción de bloques que crea bloques de Stacks a una cadencia rápida como se describe aquí.
Última actualización
¿Te fue útil?