It's a common misunderstanding about "mining" that when a miner processes(mines) a block it actually "verifies" transactions (TX) in it...Mining a Block has NOTHING to do with verifying transactions in the block. In fact, miners can only include one transaction (i.e. "coinbase", where miners receive their block rewards) & start solving "a difficult puzzle" (recomputing 2^256 of trials to arrive at specific "hash" function).
Verifying transactions are done by nodes, (computers containing Bitcoin blockchain, could be miners) checking 20 criteria to validate a TX and place it into their Mempool (something like RAM, a short-term storage for 0-confirmed transactions before they get picked up by the miners).
Bitcoin had a "first seen rule" fundamental, by which miners could choose to which block build upon. However, instead of developing on this concept, in 2015 a new "solution" introduced into protocol called Replace by Fee (RBF) (i.e. Bribing) . Users now can pay higher fees to miners so that their TXs get quickly picked up by them. The problem is that you won't pay a higher fee to pay for a coffee!
I'm not a developer but is this the best we could invent to deal with transaction fees/speed? Or this "solution" part of a bigger scheme to introduce Lightning Network & prevent blocksize increase?
Sources:
- https://jochen-hoenicke.de/queue/#1,6m
- https://99bitcoins.com/unconfirmed-bitcoin-transaction-shorten-time/
- https://bitcoin.stackexchange.com/questions/8918/which-is-the-relation-between-transactions-and-blocks/8922dcf
- https://99bitcoins.com/what-is-bitcoin-mempool/
- https://en.bitcoin.it/wiki/Scrip
- https://99bitcoins.com/unconfirmed-bitcoin-transaction-shorten-time/#prettyPhoto
- https://www.tokens24.com/cryptopedia/basics/bitcoin-mempool/
- https://www.coindesk.com/bitcoin-hash-functions-explained/
- https://www.coindesk.com/bitcoin-bug-guide-transaction-malleability/
- https://en.bitcoin.it/wiki/Protocol_rules#.22tx.22_messages
- https://en.bitcoin.it/wiki/Transaction
- https://bitcoin.stackexchange.com/questions/10849/solving-a-block-and-verification-of-transactions
- https://bitcoin.stackexchange.com/questions/10849/solving-a-block-and-verification-of-transactions
- https://bitcoin.stackexchange.com/questions/10479/what-is-the-merkle-root