Put the IP address and port number for your torrent, or for a datafile about the torrent, into the namecoin dataspace?
- The namecoin 'key' is a torrent name with the value being the magnet link. This is simple but has a few disadvantages. The owner of the key has to update it every 36,000 blocks for it to remain alive. Only that owner can modify the magnet link if it changes. Multiple people will store information for the same file with slightly different key names. Spammers can create fake magnet links easily for popular filenames, or squat on filenames (eg. future episodes of tv shows or movies about to be released).
- The key is a username of a person publishing links. The value is a datastructure (JSON?) that holds the link type (magnet, mega, freenet, http, etc), the URN (magnet link, freenet address, etc), a title, tags and maybe other things. A user can then filter by the namecoin key if they find a user that publishes torrents they like. Spammers would need to register their own username and people will learn which are bad and ignore them. Adding links is done via a name_update command. You can get a list of all links for a user by doing a "name_history" on their username. This can sit under a namecoin prefix like "fileshare/". I registered a fileshare name to show an example. Downsides are that a name_update can only have one pending for a given key per block. This could help cut down on spam updates though. Another downside is that it requires a name_history to get all entries and isn't as simple or efficient as iterating over a namecoin prefix to get all keys.
As an example of the second option, running this namecoind command will show an example entry:
namecoind name_filter "^fileshare/.+"
That example adds a "command" entry which I though could be used to add/delete/modify items but I'm not sure of the utility. It also might be worth encrypting or obfuscating the entries. Maybe an option to add an address to the value for users to send namecoins to as a means of voting.