Wouldn’t the blockchain size become a bottleneck if all payments happened on Bitcoin?

I am learning about Bitcoin. I understand that bitcoins are stored on a ledger, and the ledger itself is widely distributed and available to all parties. I also understand that the ledger stores all the previous bitcoin transactions for all the bitcoins.

Suppose in the hypothetical future, everybody moved to bitcoins, with no USD or other fiat currencies. What would be the ledger size in bytes due to all transactions that happened within a year? If you were to record all past transactions from the time bitcoins started, so you could track it, it seems to me it would quickly become a huge network bottleneck, as the ledger is updated over the network. Even the size of the ledger itself might become a big concern over a few years.

Has anybody looked into this aspect of bitcoins?

How do miners avoid transactions getting dropped?

I’m having a problem figuring out how miners solve the following problem:

Let’s say we have 2 miners: M1, M2.

M1 adds transactions A,B,C,D to their block. M2 adds transactions A,B,C to their block. For some reason, transaction D will come to M2 a few seconds after M1 received it.

Now, M2 solves the block and sends this block to everyone. Consequently, M1 throws their block away and starts working on new block.

Next, M1 adds transactions E,F,G to their block, whereas M2 adds D,E,F,G (M2 gets D now) to their block. Now, M1 solves the block first and broadcasts it. Therefore, M2 throws their block away and starts a new one.

In this case, transaction D won’t get in any block! (The problem is caused by network speed which caused the fact that D arrived at M2 a few seconds after it got to M1.)

So, how is this problem handled or avoided?

How to verify Bitcoin Core Release Signing Keys

I use Gpg4win but I don’t know the step to verify the Bitcoin Core Release. can you give me the instruction how to verify released?

i git this resolte
C:\WINDOWS\system32>gpg2 –keyserver pgp.mit.edu –recv-keys 0x90C8019E36C2E964
gpg: conversion from utf-8' toCP720′ not available
gpg: requesting key 36C2E964 from hkp server pgp.mit.edu
gpg: key 36C2E964: “Wladimir J. van der Laan (Bitcoin Core binary release signing key) ” not changed
gpg: Total number processed: 1
gpg: unchanged: 1

Can I cancel a transaction that has not been successfully broadcast yet?

In Bitcoin Core, is it possible to cancel a transaction whose status is:

"Status: 0/offline, has not been successfully broadcast yet"

The client hasn’t caught up with the network. It looks like it’s going to do that first, and then send the transaction.

Is that right, or is the transaction already irrevocable?

If I can cancel the transaction, what’s the best way to do that?

I tried abandontransaction but it gives the error:

Transaction not eligible for abandonment (code -5)

Library for generating HD keys/addresses (ideally for python)

I require a library that I can create (and later import) a HD master key, which I will use to generate hundreds of addresses for both testnet and mainnet!

Ideally, I need a python library (but had trouble of finding a good library for both testnet and mainnet addresses.

An example of how to create testnet addresses would be greatly appreciated (default functionality seems to be for mainnet, e.g. pybitcointools)

Good libraries for other languages are also very welcome!