12
votes
Accepted
Understanding POW and transactions
This is a common misconception: mining is progress free.
Yes, it may take 10000 hashes in your example on average to find a block, but this only means that every attempt has 1/10000 chance of being a ...
9
votes
Accepted
Is there a minimum number of transactions in a block?
A block may contain only one transaction: the coinbase transaction. However, the time it takes to mine a block is not affected by the number of transactions in that block, so mining blocks with fewer ...
7
votes
Accepted
When we can agree on mempool sorting order, we can just confirm first n-transactions that are at least 10 mins old. What's missing?
Your answer assumes different nodes can have a consistent view of the mempool. If that were the case, we wouldn't need a blockchain at all, whose sole purpose is establishing consistency between ...
7
votes
How do miners choose transactions?
https://www.coindesk.com/information/how-do-bitcoin-transactions-work/
She then sends them from her bitcoin wallet out to the wider bitcoin
network. From there, bitcoin miners verify the ...
7
votes
Why is the block size is not filled with transactions?
Miners pick transactions from the mempool which is the queue of unconfirmed transactions. When there are fewer transactions waiting than would fit into a block, the block will not be full. The miner ...
6
votes
Accepted
What is the largest number of blocks a transaction has ever waited for confirmation?
This is not a full answer, but a partial answer somebody may use as a stepping stone to craft a complete answer.
E.g. blockchain.info shows both "received time" and the time of the block a ...
6
votes
Accepted
Miner transaction selection - how are sigops considered?
For the purpose of mining transaction selection Bitcoin Core converts sigops into an effective weight value based on the ratio of the limits. If the weight implied by the sigops count is higher than ...
5
votes
Accepted
How does getblocktemplate select transactions?
The whole mempool won't fit in a block; getblocktemplate returns enough transactions for a block. Blocks are, by default, limited to 750kb by policy, but many miners increase the size to the block ...
5
votes
Accepted
Creating empty blocks vs creating full blocks
Yes, you are correct that miners get to decide whether to include transactions in their block that they're mining. The protocol itself doesn't force them to include any transactions. Instead, they ...
5
votes
Accepted
Are sequential blocks more likely to be "empty" if solved by the same entity?
It is actually less likely to occur by the same miner. The reason for this is the fact that the miner that found the Block will have already validated it, thus it knows which transactions from the ...
5
votes
Is the transaction pool global or local?
Do all the miners have one global pool filled with transactions
Different full nodes have a different version of the mempool. Transactions are broadcasted to the bitcoin network on a best effort ...
5
votes
Accepted
How does miner order transactions?
How does miner order transactions if two are unrelated? e.g., A pays C, X pays Y. I assume changing the order in the block will change the hash, so I am curious how Bitcoin code combines them in which ...
4
votes
How often do miners recalculate the merkle root they're working on?
There are indeed many new transactions every second. The way miners deal with it is two-fold:
If an appropriate proof-of-work is found on any merkle root, simply publish that block and any ...
4
votes
Accepted
How is the mempool incorporated in the calculation of the block hash?
Every node in the network has a mempool. The mempool contains unconfirmed transactions. Each mempool may be slightly different as they constitute a subset of all unconfirmed transactions in the ...
4
votes
Does each block contain all the Bitcoin transactions for that time period?
The process of a transaction being created and included in the blockchain is as follows:
The sender creates, signs, and broadcasts the transaction
All Bitcoin full nodes, including miners and regular ...
4
votes
What were 'high-priority' transactions in Bitcoin Core v0.9?
Historically it was not required to include a fee for every transaction. A large portion of miners would mine transactions with no fee given that they had enough "priority". Today, low priority is ...
4
votes
Accepted
Transaction with a high fee keeps getting skipped... Reason why?
$ src/bitcoin-cli getmempoolentry ed45c837d26c25fb6a763708376a87f1875ff57efbb0f56d1b26d00a16c1899e
{
"fees": {
"base": 0.00012042,
"modified": 0.00012042,
&...
4
votes
Can someone with majority hashing power decide what transactions are included in my block?
If I somehow was able to mine a block, How can someone with majority hashing power can decide transactions to include in my block
Nobody else can influence the contents of the block you are working ...
3
votes
Accepted
Transactions are not guaranted to be validated
When you broadcast a transaction, to get a confirmation you're bidding for blockchain space, a limited good. Since blocks currently supply only one megabyte of space, miners maximize their profit by ...
3
votes
Accepted
As of 2017 is it still possible to get a transaction confirmed without a fee?
The Bitcoin consensus rules do not require transactions to have a fee, so it's still theoretically possible for a free transaction to be confirm.
It is, however, unlikely that any miners today will ...
3
votes
Accepted
Is it OK not to sort transactions at all?
As long as all selected transactions are valid, you may select any transactions you want.
You should check that there are no double spends among the selected transactions and that you keep any ...
3
votes
When we can agree on mempool sorting order, we can just confirm first n-transactions that are at least 10 mins old. What's missing?
There are a few issues with this proposal:
No transaction could ever be confirmed in less than ten minutes.
We already have plenty people up in arms that choose to rely on zero confirmation ...
3
votes
Once SegWit is implemented, could updated miners still choose to ignore SegWit transactions?
Transaction selection is up to the miners. The only mandatory transaction is the coinbase transaction (the transaction that collects the transaction fees and pays them out with the block subsidy as ...
3
votes
Accepted
Why does only the earliest transaction matter for double spending?
"Doublespend" refers to an attempt of spending the same funds twice. In Bitcoin specifically this occurs when a user publishes two transactions that are in conflict due to attempting to use the same ...
3
votes
How does a miner choose which transactions go into the next block?
A miner can choose whichever (valid) transactions they’d like to include in a block, for any reason they’d like.
I understand transactions with higher fees are given priority.
Generally, yes, we ...
3
votes
Accepted
What were 'high-priority' transactions in Bitcoin Core v0.9?
Priority was calculated based on the age of the inputs. Older and larger inputs were given a higher priority than new and low valued inputs. This allowed transactions to pay no transaction fees but ...
3
votes
Accepted
Broadcasting deprecated block version
First of all, let me clarify that this website just collects the sentiment of miners—it is in no way binding for the actual activation for which code isn't even proposed.
Assuming that Taproot will ...
3
votes
Could a miner set a maximium transaction fee rate?
Yes, miners can choose exactly what transactions to include in their candidate blocks, including the choice to not include anything at all.
Of course, if a high fee paying transaction is available, ...
3
votes
How do transaction verification and adding a block to the blockchain fit together?
The nodes form a gossip network. Every time a node hears about a new (unconfirmed¹) transaction, they check whether the transaction would be eligible to be added to a block, and if they deem it valid, ...
2
votes
How can a miner choose which transaction to include in the next block?
Do I really need to put more than 1000 transactions [in a block] to see my transactions going in different blocks
No. You can limit the size of the blocks you produce by changing the -blockmaxsize ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
transaction-selection × 95mining-theory × 22
transaction-fees × 20
transactions × 12
block × 12
coin-age-priority × 10
mining-pools × 9
mempool × 8
blockspace-market × 8
blockchain × 7
unconfirmed-transactions × 7
mining-reward × 6
blocksize × 6
mining-technical-details × 5
relay × 5
empty-blocks × 5
doublespend × 4
confirmations × 4
merkle-tree × 4
block-header × 4
network × 3
transaction-verification × 3
bitcoin-core × 2
segregated-witness × 2
development × 2