Bitcoin when examined as a course of study is filled with so many terminologies. From my observations, this terminologies are interconnected, which means they some how relate with one and another. This also means that understanding one terminology isn't useless at all, as it might serve as a basic knowledge to understanding another. One mistake common mistake observe when trying to understand Bitcoin in general is Misconception. I personally don't see misconception as something bad, but when there is an absence of means of correction, then there will be a big problem to the person who has understood something wrongly.
While going through the Development & Technical Discussion board, I bumped into a reply from Charles-Tim
https://bitcointalksearch.org/topic/m.60236230, where he pointed out that the OP had misused Address for Public key. Don't judge me, but to be sincere, I literally don't know about this either. I personally use both word for same purpose, but didn't know that they are totally different. Though, Charles-Tim didn't give an explanation to the difference, so I actually did the digging myself.
I discovered that so many articles online explain the two concepts in a similar way, which would make someone new to think that it's actually same word. Most of the articles online would practically explain that the both of them are used in receiving Bitcoin, without necessary distinguishing one from the other. Learning the difference between these two wasn't easy at first due to the technical terminologies attached. But I was able to grasp the main context.
Public keysThe basic usage of the public key is for encryption and validation of signature. It is generated from the private key through a mathematical function called "elliptic curve multiplication" as shown in the diagram below. A public key is not the main recipient of a transaction, but rather part of the address itself.
AddressThe basic usage of Address is to receive Bitcoin from anyone. It is also generated from something, but this time around the Public key. Address practically contains about 25 to 40. alphanumeric characters. the mathematical function in getting a wallet address from a public key is known as a one-way function, and the process is known as hashing. This also means that an address is a hash of a public key. The two common wallet address are the SegWit wallet address(which begins 3 or bc1) and Legacy wallet address(which begins with 1).
Example
3M2GhZW2FsMdfezHDBvjMEAZz6wkB32LMG
bc1q0g56m6qysn5a6nj23hq5ujjzzj54mjuzzt33ca
14bwXt7qPV8HJJmF2oYUpJecHQL9Pr9zwu
I had to draw the diagram above, which is a practical representation of an ideal wallet. The explanation given below explains how they all work(maybe not too technical), with the public key and address inclusive.
1. Private key: also known as decryption key is a key that is used to access Bitcoin and also authorize transactions. This key are confidential and should be made a secret from the general public. only the owner of the wallet should have access to this. The private key is generated when a new wallet is setup.
2. Address: As I have explained before, Bitcoin are assigned to the wallet address, and an address is a hash of a public key.
3. Message: practically contains transaction amount, input(receivers address) and Output (sender's address).
4. Signature: The signature verifies the authenticity of a digital message(transaction inputs).
5. Public key: also known as encryption key, is for the validation of transactions. When a sender sends a certain amount, the public key would validate the signature signed by the sender inorder to ensure it's authenticity.
The completion of the remaining process is left to the miner.
Note: if you noticed, you observe that the public key is generated from the private, while the address is generated from the public key. This order should be in a one way order, and not the reverse. when I say not the reverse, I mean: the public key should never be derived from the address, and the private key should never be derived from the public key.
So for the purpose of proper statement construction, I think using the word "address" while referring to receiving Bitcoin is more appropriate, rather than saying "Public key".
I think there might be other technic difference between these two.
Note:
Bitcoin was my primary word rather than using cryptocurrency for generalization. And Address is same as wallet address. The wallet address above are very much active, you can check them out on any explorer.
I am 100% open to correction as I still see myself as a learner. Pardon any of my error and share your personal opinion. You might want to also DOYR after reading this.