I think your IP would be exposed to the peers you are connected to in the network, but not in a public manner on the chain. Those nodes would likely have to log the IPs connected to them in order to get that information. Even then, I don't think the peers can determine which transaction correlates to which IP. I don't see how you could link the purchase of a specific song to an IP address on chain w/o the inherent security issues but I am by no means an expert or versed in the bitshares_toolkit network code.
My question for the torrent style distribution is how could you prevent a copycat from listing music that isn't their own for stream in a decentralized manner? The artists would want to register and distribute their own artistcoin, but if Carl comes along and registers beyoncecoin and starts uploading / streaming Beyonce on the torrent network, how can we prevent that in the fully distributed system? A centralized service like PeerTracks solves this by being able to disallow fakes / copycats. Sure, someone could take the name an artist wanted to use for a coin and register it as an asset. But the actual distribution can be restricted to music of verified musicians. Maybe artistcoin names could be auctioned DNS style?
I think the user experience would be simplified a lot using the centralized service like PeerTracks that can be accessed as a web app. Then the user doesn't need to interact with the BTS Music client. It seems to me a simple web experience would drive more mainstream users to use the system then dealing with the torrent streaming stuff in a client. It may seem pretty basic for this community but there is definitely a large number of people who aren't exactly sure what torrent networks are or how to use it them. Good food for thought, though. Maybe a separate app could be built that utilizes the Music DAC and facilitates something similar to what you are describing.
Hmmm...will have to look into the process for the IP address stuff. May have to rethink that.
As for the potential for copying, that's why I've been saying that we should use an audio fingerprinting database. You know these as apps like Shazam. However, ours would be more thorough and scan the entire song so that we could have exact songs fingerprinted. If somebody tries to upload an already fingerprinted song, then the uploader is denied uploadship. That's why I'm saying that we don't need a centralized database.
The problems with this approach are for the artists that are already established that are unaware of this application and the stealing of their work and putting it on here. Now we have a problem of how do we get rid of them? Personally, I'd propose a voting system for deletion or transfer of a wallet's contents to another wallet in the case of a stolen song. Perhaps have Bitcoin Music walk the dark line and hold a 50% voting power for a while in order to ensure the stability of the system. I definitely see the appeal of a centralized server here, but I think we can do much better.
As for the torrenting/streaming stuff. That's the thing. We can make it incredibly simple to use. Check out Tribler. They use the protocol that I'm talking about. Now granted, they use it for TV, but it's not that different to hook up a database and change the format of the file it's supporting and keep the concept of the data transfer intact. What I'm emphasizing is that it's FREE. And it profits the artists! That alone should sell a lot of people. If we get down a friendly user interface, we're golden.