Hashes provide a fixed length identifier that can easily be passed around between contracts with fixed overhead and no issues passing around variable-length strings. This also means that any character could be usable as a name, even emojis. However, for our initial launch, we will restrict names to only alphanumeric characters.