I have a very basic understanding of how the bitcoin blockchain works and am trying to understand how manipulating transactions in a 51% attack works.
I just watched a video which stated 51% attacks can't steal bitcoins from people's wallets. Is this true?
My understanding is if someone successfully implemented a 51% attack i.e. they created a longer chain than the current chain, then they would most likely have manipulated one or more of the transactions which had been confirmed in the original true bitcoin chain.
I assume the reason they can't steal someone's bitcoin directly from their wallet is because they would be unable to create a transaction to send bitcoin from that person's wallet, as they would need their private key to do that.
That said if for example William had sent 1 bitcoin to Sarah who previously had 0 bitcoin in her wallet. Could they not simply remove that transaction from their new/manipulated chain? This would then mean Sarah no longer has the 1 bitcoin in her wallet effectively stealing that 1 bitcoin from her.
William would still have the 1 bitcoin meaning he could now reuse that 1 bitcoin. I assume this is what they mean by double spend i.e. he can now spend that same 1 bitcoin again.
If this is possible then the blockchain would view Sarah's wallet as having 0 bitcoin. If in a later block Sarah had sent that 1 bitcoin to her friend Helen, then wouldn't that transaction be invalid? If so would this mean the person creating the fake blockchain would have to also remove that invalid transaction?
If that is the case it could presumably create a knock on effect where multiple future transactions are now invalid. Helen's wallet (like Sarah's wallet) could have only contained the 1 bitcoin Sarah had sent her, so if Helen had sent that bitcoin to someone else that transaction would now also be invalid.