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 ...
user avatar
9 votes
Accepted

What if some group of people start sending small transactions from wallet to wallet just to make the blockchain bigger?

The current maximum size of a block is 1 MB. Current block sizes are about half that, so the absolute worse case scenario is that the block chain grows in size twice as fast as it does now. That's ...
user avatar
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 ...
user avatar
  • 314
7 votes
Accepted

Bitcoin transaction priority calculation

input_value_in_base_units is the number of satoshis that the input is worth. One Bitcoin is worth 100,000,000 satoshis. input_age is how many blocks the input has been present for. An unconfirmed ...
user avatar
  • 28.6k
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 ...
user avatar
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 ...
user avatar
  • 385
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 ...
user avatar
  • 62.4k
6 votes
Accepted

What is criteria of mining priority except for transaction-fee?

The code you're looking for is in CreateNewBlock. The usual way transactions are added to a block is by sorting by priority. The priority of an input is the value being spent in the input multiplied ...
user avatar
  • 13.7k
6 votes
Accepted

What is the motive of a miner to include transaction in a block?

Blocks can contain whatever is valid, anything beyond that is up to the miner to decide. Including no transactions other than the coinbase transaction is valid, and there is no way of having a rule ...
user avatar
  • 15k
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 ...
user avatar
  • 62.4k
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 ...
user avatar
  • 2,630
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 ...
user avatar
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 ...
user avatar
  • 1,297
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 ...
user avatar
  • 6,898
5 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 ...
user avatar
  • 7,439
4 votes
Accepted

Will a new block be found immediately, when there are enough transactions to fill a block?

We don't have to wait until a block is full, instead blocks are created in a random process. Whenever one is found, the miners directly try finding the next one. This takes roughly ten minutes, ...
user avatar
  • 62.4k
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 ...
user avatar
  • 7,619
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 ...
user avatar
  • 62.4k
4 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 ...
user avatar
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 ...
user avatar
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 ...
user avatar
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, &...
user avatar
  • 371
4 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 ...
user avatar
  • 60.5k
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 ...
user avatar
  • 62.4k
3 votes

Are transactions in a block decided by mining pool operator?

technically each individual miner can choose the list of transactions except for coinbase transaction. Is this correct? Technically it is possible. In fact no one do it. Pool operator assembles a ...
user avatar
  • 6,532
3 votes
Accepted

Why is utxo time a priority for miners?

First of all, this is a slight oversimplification: after taking transactions with fees, the standard policy is that priorities of remaining transactions are weighted by age and amount transacted. For ...
user avatar
3 votes
Accepted

How often do miners update their block transaction list?

Welcome to the site! It depends on the protocol being used. Some protocols have the pool dictate how often the list of transactions is updated, and others have it defined by the mining client. Stratum ...
user avatar
  • 28.6k
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 ...
user avatar
  • 62.4k
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 ...
user avatar
  • 62.4k
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 ...
user avatar
  • 62.4k

Only top scored, non community-wiki answers of a minimum length are eligible