Feel free to answer/address as many of these topics as you like:
In particular, I am interested in how bitcoins can be stolen, e.g., the 2016 Bitfinex hack. If I am not mistaken, the only way to steal bitcoins is to obtain the individual's private key. What I do not understand is how and why the public and private keys change after each payment. Is this because the private key is needed to verify the payment, thus, once verified, a new one must be generated as the previous one is now known by others? How are new keys generated - by the miners, or something else? Are they related to the previous keys in any way?