Minería

circle-info

Recursos para desarrolladores

  • Para ejecutar tu propio minero de Stacks, aquí.

  • Para análisis de datos sobre la minería de Stacks, aquíarrow-up-right.

La imagen general

  • PoX selecciona un minero único aleatorio como líder una vez por cada bloque de BTC

  • PoX incentiva a los mineros a crear bloques STX y ganar recompensas STX + comisiones por transacción

  • Los mineros envían compromiso de bloque transacciones en Bitcoin L1.

  • Los compromisos de bloque incluyen: par (hash del bloque, semilla VRF)

  • Ganador determinista pero impredecible en cada bloque de Bitcoin

  • PoX desincentiva que los mineros de BTC L1 interfieran mediante ATC-C


Introducción

La minería de Stacks se basa en una idea simple pero poderosa: los mineros gastan Bitcoin para ganar el derecho a producir nuevos bloques de Stacks. En lugar de introducir un mecanismo de consenso completamente separado, Stacks adapta y extiende la Prueba de Trabajo existente de Bitcoin. En este sentido, Stacks aprovecha la seguridad y el peso económico de Bitcoin para asegurar una capa construida sobre él.

Cuando los mineros comprometen BTC como parte del proceso de minería, ese Bitcoin no se quema ni se desperdicia. En su lugar, se transfiere a los Stackers — los poseedores de STX que bloquean sus tokens para ayudar a validar y firmar bloques. Este flujo de Bitcoin desde los mineros hacia los Stackers es la innovación central detrás de Proof of Transfer (PoX). La “transferencia” de BTC es lo que ancla a Stacks a la seguridad de Bitcoin mientras alinea los incentivos entre los mineros y los participantes de la red.

Desglose del flujo de minería

En la versión anterior de Stacks (antes de la Actualización Nakamoto), los mineros de Stacks minaban nuevos bloques de Stacks a un ritmo uno a uno con los bloques de Bitcoin. Después de Nakamoto, esto ya no es así. Bajo las reglas de Nakamoto, los mineros son seleccionados para un periodo (tenure) que corresponde a un bloque de Bitcoin. Durante este periodo, los mineros construyen y proponen múltiples bloques de Stacks (aproximadamente cada 10 segundos) y los stackers los aprobarán y añadirán.

Los mineros ejecutan nodos de Stacks con minería habilitada para participar en el mecanismo PoX. El nodo implementa el mecanismo PoX, que garantiza el manejo adecuado y los incentivos a través de cuatro fases clave:

  1. Registro: los mineros se registran para una elección futura enviando datos de consenso a la red

  2. Compromiso: los mineros registrados transfieren Bitcoin para participar en la elección. BTC comprometidos se envían a un conjunto de titulares de tokens STX participantes, también llamados stackers.

  3. Elección: una función aleatoria verificable elige a un minero para un nuevo periodo para escribir bloques en la cadena de Stacks

  4. Ensamblaje: el minero electo escribe los nuevos bloques extrayendo transacciones del mempool y recoge recompensas en forma de nuevos tokens STX

Proceso de selección de mineros

En lugar de una carrera por el bloque, como en PoW, Stacks utiliza un proceso de elección de líder único llamado sortición criptográfica. Eso se facilita mediante un estado embebido de función aleatoria verificable en las transacciones de Bitcoin. Esto a su vez permite ganadores deterministas pero impredecibles en cada bloque de Bitcoin.

chevron-right¿Qué es una sortición criptográfica?hashtag

Una sortición criptográfica es un proceso de selección aleatoria de una o más entidades de un conjunto usando criptografía. Es una forma descentralizada y verificable de seleccionar participantes para una variedad de tareas, como protocolos de consenso, loterías y subastas.

Más específicamente, la sortición de mineros en el contexto de Stacks es el proceso de sortición criptográfica ponderada mediante el cual se selecciona un candidato minero como el siguiente minero (líder).

