FeedProjects
Developers
Settings
🎉 A new chapter begins: Boardroom has joined Agora
Learn more
protocol logo
Explore / Projects
Ethereum Name Service

Proposals

Discussions

Members

Information

Create Proposal

Ethereum Name Service

ProposalsDiscussionsMembersInformation
Proposal
Back to Proposals
closedEnded 3 years ago · Snapshot (Offchain)

[EP3.7] [Social] Approval of ENS Name Normalization Standard (ENSIP-15)

By 0x5105...5Aeeee

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:
    1. Insertion of zero-width characters.
    2. Using names which normalize differently between algorithms.
    3. Using names which appear differently between applications and devices.
    4. Substitution of confusable (look-alike) characters.
    5. 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.
    • Examples:

      1. image
      2. image
      3. image
    • Libraries implementing ENSIP-15:

      1. Javascript — adraffy/ens-normalize
      2. Javascript — ensdomains/eth-ens-namehash
      3. Python — namehash/ens-normalize-python
    • Web Frameworks using ENSIP-15:

      1. Javascript — ethers/ethers.io
      2. Javascript — web3/web3.js
      3. Javascript — wagmi-dev/viem
  • Names visible to the end-user should be beautified for a more consistent appearance.
    • For example, these labels are the same: image

Voting

This vote is a single choice vote. You may vote for one of the following options:

  • For
  • Against
  • Abstain

By voting For this proposal, you are voting in favor of approving ENSIP-15.

Continue Reading
Connect Wallet to Add Note
0
Votes 655
VoterCast PowerVote & Rationale
0x9831...1b6744
181,974

For

0xb8c2...A267d5
166,206

For

0xed11...a5bb04
150,961

For

0x809F...eBF68e
150,546

For

0x5BFC...418390
144,660

For

SHOW MORE
VOTE POWER
0
Connect Wallet
Proposal Status
  • Tue June 13 2023, 03:50 amVoting Period Starts
  • Sun June 18 2023, 03:50 amEnd Voting Period
Current Results

1-For

1.916M

2-Against

4.692

0%

3-Abstain

3.551

0%
DocumentationBrandingContact Us
Home
This Project is Currently Disabled

If you would like to enable it, please checkout below.

Boardroom Subscription

Sign up for an individual subscription (access all projects on the platform)

Subscribe
Enable Project

Enable the entire project for every user

Enable Project
Contact Us