Especificaciones técnicas
Consenso
Prueba de transferencia (PoX) como se describe en SIP-007
La red pasará a Prueba de quema (PoB) como se describe en SIP-001 después de 10 años. Obtenga más información sobre Proof-of-Burn en SIP-001.
Modelo de amenazas
El 51 % del poder de minado malicioso de Bitcoin puede reorganizar la cadena de Stacks o llevar a cabo 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
Distintos actores y sus roles
Los mineros de Stacks empaquetan las transacciones en bloques y se las proponen a los stackers
Los titulares de Stacks pueden modificar el cálculo de los límites de bloque (sujeto a veto del minero) y pueden votar para deshabilitar las recompensas de Proof-of-Transfer 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 Proof of Transfer
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 de forma perpetua a partir de entonces
Las recompensas de coinbase se acumulan por «sortitions perdidos»: si un bloque de Bitcoin no tiene sortition (en la altura N), entonces cualquier bloque de Stacks minado en un sortition posterior que se construya sobre cualquier punta de la cadena de Stacks que existiera en el penúltimo sortition (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.
Bonificación 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 burnchain entre la primera altura de bloque de quema (que será elegida por mineros independientes como parte del lanzamiento de Stacks 2.0) y el primer ganador de sortition se acumula y se distribuye a los mineros durante una ventana fija (por determinar). Por ejemplo, supongamos que la altura del bloque de quema es 10.000 y el primer sortition ocurre en el bloque 10500 y la ventana de distribución es de 100 bloques; entonces la coinbase de los primeros 500 bloques (10.500 - 10.000) se distribuirá equitativamente entre los mineros que ganen sortition durante los 100 bloques posteriores.
Ventana de maduración de recompensas: 100 bloques, lo que significa que los líderes obtendrán la recompensa de coinbase 100 bloques después del bloque que minen con éxito.
Intervalo de bloque: la cadena de bloques de Stacks produce bloques rápidos aproximadamente cada 10 segundos, con un cambio de tenencia de minero en cada bloque de Bitcoin
Compromiso BTC: los mineros deben comprometer al menos 11.000 satoshis (5.500 sats / salida UTXO); 2 salidas / bloque) para evitar el «dust».
Para más detalles, consulte Producción de bloques.
Stacking
Fase de preparación
Se elige un «bloque ancla». El conjunto de direcciones que cumplen los requisitos («conjunto de recompensas») se determina a partir de 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 recompensas
Los compromisos BTC de los mineros se distribuyen entre el conjunto de recompensas. La duración del ciclo de recompensas es de 2000 bloques de BTC (~2 semanas).
Dos direcciones de recompensa por bloque, para un total de 4000 direcciones en cada ciclo de recompensas. Las direcciones se eligen mediante una VRF (función aleatoria verificable), de modo que cada nodo pueda llegar de forma determinista a las mismas direcciones de recompensa para un bloque dado.
Umbral de stacking: 0,025 % del monto participante de STX cuando la participación está entre el 25 % y el 100 % y, cuando la participación es inferior al 25 %, el nivel de umbral siempre es 0,00625 de la oferta líquida 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.
Agrupación: los titulares de STX que individualmente no alcanzan el umbral de Stacking pueden unir sus participaciones para participar en Stacking. Para ello, los titulares de STX deben establecer la dirección de recompensa (opcional) como la «dirección delegada». Para más detalles, consulte esta referencia.
Se admiten direcciones Legacy, SegWit, Native SegWit y Taproot
Cuentas y direcciones
Las transacciones en la cadena de bloques de Stacks se originan, son pagadas 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: versión de 1 byte, hash de clave pública de 20 bytes (RIPEMD160(SHA256(input))), 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 contrato inteligente (especificado por el campo de nombre opcional anterior)
El nonce cuenta el número de veces que 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 «creadas» o registradas explícitamente; todas las cuentas existen implícitamente y se instancian en el primer uso.
Transacciones
Tipos de transacción: coinbase, token-transfer, contract-deploy, contract-call, tenure-change.
Solo las cuentas estándar (no los contratos) pueden pagar tarifas de transacción.
La ejecución de transacciones está regida por:
Cuenta originadora
La cuenta que crea, autoriza y envía la transacción.
Cuenta pagadora
La cuenta a la que el líder cobra 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 la función as-contract de Clarity.
Las transacciones pueden agruparse o transmitirse a los bloques. El comportamiento puede controlarse mediante el modo de anclaje de una transacción. Con la transmisión (microbloques), es posible un tiempo de confirmación más rápido.
Dos tipos de autorizaciones: la autorización estándar es aquella en la que la cuenta originadora es la misma que la cuenta pagadora. Patrocinada la autorización es aquella en la que la cuenta originadora y la cuenta pagadora son distintas. Por ejemplo, los desarrolladores o proveedores de servicios podrían pagar para que los usuarios llamen a sus contratos inteligentes.
Para la autorización patrocinada, primero un usuario firma con la cuenta originadora y luego un patrocinador firma con la cuenta pagadora.
El límite del mempool para transacciones pendientes concurrentes es 25 por cuenta
Las transacciones pendientes del mempool se recolectarán 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 afectan el saldo de una 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 de cuenta (por ejemplo, transferir desde varias cuentas) pueden completarse parcialmente.
Las transacciones pueden incluir una cadena de memo (máx. 34 bytes)
Última actualización
¿Te fue útil?