Abstract
This is a vote to approve ENSIP-15: Normalization Standard.
Motivation
EP3.7 Motivation
- Normalization isn't enforced on-chain.
- There is no code for the DAO to execute.
- Approval for ENSIP-15 should be confirmed through a social vote.
ENSIP-15 Motivation
- Since ENSIP-1 (originally EIP-137) was finalized in 2016, Unicode has evolved from version 8.0.0 to 15.0.0 and incorporated many new characters, including complex emoji sequences.
- ENSIP-1 does not state the version of Unicode.
- ENSIP-1 implies but does not state an explicit flavor of IDNA processing.
- UTS-46 is insufficient to normalize emoji sequences. Correct emoji processing is only possible with UTS-51.
- Validation tests are needed to ensure implementation compliance.
- The success of ENS has encouraged spoofing via the following techniques:
- Insertion of zero-width characters.
- Using names which normalize differently between algorithms.
- Using names which appear differently between applications and devices.
- Substitution of confusable (look-alike) characters.
- Mixing incompatible scripts.
Specification
- Replace ENSIP-1 § Name Syntax "UTS-46 algorithm" with link to ENSIP-15.
- Agree to normalize names according to ENSIP-15 for a safer end-user experience.
- Names visible to the end-user should be beautified for a more consistent appearance.
- For example, these labels are the same:

Voting
This vote is a single choice vote. You may vote for one of the following options:
By voting For this proposal, you are voting in favor of approving ENSIP-15.