Create a name service built upon Wormhole, similar to Token Attestation model. A user, Bob, should be able to pick a “Registration Chain” where they write an Identity Record. This IR can be attested to any other chains.

To allow for modular identity records, we can make use of the ARC framework, to allow any application to define their own identity components onto the record.

Use Cases

→ Maintain update authority when bridging NFTs by setting update authority to an xID rather than a chain specific address.

User Stories

→ As a user I can register a Identity Record with a Name Service on the chain of my choosing

→ As a user I can attest my addresses from other chains to add to my Identity Record via signature verification

→ As a user I can attest portions of my Identity Record to other chains in read only mode

→ As a developer I can register a new Identity Component with the registry.

→ As a developer I can whitelist which applications are allowed to modify my Identity Component

→ As an application I can reverse look up an address to it’s xID to determine it’s corresponding components. (Maybe reverse lookup only specific chain address for a given IR, ie eth address lookup only for ETH xID)

EVM: → As a user I can add my ENS address to my Identity Record with TTL

Open Problems

→ How to auction the names from the name service.

→ !! What serialization / deserialization to use that works across EVM/Solana/Move (BCT? Borsh? ABI?)

→ How to handle subdomains.

→ How to handle existing NFT projects that have address for update authority