..
Is it because its impossible to know the users balance in GBB as its anonymous?
Yes, blackbytes are private as cash. They are meant to be used as cash, so peer 2 peer (No third party involved).
The non-anonymous trading on a exchange would break this privacy (or anonymity if you got thru Tor).
Therefore there is the Slack trading channel.
Through the Byteball DAG, tony knows the addresses and amount of the bytes (analogous to Blockchain BTC).
He can thus distribute bytes and blackbytes to the BB addresses (proportional to the byte amount, which he sees ->Snapshot)
But the Byteball DAG (and tony) knows nothing about the Blackbytes.
Real world example: Everyone can see what you have in your bank account. No one knows how much cash you have in your head pillow.
So tony can not see if- or how many blackbytes you have. Actually, he could not send you blackbytes, because device pearing (p2p) is required.
Therefore, it is absolutely necessary to link at least one BTC address to get blackbytes:
By linking a Byteball address, one exposes their device address which is needed to send the blackbytes (Thanks to kaicrypzen who told me this

).
This is the reason why you can only get blackbytes at linked BB addresses (and only for the amount available there)..
If I have bought some GB from the market, transferred it to my wallet, do I still need to link a btc addresss to recieve GBB?
Or would it automatically transfer GBB to all the GB holders without linking?