Para empezar, cada minero de Stacks debe registrar una clave pública VRF en una transacción de Bitcoin. Una vez que lo hacen, pueden entonces emitir compromiso de bloque transacciones en Bitcoin. Las transacciones de compromiso de bloque en bitcoin contienen:

par (hash del bloque, semilla VRF)

Estas transacciones de compromiso de bloque no solo contienen un puntero hacia la secuencia de bloques que pretenden producir, sino que también incluyen toda la información relevante para resembrar la siguiente VRF para la próxima sortición. Los mineros no pueden manipular la semilla VRF. Esto se hace cumplir mediante la propiedad:

semilla VRF = hash(prueba VRF)

Y esa prueba VRF solo puede ser generada por la clave privada VRF del minero.

chevron-right¿Cómo se relacionan entre sí los compromisos de bloque?hashtag
circle-info

Para ser considerado para un periodo, un minero debe tener un compromiso 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.

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 transfieren. La probabilidad de que un minero mine el siguiente bloque se determina usando una variación del Assumed Total Commitment with Carryforward (ATC-C) MEVarrow-up-right estrategia de mitigación 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 considera el gasto total de compromiso de bloque en los bloques previos a la sortición actual.

Aunque no existe un compromiso mínimo de BTC impuesto por el protocolo, en la práctica hay un umbral limitado por el dust: básicamente, si las comisiones de una transacción exceden el valor de la salida gastada, se considera dust. Cómo se calculaarrow-up-right 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 deben:

  • Adivinar el precio BTC/STX para el día siguiente (100 bloques después)

  • Adivinar la cantidad total de bitcoin comprometida por todos los mineros

circle-info

Los Stackers se encargan tanto de validar como de añadir 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 (finality) en Bitcoin.

Transacciones de compromiso de bloque (en Bitcoin)

Los mineros comprometen Bitcoin a dos direcciones en cada transacción de compromiso de bloque de líder. La cantidad comprometida a cada dirección debe ser la misma. Las direcciones se eligen del conjunto de recompensas actual de participantes del 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.

chevron-right¿Cómo es en realidad una transacción de compromiso de bloque?hashtag
  • Mira este cliparrow-up-right que describe lo que entra en una transacción de compromiso de bloque en Bitcoin.

  • Consulta una transacción de compromiso de bloque anterior en Bitcoin aquíarrow-up-right.

Recompensas de los mineros

Los mineros reciben las recompensas coinbase de los bloques de Stacks por los periodos que ganan.

Los montos de las recompensas 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 indefinidamente.

Estos "halvings" están sincronizados con los halvings de Bitcoin.

Comisiones por transacción

Los mineros también reciben comisiones de Stacks por las transacciones minadas en cualquier bloque que produzcan.

Maduración de las recompensas

Las recompensas de bloque y las comisiones por transacción tardan 100 bloques en la cadena de bloques de Bitcoin en madurar. Después de minar con éxito un bloque, tus recompensas aparecen en tu cuenta de Stacks después de ~24 horas.

La minería de Stacks en la práctica

Si echas un vistazo a el panel de minería de SIgnal21arrow-up-right, puedes ver algunos datos interesantes sobre la minería en la red Stacks, incluyendo 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 un bloque dado.

Mucha gente nota el aparentemente pequeño número de mineros en Stacks. Sin contexto, esto a veces puede causar sorpresa. Profundicemos en cómo funciona la minería en Stacks para 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 añadirlos a la cadena. Pero a diferencia de la mayoría de las L2 de Ethereum que operan con un único secuenciador centralizado, Stacks tiene de forma consistente al menos 4-5 mineros con membresía abierta que permite a cualquiera unirse.

Es importante señalar 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 potencialmente destructivo que los mineros puedan tener sobre la cadena.

