Let's say Peer A sends a transaction to contract.How peer B and peer C will be able to see this.Does they require to do encryption.If so then how?Does each and every peers should have the public key of every account?