I know revealing public key is safe. I know that but still i have few questions.
So currently BTC has 3 Address formats as follows
1. Legacy Address (begins with 1... a.k.a P2PKH )
2. Non-Native Segwit Address (begins with 3... a.k.a P2SH )
3. Segwit Address (begins with bc1... a.k.a P2WPKH)
Questions
1.) I know 100% that when you send bitcoins from legacy Address (P2PKH) then your public key gets revealed in transaction signature
So this is also true in case of other Address formats (P2SH and P2WPKH) ?2.) I see Some Addresses do not reveal the public key even if they have spent their bitcoins like this address here -
https://www.blockchain.com/btc/address/3BJKWL5ipkVe2bjkRSt6ZNbVWQaRrEFjMs So How can this be possible?3.) How can i hide my public key while still Re-using the same address for spending? I suppose it's possible because the address i mentioned in question 2 is able to achieve that.