Especificaciones técnicas
Consenso
Prueba de Transferencia (PoX) como se describe en SIP-007
La red hará la transición a Prueba de Quema (PoB) como se describe en SIP-001 después de 10 años. Aprende más sobre la Prueba-de-Quema en SIP-001.
Modelo de amenazas
El 51% de la potencia minera maliciosa de Bitcoin puede reorganizar la cadena de Stacks o realizar un ataque de doble gasto
La cadena puede detenerse si los Stackers no pueden alcanzar un consenso del 70% sobre la validez de los bloques
Diferentes actores y sus roles
Los mineros de Stacks empaquetan transacciones en bloques y las proponen a los stackers
Los poseedores de Stacks pueden alterar el cálculo de los límites de bloque (sujeto a un veto del minero) y pueden votar para deshabilitar las recompensas de la Prueba-de-Transferencia durante un ciclo de recompensas.
Los stackers validan y añaden bloques a la cadena y validan las transacciones de depósito y retiro de sBTC
Minería de Prueba de Transferencia
Calendario de recompensas de coinbase:
1000 STX/bloque durante los primeros 4 años
500 STX/bloque durante los siguientes 4 años
250 STX/bloque durante los 4 años posteriores
125 STX/bloque en perpetuidad después de eso
Las recompensas de coinbase se acumulan por "sorticiones perdidas": Si un bloque de Bitcoin no tiene sortición (en la altura N), entonces cualquier bloque de Stacks minado en una sortición posterior que se base en cualquier punta de la cadena de Stacks que existiera en la sortición penúltima (en la altura N-1) puede reclamar su coinbase. Esto incentiva a los mineros a seguir minando incluso si las comisiones de Bitcoin son altas.
Bono inicial de minería: Este es un caso especial de lo anterior para incentivar a los primeros mineros. La coinbase de todos los bloques de la cadena de quema entre la primera altura de bloque de quema (a ser elegida por mineros independientes como parte del lanzamiento de Stacks 2.0) y el primer ganador de sortición se acumula y se distribuye a los mineros en una ventana fija (a determinar). Por ejemplo, supongamos que la altura del bloque de quema es 10,000 y la primera sortición está en el bloque 10,500 y la ventana de distribución es de 100 bloques, entonces la coinbase de los primeros 500 bloques (10,500 - 10,000) se distribuirá de manera uniforme a los mineros que ganen sortición durante los 100 bloques subsiguientes.
Ventana de maduración de la recompensa: 100 bloques, lo que significa que los líderes ganarán la recompensa de coinbase 100 bloques después del bloque que minaron con éxito.
Intervalo de bloque: La blockchain de Stacks produce bloques rápidos aproximadamente cada 10 segundos con un cambio de tenencia de minero que ocurre en cada bloque de Bitcoin
Compromiso en BTC: Los mineros deben comprometer al menos 11,000 satoshis (5,500 sats / salida UTXO); 2 salidas / bloque) para evitar "dust."
Para más detalles, ver Producción de Bloques.
Stacking
Fase de preparación
Se elige un "bloque ancla". El conjunto cualificado de direcciones ("conjunto de recompensas") se determina basándose en la instantánea de la cadena en el bloque ancla. La duración de la fase de preparación es de 100 bloques. Los compromisos de Stacking deben confirmarse antes de que comience esta fase.
Fase de recompensa
Los compromisos de BTC de los mineros se distribuyen entre el conjunto de recompensas. La longitud del ciclo de recompensas es de 2000 bloques de BTC (~2 semanas).
Dos direcciones de recompensa / bloque, para un total de 4000 direcciones por cada ciclo de recompensas. Las direcciones se eligen usando una VRF (función aleatoria verificable), de modo que cada nodo puede llegar de forma determinista a las mismas direcciones de recompensa para un bloque dado.
Umbral de Stacking: 0.025% de la cantidad participante de STX cuando la participación está entre el 25% y el 100% y cuando la participación está por debajo del 25%, el nivel umbral es siempre 0.00625 del suministro líquido de STX.
Delegación: Una dirección STX puede designar otra dirección para participar en Stacking en su nombre. Sección relevante en SIP-007.
Pooling: Los poseedores de STX que individualmente no alcanzan el umbral de Stacking pueden agrupar sus participaciones para participar en Stacking. Para hacer esto, los poseedores de STX deben establecer la dirección de recompensa (opcional) a la "dirección delegada." Para más detalles, ver esta referencia.
Se admiten direcciones Legacy, SegWit, Native SegWit y Taproot
Cuentas y Direcciones
Las transacciones en la blockchain de Stacks se originan, son pagadas por y se ejecutan bajo la autoridad de cuentas
Una cuenta se especifica completamente por su dirección + nonce + activos
La dirección contiene 2 o 3 campos: 1 byte de versión, 20 bytes de hash de clave pública (RIPEMD160(SHA256(entrada))), nombre opcional (longitud variable, máximo 128 bytes)
Dos tipos de cuentas: las cuentas estándar son propiedad de una o más claves privadas; las cuentas de contrato se materializan cuando se instancia un smart contract (especificado por el campo de nombre opcional arriba)
El nonce cuenta cuántas veces una cuenta ha autorizado una transacción. Comienza en 0, la autorización válida debe incluir el siguiente valor de nonce.
Los activos son un mapa de todos los tipos de activos -- STX, cualquier activo en cadena especificado por un contrato Clarity (por ejemplo NFTs) -- a las cantidades poseídas por esa cuenta.
No es necesario que las cuentas sean explícitamente "creadas" o registradas; todas las cuentas existen implícitamente y se instancian en el primer uso.
Transacciones
Tipos de transacción: coinbase, transferencia de tokens, despliegue de contrato, llamada de contrato, cambio de tenencia.
Solo las cuentas estándar (no contratos) pueden pagar las tarifas de transacción.
La ejecución de transacciones está gobernada por:
Cuenta originaria
La cuenta que crea, autoriza y envía la transacción.
Cuenta pagadora
La cuenta que factura el líder por el costo de validar y ejecutar la transacción.
Cuenta emisora
La cuenta que identifica quién está ejecutando actualmente la transacción: esto puede cambiar a medida que una transacción se ejecuta mediante el como-contrato función de Clarity.
Las transacciones pueden agruparse o transmitirse en bloques. El comportamiento puede controlarse mediante el modo ancla de una transacción. Con streaming (microbloques), es posible un tiempo de confirmación más rápido.
Dos tipos de autorizaciones: la autorización estándar es cuando la cuenta originaria es la misma que la cuenta pagadora. Patrocinada la autorización es cuando la cuenta originaria y la cuenta pagadora son distintas. Por ejemplo, desarrolladores o proveedores de servicios podrían pagar para que los usuarios llamen a sus smart contracts.
Para la autorización patrocinada, primero un usuario firma con la cuenta originaria y luego un patrocinador firma con la cuenta pagadora.
El límite de mempool para transacciones pendientes concurrentes es de 25 por cuenta
Las transacciones pendientes en el mempool serán recolectadas como basura 256 bloques después de la recepción. Con un tiempo objetivo de bloque de 10 minutos, esto equivaldría a ~42 horas
Todas las transacciones que impactan el saldo de la cuenta son atómicas, una operación de transferencia no puede incrementar el saldo de una cuenta sin decrementar el de otra. Sin embargo, las transacciones que realizan múltiples acciones sobre cuentas (por ejemplo, transferir desde múltiples cuentas) pueden completarse parcialmente.
Las transacciones pueden incluir una cadena de memo (máx. 34 bytes)
Última actualización
¿Te fue útil?