The new Loki Name System (LNS) was released in a limited capacity on the 25th of March alongside the Valiant Vidar hardfork. At launch, LNS can assign human-readable usernames to Session IDs and Loki Wallet addresses, with other uses (and features) planned for future updates.
If you’re looking for info on registering an LNS name, check out our how-to for name registration.
The LNS namespace is broken up into two distinct sections — one section is responsible for all Lokinet name mappings, referred to as .loki names, and the other section is responsible for Loki Wallet and Session ID username mappings.
In the version of LNS released with the Valiant Vidar hardfork, we will only be allowing the registration of Session ID usernames.
Each LNS name can resolve (be assigned) to a Session public key, wallet address, or .loki address. Session ID and Wallet names exist within the same namespace. When purchasing a Session ID LNS record, the corresponding Wallet LNS record is automatically included. Lokinet names are in their own namespaces. For example, when purchasing ‘KeeJef’ in the Session/Wallet namespace, you can assign the name to a Session public key (Session ID), and you can also update the Wallet record using a second update transaction (note: this functionality is not yet enabled).
When a user looks up ‘KeeJef’ they are returned both a Session ID and Wallet address,
Wallet Address: LBMTVEK8WRiC9rmfoKEjyrZSRje6PdiTU6926LjMkGMUdzyApMvXUbH4LswHnLjMjMPLUbDKiL3RCRQe5XFiobWb8jQrApR
It would also be possible to purchase ‘KeeJef.loki’ in the Lokinet namespace, which is unique from the Session/Wallet namespace. However, Lokinet namespace purchases will not be available until a later hardfork.
The relevant mapping will automatically be used depending on the context in which the name is being used — the Loki Wallet will use Wallet mappings, and the Session client will use Session ID mappings.
LNS naming rules
Both the Session/Wallet and Lokinet namespaces have restrictions on the characters allowed in the name. All names are case-insensitive.
For Session and Wallet LNS mappings, names must start and end with an alphanumeric character or an underscore. There can be any mix of alphanumeric characters, hyphens, or underscores in the body of a name. Users may register names with special characters or emojis by using the equivalent Punycode representation. Names must be between 1 and 64 characters long.
Lokinet LNS domains must start with an alphanumeric character, and can have any mix of alphanumeric characters or hyphens in between. The character immediately before the domain suffix <char>’.loki’ must be alphanumeric, followed by the suffix ‘.loki’. Users may register names with special characters or emojis by using the equivalent Punycode representation. The domain name must be at most 253 characters long, including the ‘.loki’ suffix.
Name registration periods
By default, all mappings in the Session/Wallet namespace will be preserved forever. This is important to guarantee to users that previously-used Wallet name mappings will remain valid. The Lokinet namespace will have reregistration periods to deter domain squatting, and so that names will be released if the keys that registered them are lost.
Ownership, transfer, updates, and management
By default, names are owned by the Loki Wallet address that purchased the name. However, names can also be purchased on behalf of another user. Up to 2 wallet addresses may be specified as the owners of a name. This means up to 2 wallets are able to update and/or transfer ownership of a name record.
Once a domain is owned, it can be transferred to another user’s Loki wallet by specifying the address of that wallet and paying the standard transaction fee to transfer the ownership record.
Updates to mappings can be made at any time by the owner, at the cost of the standard transaction fee to include the new mapping in the blockchain.
Initially, management of all owned names will be possible through the Loki Desktop Wallet; however, we also intend to add name registration and management functionality to Session clients in future.
Names in the Session/Wallet namespace cost 20 Loki to register. We will aim to update this cost with each hardfork to keep it within the $5-10 USD range.
Note: This 20 Loki fee is burnt (permanently destroyed), rather than being paid to any entity. This is to help ensure the long-term economic stability of the Loki ecosystem. You can read more about the rationale behind burning Loki in our cryptoeconomic paper.
Because LNS mappings are stored in the Loki blockchain, these mappings are public information. It is up to each user to choose what information, if any, they map publicly. If you don’t want to map your Session ID to your real-world identity, you might want to choose an alias for your LNS mapping, instead of something related to your name. Basic encryption is employed to mask surface-level publicity of data, but this should not be relied upon in privacy-critical circumstances. Refer to the Loki Name Service technical documentation (coming soon) for more information.
All wallet sub-addresses generated via the account new command are supported as owners. In future, addresses generated by address new may be supported, but they are not supported in the initial Valiant Vidar LNS release.