@filip
you mentioned in the accidental fork section that when a block goes stale because of accidental forking it gets thrown away. But i thought it goes back to the mempool. So what happens to these stale blocks on the mempool? Do they eventually get deleted from the mempool?
Iām still confused about something: When and how is the validity of an individual transaction determined?
Hello @Alko89
Now I get it, Iām sorry Ales I over analyzed it.
sometimes I over think too much. haha
Thank you Ales for your help I really appreciate it.
Its not that stale blocks return to the mempool, but its transactions are returned and put in a new block eventually
Each node validates every transaction it receives. If youāre interested in the code part this verification I think most of it happens in either tx_verify.cpp and tx_check.cpp
Thanks for that!
so the order of āoperationā is:
transaction is constructed --> broadcast to nodes --> nodes validate and place tranaction in mempool ā> miners collect transactions from mempool and mine to try to construct a block (before another miner does) ?
Well each miner (or the node miners connect to) have their own mempool so when miners are constructing their blocks they can create different ones, containing the same transactions.
After a hard fork will all nodes not eventually update to the new rule or update?
That actually depends on the node runner who knows, maybe someone out there is still running Bitcoin 0.1.0
not sure if it syncs though
If I had letās say eleven bitcoin locked in a wallet somewhere before the bitcoin cash fork and havenāt touched them, when I find the private keys, do I have eleven bitcoin as well as eleven bitcoin cash?
Thanks for your definition of hard and soft forks. You said that a hard fork was an expansion of the block size. Would a larger block size reduce congestion on the network, and as a result be necessary to reduce cost and meet the demands of an otherwise stressed system?
Related, would a soft fork signal less interest in the chain?
Thanks for answering my question.
Yes in case of a hard fork that results in the chain split into two currencies you will have the same amount of coins on both blockchains
Yes and no, its kind of a temporary solution. Raising the block size would result in less congestion for a while, but what then when the block size of 2MB is not sufficient anymore? What then when the block size of 10MB is not enoughā¦? In fact BSV has completely dropped the block size and accepts blocks of any size if Iām not mistaken. This can be done, but you need very performant hardware and high bandwidth to be able to process these blocks in time. This results in centralization of the blockchain since only the more well funded individuals are able to afford to run their nodes. While the bitcoin core node can run fine on a RPi.
Why is that? A soft fork can be a beneficial upgrade like Segwit. If the community accepts the fork its fine
Hey Filip,
I do not know, if you had this question in the past. If yes, sorry for the repetition :). My question is: If a stale block is created, what will happen with the block reward received by the miner? Do the miners actually receive block rewards also after 6 confirmations?
Many thanks in advance for the clarification!
Tamas
The block reward or coinbase is basically just a āspecialā kind of transaction, usually the first one in the block explorers if you ever looked at the blocks so it will get dropped as any tx in a stale block.
Many thanks Alko89,
Yes, I have checked in the block explorer. So, if a miner- whoās block can be the part of the main chain, but also can be a stale block- queries the blockchain to get an update of his/her UTXOs, s(he) simply cannot see the block reward til. 6 confirmations (which means the minerās block is part of the original block, not a stale block), right?
Because some valid blocks can become stale, The blockreward is unspendable for 100 blocks.
Stale blocks are just a result of 2 or more miners accidentally found a good nonce for their block at the same blockheight. But this doesnāt happens a lot. The bitcoin difficulty makes it statistically probable to be able to mine approximately 1 block every 10minutes.
Many thanks Fabrice,
Now Iāve got it ! Thanks again both of you!
Filip says in the video the accidental block eventually gets resolved, but the race between two chains can continue for quite some time. Why would the race not stop immediately at the point that one chain wins the next block first? How many blocks does a chain have to be behind before the race ends?
Its all based on probability. Theoretically two miners could mine the next block on each chain at the same time again and in the next 10 minutes again two miners find a new block on each chain, and again and againā¦
The probability of this being the case is highly unlikely (as is in fact with two blocks being mined, usually this happens less than once in a year, but it does happen). The notion of 6 confirmations if a rule of thumb where the probability of blocs continue to get added on both blockchains is so low it will probably never happen.
Thank you for answering this.