What we are looking at is a little complex in implementation, but makes sense. Its this basically
- You create public names (2 off) - always 2 you can throw one away and create another etc.
- The name is non unique, but carries a 10 digit identifier. (this is a short version of the public key and manages collisions, to allow this shorter version)
- Your address book will use the identifier to separate identities.
- You will be able to add some info to your public name (like country, town, sex etc., this may be private or public or nothing)
- Every ID can have safecoin sent/received (so you can even remove the last owner of a safecoin if you want to replace with a throw away ID, if you want).
The network tests that when you create a public account that it is far away from all other public names that are similar. This should keep the ability for collisions or close to the ID type attacks. This means if you are dirvine and the id is ABCDEF456 there will not be another dirvine with an ID anywhere near ABC (we check leading bits to ensure any close address is rejected and the client app tries again to create a new id for the public name).
This seems to prevent name squatting and allows people to use names they like and thrown these away and start again if they wish. Apps will allow you to send a name change to your contacts that can be automated I imagine. That way you can drop your history of public info but keep your pals in tow.
We felt this was the most flexible and secured mechanism based on all your feedback (thanks very much, huge help) and removed much of the human ability to mess with it. So folks all comments and critique very welcomed. This will be implemented in the upcoming code sprint (sprints are 2 weeks, should start Mon/Tues) along with the messaging system.