Block Production

Block production is a key concept to understand how Stacks operates under the hood. This section walks through the three main actions that need to happen for the Stacks network to operate.

1

Mining

Miners are responsible for building and proposing new blocks on the Stacks chain.

2

Signing

Signing is the process used to validate blocks and sign sBTC deposits and withdrawals. Stackers participate in signing once they meet stacking prerequisites.

3

Stacking

Stacking is an action performed by stackers that is a necessary prerequisite to signing. It enables participation in validation and earning rewards.

There are two primary parties in Stacks block production: miners, stackers, and signers. Miners build and propose new blocks, while stackers validate those blocks and sign sBTC deposits and withdrawals. Stacking enables stackers to participate in signing.


Core Roles: Miner vs Stacker vs Signer

Role
Primary Function
What They Do
Rewards
Where They Operate

Miner

Produce Stacks blocks

Sends BTC in PoX to compete for the right to write the next block and earn STX

Earns STX block rewards + fees

Bitcoin (for bids) + Stacks

Stacker

Secure the network via PoX

Locks STX and signals support for consensus

Earns BTC from miners

Stacks (locks STX), rewards on Bitcoin

Signer

Validate and finalize blocks

Participates in block signing to confirm canonical chain state; defines reward set

Rewards based on custom agreements with Stackers

Stacks

The relationship between Stackers and Signers

As you read through the Stacking section, you may find that Stackers are interchangeably referred to as Signers. It's true that Stackers can also take on the role of a Signer, and vice versa, but there's some nuances to it that need to be understood:

  • Not all stackers are signers → because stackers can delegate their participation (including signing responsibilities)

  • All signers are backed by their own STX or delegated STX → to be in the signer set, you must represent stacked STX weight

Last updated

Was this helpful?