I've studied blockchains a little bit but I don't understand how you can transfer funds between two wallets that you own without linking them. How would that be possible without either having some kind of zero sum proof (which none of the popular blockchains are using) or allowing an exploit which enables people to mint new tokens from thin air?
Generating a new public key doesn't add data to the blockchain. Only when you sign a transaction. And if you're talking identities, as in moving around websites, there's no way to link your various public addresses (logins) unless you explicitly do so using the private key you used to generate the public address. Or, you could use the same public address. So, it depends on what you want to do. Do you want privacy? Or, do you want the site to know your activity history?