Hi Robert — you are absolutely right. In fact, that’s exactly how the process works today. Miners do choose the transactions they want to include in each block, and as you correctly surmised the transactions with the highest fees have priority. In fact, when you send a BTC transaction, you have the option to pay above the preset fee to expedite it!
As you may know with all the recent SegWit news, Bitcoin is suffering from a long-term scaling issue. Today, considering block size and the fact that it takes about 10 minutes to discover a new block, Bitcoin can handle about 7 transactions/second(compare that to Visa’s peak of 50K+/second!). If adoption increases, the sheer quantity of transactions in backlog means that the “sour worms” may have to wait an extraordinary amount of time before they are posted, if ever!
