"As an additional firewall, a new key pair should be used for each transaction to keep them from being linked to a common owner. Some linking is still unavoidable with multi-input transactions, which necessarily reveal that their inputs were owned by the same owner. The risk is that if the owner of a key is revealed, linking could reveal other transactions that belonged to the same owner." So I read this in Bitcoin white paper and I got a question, is it possible that someone uses a new public key for every transaction but someone else can find out that those keys belong to one person (not necessarily know sender's identity but just to know that those are sent by one person). And if yes how someone can find that out (and if no one can find that out, is there any way for the owner reveal all his/her transactions or public keys whithout revealing his/her identity?