What exactly is an address in bitcoin Here is what I've understood of bitcoin:


Everybody has a public and private key.
If A sends bitcoins to B:


B is generating an address and sends it to A
This addresses are generated for each transaction.
A needs to sign something with his private key and B's address



Am I wrong?

If not, I want to understand how this address is computed.

I have read it is a kind of public key computed from private key. That's it? So we can have many public keys which match to a common private key?
I have also read the address is derived from the public key.
Everybody has a public and private key.

Everybody is able to generate any number of private keys (&quot;randomly&quot;) and derive a public key from it.

If A sends bitcoins to B:
B is generating an address and sends it to A

B forms an address out of the public key itself derived from a &quot;randomly&quot; generated private key.

This addresses are generated for each transaction.

Ideally yes, unfortunately (privacy-wise) it's a decision made by the sender. Sending twice to the same address is possible.

A need to sign something with his private key and B's address

This something is, basically, the transaction itself.
EDIT: To answer the question title :-)

What is physically an address in bitcoin

Some bytes either stored on your hard disk or in memory, which are part of a transaction and which are to be interpreted as a script describing what conditions should be met to spend the coins &quot;next to&quot; this address.