Good post. The one thing I am missing, or not stated enough is the time it takes to find a new block. With the current difficulty being 18, meaning the hash needs to start with 18 leading zeros, only 1 block can be found/mined every 10 minutes for the Bitcoin blockchain.
That makes it hard (impossible) to temper with a block in the blockchain and perform a hash update on all the already present blocks.
And yes, there is an enormous waste of energy :(