1

This is something I've read here: https://blockgeeks.com/guides/bitcoin-forks-guide/

"When a group of miners discovers and mine a new block, they become temporary dictators of that block"

Can anyone elaborate on what it means exactly, please?

Does it really mean that those particular miners who mined the block can do whaterver they want with that block, like setting txs fees and putting txs? What about the other miners who didn't find that particular block? They become powerless until another block is mined?

Thanks in advance.

4

Can anyone elaborate on what it means exactly, please?

It just seems like a weird phrasing for saying that the miner has complete control over which transactions are included in the blocks they mine.

Does it really mean that those particular miners who mined the block can do whaterver they want with that block, like setting txs fees and putting txs? What about the other miners who didn't find that particular block? They become powerless until another block is mined?

Miners can select which transactions they wish to include in the block they are mining. However, they cannot change the fee for a given transaction (except in certain uncommon signature types). In transactions using SIGHASH_ALL, the fee is implicitly signed into the tx since all inputs and outputs are signed, and if a miner attempts to alter the fee, they will invalidate the transaction, and thus the entire block. Pretty much every wallet I'm aware of uses SIGHASH_ALL.

A miner is powerless if they don't find a block simply because they cannot control what another miner picks for their block.

Note that after a miner mines a block, they can no longer change the contents of that block, as it would invalidate the proof of work.

  • As I understand this basically means that a miner decides beforehand which trancastions they want to put in their block? – D-Samp Nov 3 '18 at 13:58
  • 2
    Yes, the list of transactions they wish to include must be created before they start mining, as the Merkle root for the transactions is part of the block header – Raghav Sood Nov 3 '18 at 15:08
3

No, miners can't do what they want. The miners operate within the tight rules of what is accepted as a valid block. Instead of the "temporary dictator" phrasing, one could say that the mining process randomly elects an author for each block.

Every time a miner attempts to create a block, they create a new block template with what they perceive or want to be the next network state. When a valid block is discovered, the block author's template is finalized and accepted by the whole network as the new chaintip and current state of the network.

Other miners are cooperating in this process, as it is generally more valuable for them to compete for the next block instead of attempting to rewrite history. Meanwhile, they don't get restricted in their power in any way: They still choose which rules to enforce, whether to accept the current network state and to build on-top of it, or to try to compete and create a different block at the same height.

They can, e.g.:

  • Choose not to include some waiting transactions
  • Choose which transactions to include
  • Enforce a minimum transaction fee rate in their block
  • Choose the order of transactions
  • Include transactions that only they know about
  • Malleate signatures on non-segwit transactions before including them
  • Claim a block reward up to the block subsidy plus transaction fees

They cannot:

  • Change transactions (except for the above mentioned transaction malleability)
  • Include transactions whose inputs aren't available
  • Include transactions with broken signatures
  • Claim a greater block reward than block subsidy plus transaction fees
  • Create a block that exceeds the blockweight limit
  • Can you expand on malleability issue, please? I can't understand how Bob can change Alice's signature in a Alice->Bob transaction if that signature doesn't belong to him in the first place. – D-Samp Nov 3 '18 at 11:48
  • The S value in signatures can be positive or negative. When it's flipped to the negative, it's still a valid signature, but causes a different transaction id. A transaction with a negative S value is valid, but non-standard, so it wouldn't relay on the network, but miners can include it anyway. For more info, you can check out the topic I linked in my answer. – Murch Nov 6 '18 at 18:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.