Hey all, I first heard about the MaidSafe project a few months ago, and was super interested in it. When the Alpha came out, I tried it and loved it. The experience was very smooth and I had no problems with creating a small website and uploading it to the network.
However, one thing struck me as strange, and that is the purpose of the Public ID. I don’t know a lot about how this works, so please correct me in the comments if I misunderstood something! It seems like having a single ID, as I understand it, will have major issues relating to privacy and usability.
— The Privacy Issue —
Right now, it seems like your account can only have a single, unchangeable Public ID. Say my name is John Smith and I make my Public ID jsmith33. Now, I can easily host my own website at www.jsmith33.safenet. I can run a blog at blog.jsmith33.safenet. So your Public ID is sort of your main domain name for the websites you create.
It also seems like, from what I’ve read, the apps you use can utilize your Public ID. So on a “Safebook” app, all of your pictures, status updates, and friends are tied to “jsmith33”. On a “Safetube” app, all of your videos and uploads are tied to “jsmith33”. And so on.
However, this worries me. Won’t this type of system severely undermine the privacy and anonymity ideals of the SAFE Network? If everything I make is tied to a single unchangeable username, anyone who knows that name can find me on any app I’m using.
To get a different Public ID, you would have to create an entirely new SAFE account, which has its disadvantages. For one, I read somewhere that when the network is released, it will cost Safecoin to create a new account. Additionally, it seems like it won’t be possible to be logged into multiple accounts at once, which makes the system incredibly inconvenient for those seeking improved privacy.
I mean, suppose John Smith uncovers something like Edward Snowden did. If he leaks the information on MaidSafe using “jmsith33”, which is connected to his “Safebook” and “Safetube” and what have you, it doesn’t matter if the network itself is decentralized: He’d still have the feds knocking at his door for whistleblowing, wouldn’t he?
— The Usability Issue —
Aside from the privacy concerns, I also have usability concerns. For example, what if John Smith creates a video game, named vgame2000, and wants to create a website for it. Should he host it at “vgame2000.jsmith33.safenet”? That’s not a very pretty URL. Preferably he should be able to do something like “www.vgame2000.safenet”, where the main domain name is reserved purely for vgame2000, instead of a subservice for jsmith33.
Admittedly, this is less of an issue, because an alternate account can be created (like I said earlier) to push the new website out. But this still seems like a bit of an inconvenience.
— Summary and Recommendation —
In short, having a “One Username to Rule Them All” approach looks good and convenient on paper, but is it? It sounds like a recipe for centralization of user data under a single ID, which is antiethical to the MaidSafe vision.
If I had any say in it, I would propose breaking up the Public ID into two separate parts: a DNS ID and Username ID. You can have a one “Primary ID” for each parts, for free, when you create your account. The DNS ID would be used for your personal URL, and the Username ID can be used by Apps.
Furthermore, you can purchase/rent, for a Safecoin fee, more IDs of either type. So if you want a new website for your video game, you can purchase/rent a new DNS ID within your account for the game’s website. And if you want stricter anonymity, you can purchase/rent a new throwaway Username ID.
That way you could easily have one website URL, and 5 Username IDs. Or 3 website IDs and 2 different Username IDs, which are all tied to and usable from a single SAFE account.
That’s just my two cents, and I’d love to hear other’s thoughts on this matter!