What about public key? Is it supposed to be shared?
it's same as your address. when you want your friend come to your home you have to share it. when you want receive bitcoin you have to share it, Public key is bitcoin address, but you have to careful to share it if you want people know how rich you.
https://en.wikipedia.org/wiki/Public-key_cryptography