I'm using web3py's getBlock function to get the latest block. I am right now caching the latest 50 blocks so that I reduce the amount of workload in my geth node, and to improve overall speed in my service, since a recently created block is likely to be inspected several times in a short period of time.
In that scenario, could that block change because a different longer chain appeared and the chain my node was following gets invalidated? Or in other words, when I execute
w3.eth.getBlock('latest', full_transactions=True) how certain can I be that this block is going to actually remain in the chain?