Imagine a form of Bitcoin that had different names for wallets. Why? Suppose you had 10 bitcoins in your Bitcoin wallet. You wanted to transfer them to someone who was selling a car to you. Transfer the wallet, rather than the bitcoins only. Why? Privacy.
Bitcoin transfers are not anonymous. But, the amount of work that it takes to discover who the transferer and the transferee are (if they want to remain anonymous), is generally enormous.
Think of multiplying that transfer encryption anonymity many times over by transferring wallets that might have loads of Bitcoin addresses in them. Anybody who thought that he/they had tracked some bitcoin addresses in that wallet, now has to work from almost a standing start to find out that their tracking might not be up to date. And if they find that it isn't, then they have to work from an even greater standing start to find the new owner.
Essentially what we will have when this is done is, a simple form of bitcoin mixer.
Who are the programmers that will do this for us? It all could be made to work with the current blockchain. The new Bitcoin core for this would be downloadable just like the current Bitcoin core. And if it is stopped by authorities, it is open source, and uploadable to the Internet by anyone for download by anyone.