I hope this is not a duplicate.
I have seen lot of people confused between terms "PRIVACY" and "ANONYMITY". Context is Bitcoin transactions and protocol. What does privacy and anonymity mean in Bitcoin?
Slides of my presentation: https://docs.google.com/presentation/d/1N6jT6SbBl3OxohbdEQj_f1su9nf9UqetAgLYu6RfeWQ/edit
Privacy: Things that a person doesn't want to share with everyone
Anonymity: Share things with everyone but not be associated with you IRL
When considering Bitcoin Protocol or Chain, these terms are confusing or used at lot of places without mentioning the difference. To achieve anonymity in bitcoin transactions (Real identity should not be linked with bitcoin transactions), users should follow best practices and still consider that no technology can help in 100% anonymity. Privacy is involved at different levels while using Bitcoin. If considering full node, lot of information is involved that you might not want to share with other nodes or not use others nodes and use your own node. Running node over Tor or i2p also helps in avoiding real IP being linked with any transaction. Once transaction is confirmed or even in the mempool, everyone can look at the address, amount and other details which may sound less private but this information is not really helpful for any spy until it is associated with real identity or any KYC exchange etc. Last but not least, never share information about your transaction on social media.
Things go wrong when you don't follow the best practices. Examples are many but one:
Use your full node
Do not re-use addresses
Use coinjoin and payjoin when required
Do not share information about transaction on social media
Use non-KYC exchanges like Bisq for trading
Bitcoin blockchain is like people sharing their nudes, everyone can see them, they are all blurred, few have information about real face etc.
Transactions being public doesn't make Bitcoin less anon or private. Privacy and Anonymity depends on the user, system and their interaction. There is always scope for improvement.