To enable easy human level communication of connection, DSNP should support handles. Handles should be defined clearly and in a way that can be broadly supported by blockchain/consensus systems.
Motivation
Answer the question of why? What problem does this solve? Who might care?
Specification Discussion
Lifecycle
Handles must be unique per implementation
Implementations may limit handles in additional ways (blocklists, orthographic attack mitigation, esoteric hashing requirements)
Handles are not required
Handles are not automatically retired; if a User Id is retired, its handle (if it has one) MAY become available (but an implementation could restrict this)
Syntax
Case-insensitive
2-15 characters (characters not bytes)
Spec will define allowed language regions in Unicode
Punctuation limited to period, underscore
Syntax can be represented as DID – (ASCII) alphanumeric, period, dash, underscore, other allowed characters represented as %hh
Specification Pull Request
Current change pull request:
Rationale
Why were the design choices made? What other solutions were rejected and why?
Backwards Compatibility
Any proposal that breaks compatibility with previous versions must describe how the change will be implemented and handle the migration period.
Reference Implementation and/or Tests
What could this look like implemented or what tests could be provided to assist in validation of implementations?
Security Considerations
Any change will effect the security of the system in some way. Describe the implications this DIP on security, both technical and human.
Dependencies
List of dependent DIPs if any.
References
Any references or other related links that might be helpful.
Abstract
To enable easy human level communication of connection, DSNP should support handles. Handles should be defined clearly and in a way that can be broadly supported by blockchain/consensus systems.
Motivation
Answer the question of why? What problem does this solve? Who might care?
Specification Discussion
Lifecycle
Syntax
Specification Pull Request
Current change pull request:
Rationale
Why were the design choices made? What other solutions were rejected and why?
Backwards Compatibility
Any proposal that breaks compatibility with previous versions must describe how the change will be implemented and handle the migration period.
Reference Implementation and/or Tests
What could this look like implemented or what tests could be provided to assist in validation of implementations?
Security Considerations
Any change will effect the security of the system in some way. Describe the implications this DIP on security, both technical and human.
Dependencies
References
Any references or other related links that might be helpful.
Copyright
Copyright and related rights waived via CC0.