Los mineros no pueden reorganizar la cadena. En el peor de los casos, todo lo que pueden hacer los mineros es omitir (algunos tipos de) transacciones, y todo lo que se necesita 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 comisiones de Bitcoin L1 en lugar de enviarlo a los Stackers.

chevron-right¿No significaría más mineros más competencia y por tanto más recompensas?hashtag

La razón por la que más mineros significa menos recompensas es porque los mineros actúan racionalmente desde un punto de vista económico, y no tienen una cantidad ilimitada de BTC con la que trabajar.

Los mineros están pagando sus compromisos PoX más sus comisiones de Bitcoin por la oportunidad de ganar la coinbase (1.000 STX) más comisiones por un periodo. Si hay más mineros, cada uno pagará menos, porque tendrán una menor probabilidad de ganar. No pueden pagar cantidades de BTC en aumento indefinidamente porque en algún punto dejarán de ser rentables, por lo que existe un límite de cuánto BTC pueden gastar para intentar ganar un periodo.

A medida que pagan menos, la comisión de Bitcoin se convierte en una porción más significativa de sus gastos, y eso también disminuye sus probabilidades de ganar el periodo.

Aquí hay un ejemplo concreto:

Digamos que Stacks cotiza a 1.000 Sats por STX.

El gasto total de todos los mineros, si todos actúan lógicamente e ignoramos las comisiones de Stacks, sería menos de 1.000.000 Sats (1.000 STX coinbase * 1.000 Sats/STX).

Si eso proviene de 5 mineros, entonces podrían ser 10.000 Sats (2.000 Sats por cada transacción) destinados a comisiones de Bitcoin y 990.000 Sats destinados a PoX.

Si hay 100 mineros, entonces serían 200.000 Sats destinados a comisiones de Bitcoin, y 800.000 Sats destinados a PoX.

Esto crea un equilibrio económico natural donde:

1

Suficientes mineros participan para asegurar que los bloques se produzcan de forma fiable

2

Los Stackers reciben recompensas BTC óptimas

3

La red mantiene resistencia a la censura sin una competencia minera innecesaria

Este diseño es intencional: al tener a los stackers como garantes de seguridad complementarios que reciben recompensas en BTC vía PoX, Stacks alcanza 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, e incluso 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 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 número reducido de mineros.

chevron-right¿Qué pasó con los microbloques?hashtag

Los microbloques son una característica heredada de la versión anterior de Stacks que ya no existen. Fueron creados originalmente como una forma de mejorar el rendimiento de 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í.

Mitigación de MEV en Bitcoin

El Valor Extraíble por el Minero (MEV) ha sido un problema de larga data en muchas cadenas de bloques, incluida la versión de Stacks anterior a Nakamoto.

MEV se refiere al beneficio potencial que los mineros pueden extraer de la manipulación de la inclusión y el orden de las transacciones dentro de los bloques que producen, lo cual puede conducir a prácticas injustas y a una disminución de la confianza en la red.

Específicamente, en las versiones de Stacks anteriores a Nakamoto, los mineros de Bitcoin con un porcentaje significativo del hashrate de Bitcoin tenían la capacidad de censurar las transacciones de compromiso de otros mineros de Stacks, asegurándose de que pudieran ganar las recompensas y comisiones de bloques de Stacks cuando también eran los ganadores del bloque de Bitcoin como mineros de Bitcoin.

El sistema Nakamoto utiliza una variación del Assumed Total Commitment with Carryforward (ATC-C) MEVarrow-up-right estrategia de mitigación para asignar las recompensas de bloque a los mineros. La probabilidad de que un minero gane el bloque y se le conceda el periodo actual se basará en una función que tiene en cuenta el gasto total de compromiso de bloque en los bloques previos al bloque actual.

La solución ATC deja la opción de que un bloque no tenga un ganador válido. La transacción TenureChange-Extend mitiga la mayoría de los efectos adversos causados por un bloque perdido.


Recursos adicionales

Última actualización

¿Te fue útil?