Dash recently released the GitHub repository for DIP-5, which offers multiple features in relation to the creation of usernames on the Dash network and thus increases the overall usability of Dash and furthers the Evolution RoadMap.
Dash Force News talked with Joshua, a Dash Core Group UX/UI Engineer, who called DIP-5 “an exciting update with a very important building block for Evolution”, about its overall implication for the Dash network.
Joshua quickly summarize DIP-5 by citing the DIP-5 GitHub summary.
“DIP 5 talks about Blockchain Users. This is a key part of making Dash DAPs easy to use. From the DIP, this will ‘enable more user-friendly transactions and support blockchain-authenticated applications’.”
Over a video chat, Joshua went further into discussing the integral components of DIP-5 that include “registering a new blockchain username, adding blockchain user credit, resetting a blockchain user key, and closing user account, as well as a few other things”. In the GitHub summary page, DIP-5 introduces Blockchain Users (BUs) to “enable secure services that are linked to a username registered on the blockchain” even on wallets that only utilize SPV (Simple Payment Verification) since they do not download the whole blockchain. DIP-5 states that a “Blockchain User funds their username by converting Dash into credits that are used as fees to pay for State Transitions”, which will be “described in a later DIP”.
Blockchain Users will have usernames that are composed of the following.
- Minimum length: 3 characters
- Maximum length: 24 characters
- Acceptable characters:
A-Z
(case insensitive);0-9
; underscore_
; period.
- Note: Usernames are validated as all lowercase characters regardless of the case in the SubTxRegister
- Unique across the Dash blockchain and current mempool
- Immutable – the username of a Blockchain User cannot be changed
DIP-5 finer details reveal its innovation
It should first be stated that this article is only meant to be a brief summary and to get a more inclusive understanding of DIP-5 it would be beneficial to read the GItHub repository. DIP-5 describes Blockchain Users (BUs) as individuals that have submitted a valid request to the the network for a username as well has having a public key derived from the BUs’ private key.
“A Blockchain User is a private key holder that has issued a ‘Register’ Subscription Transaction (SubTxRegister) containing:
- An unregistered username – validated as unique at the block height that the transaction is mined and guaranteed to be unique for the lifetime of the subscription.
- A public key – derived from the Blockchain User’s private key. This allows user requests (signed with the private key) to be validated.”
In addition, BUs must “maintain a balance of value used to pay fees related to Evolution actions they perform on the network”. However, these fees will be “created by converting Dash into “credits” at a 1:1 ratio when a Blockchain User is registered and then consumed via DAP State Transitions (modifying the user’s per-DAP data)”. Joshua described this process over the video chat as a signup process in credits (that are created from Dash, but are still transferable), since the credits can only be used to signup to the Dash network and used on the Evolution platform; credits are almost like a referral code/voucher. However, when these credits are spent, they are processed by miners and converted back into Dash. This system will allow Dash signups without having to directly hand out Dash that might be spent once and the new user never again integrates into the Dash network. DIP-5 did also state that “[c]redit balance and consumption of credits will be described more thoroughly in additional DIPs relating to State Transitions”. To help understanding a little more, State Transitions can briefly, but not wholly, be described as manipulations to a BUs data on the Dash network such as adding or deleting contacts.
Based on a good summary from phez on the Dash Medium page, DIP-5 and usernames will significantly reduces the steps required to complete a transaction from 5 steps to 3 steps and from 5 steps to 1 step for recurring payments.
“Current payment process
1. Request payment address (Alice)
2. Provide payment address (Bob)
3. Add address to payment field (Alice)
4. Verify address (Alice)
5. Send Payment (Alice)
For recurring payments: Repeat steps 1–5
Blockchain user payment process
1. Add contact by username (Alice)
2. Confirm contact* (Bob)
3. Send Payment (Alice)
For recurring payments: Repeat step 3 only!”
As Joshua mentioned earlier, this DIP-5 covers “registering a blockchain users” (SubTxRegister), “topup blockchain user credit” (SubTxTopup), “reset blockchain user key” (SubTxResetKey), and “close blockchain user account” (SubTxCloseAccount). Also significant, closing the BUs account is possible via the most recent private key or if it is a recently update public key via SubTxResetKey then the account can be closed via previously used private keys [“<= ~90 days old (51840 blocks)”]. This is a safeguard in case an “attacker obtains a Blockchain User’s private key [and] then changes the public key via ResetKey”, then this allows “the legitimate user [to] still close the account with their old key”.
Dash fosters innovation to make Evolution a user friendly platform
Dash has been focusing on becoming an everyday currency for payments around the world by providing a peer-to-peer, digital, and decentralized currency inexpensively, quickly, and securely. However, another necessary feature is ease of use with friendly user interfaces and user experiences so non-technically savvy individuals are able to easily use Dash without having to take time away from their busy day to learn a new system. Dash is striving to make adoption as easy as possible for all individuals, which is a significant part of Evolution and what this DIP-5 begins to accomplish by setting the ground work for using usernames to send and receive transactions. Usernames overcome adoption hesitation caused by cryptographic addresses or QR codes that are confusion or foreign to many new consumers that are not tech savvy, but whom can still very much benefit from Dash.
Dash Evolution is a series of improvements to the Dash network, which includes DIPs 2, 3, and 4 to introduce deterministic masternode lists, various PrivateSend improvements, and automatic InstantSend locking without extra fees for simple transactions by the end of Q3 or beginning of Q4. Then Q4 plans to introduce Dash version 13.0, aka Evolution, with blockchain users, DAP architecture, DAPI and an initial release of the DashPay mobile wallet. Further down the road in the first half of 2019 is slated version 13.1, which includes contract versioning, contract data triggers, merchant features for DashPay, and more. All these features demonstrate the innovate capabilities of Dash that are dedicated to improving consumer facing friendliness and usability so Dash can continuously improve its payment method user base and merchant adoption, which has already been growing exponentially.