Cómo funcionan las transacciones

Introducción
Las transacciones son la unidad fundamental de ejecución en Stacks. Cada transacción se origina en una cuenta de Stacks y se conserva en el historial de la red Stacks por la eternidad. Esta guía te ayuda a entender las transacciones de Stacks.
Ciclo de vida
Las transacciones pasan por fases antes de ser finalmente confirmadas.

Generar
Las transacciones se ensamblan de acuerdo con la especificación de codificación.
Validar y firmar
Se validan las transacciones para confirmar que están bien formadas. Se rellenan las firmas requeridas.
Transmitir
Las transacciones se envían a un nodo.
Registrar
Un minero recibe transacciones, las verifica y las añade al mempool, un área de retención para todas las transacciones pendientes.
Procesar
Los mineros revisan el mempool y seleccionan transacciones para el siguiente bloque que se va a minar. Dependiendo del tipo de transacción, pueden ocurrir diferentes acciones durante este paso. Por ejemplo, se podrían verificar condiciones posteriores para una transferencia de tokens, podrían acuñarse tokens definidos por contratos inteligentes o podría intentarse llamar a un método existente de un contrato inteligente.
Confirmar
Los mineros proponen con éxito bloques con un conjunto de transacciones. Las transacciones dentro se propagan correctamente a la red cuando los stackers las aprueban.
Una transacción puede tener uno de tres estados una vez que está registrada: pendiente, éxito, o fallida.
Tipos
Stacks admite un conjunto de diferentes tipos de transacción:
Tipo
Valor
Descripción
Cambio de tenencia
TenureChange
Un cambio de tenencia es un evento en la blockchain existente de Stacks cuando un minero asume la responsabilidad de crear nuevos bloques de Stacks de otro minero. Un cambio de tenencia ocurre cuando se descubre un bloque de Stacks mediante una sortición criptográfica. Realizado por stackers.
Bloque de cambio de tenencia encontrado
TenureChange-BlockFound
Una TenureChange-BlockFound transacción es inducida por una sortición ganadora. Esto hace que el nuevo minero comience a producir bloques y detiene al minero actual de producir más bloques.
Extensión de cambio de tenencia
TenureChange-Extend
Una TenureChange-Extend, inducida por los Stackers, restablece el presupuesto de ejecución en curso de la tenencia actual, permitiendo así que el minero continúe produciendo bloques.
Transferencia de tokens
token_transfer
Transferencia de activos de un remitente a un destinatario
Despliegue de contrato
smart_contract
Instanciación de contrato
Llamada a contrato
contract_call
Llamada a contrato para una función pública no de solo lectura
Comisiones
Las comisiones se usan para incentivar a los mineros a confirmar transacciones en la blockchain de Stacks. La comisión se calcula en función de la tarifa estimada y el tamaño de la transacción sin procesar en bytes. La tarifa es una variable determinada por el mercado. Para la testnet, se establece en 1 micro-STX.
Nonces
Cada cuenta lleva una propiedad nonce que indica el número de transacciones procesadas para la cuenta dada. Los nonces son códigos de un solo uso, que comienzan en 0 para cuentas nuevas y se incrementan en 1 en cada transacción.
Los nonces se añaden a todas las transacciones y ayudan a identificarlas para garantizar que las transacciones se procesen en orden y para evitar el procesamiento duplicado.
El mecanismo de consenso también asegura que las transacciones no se "reproduzcan" de dos maneras. Primero, los nodos consultan sus salidas de transacciones no gastadas (UTXOs) para satisfacer sus condiciones de gasto en una nueva transacción. Segundo, los mensajes enviados entre nodos revisan números de secuencia.
Cuando se construye una nueva transacción de transferencia de tokens, se necesita obtener y establecer el nonce más reciente de la cuenta.
Cómo se detectan y resuelven las brechas de nonce
Las transacciones de Stacks deben ejecutarse estrictamente en orden de nonce. Cuando se envía una transacción con un nonce más alto de lo esperado, la red no la rechaza de plano; en cambio, registra la brecha y espera a que lleguen los nonces faltantes.
A continuación hay una explicación conceptual, con respuestas visuales de la API, de cómo se comporta el sistema cuando los nonces se envían fuera de orden.
Última actualización
¿Te fue útil?