• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Announcing DIP 5 - Blockchain Users

nmarley

Administrator
Dash Core Group
Friends, community members, Dashers of the world: I'm proud to announce the release of DIP 5, which defines rules for registering usernames on the Dash blockchain. We refer to these username accounts as Blockchain Users (BUs). This builds upon DIP 2 and defines several special transaction types with payloads relevant to BUs.

Blockchain Users are the foundation upon which the Dash Platform (including DAP system) is built.
You can read about DIP 5 on GitHub.


edit: @thephez has posted a less-technical overview of DIP 5 titled Introducing blockchain users
 
Last edited:
What do you think about renewal fee for username subscription? Like for domain names you should pay renewal fee or name will get free after some time. This way we can recycle abandoned usernames.
 
Is it mandadory not to hold funds?
Or is it recommended not to hold funds in this account?
Please clarify it in your DIP.

Account here means blockchain user account, which is not the same as an HD wallet account that many are used to are used for different things. At a client level you could associate a blockchain user account with one or multiple HD wallet accounts.

When it says this should not hold funds it means that the public/private key pair that is going to be used for the blockchain user account here should not be one that is taken from the derivation paths normally used for holding funds.

We will be making a supplementary informational DIP for blockchain user on clients.

Replying to your first question, no it is not mandatory. However in our first implementation the keys will (most likely) not follow the same type of cryptography as those used in classical transactions hence you would not be able to use them for both (BLS not ECDSA).
 
What do you think about renewal fee for username subscription? Like for domain names you should pay renewal fee or name will get free after some time. This way we can recycle abandoned usernames.
I think it would make sense. It should prevent massive hoarding of usernames even if it's only like $0,1/year.

What do you think about charging more for short usernames and less for longer usernames? Or maybe we could charge based on the compressed size of a usernames, making usernames with more randomness cheaper. On the other hand it might be better for user-experience if the fee is static.

What do you think about adding a tail emission to the coin emission? I think it would be a good idea because
  1. Proposal fees, username registrations and blockchain user credit top-ups burn dash making the supply more and more scarce over time. This would also make all static fees more expensive over time.
  2. The security of the blockchain and masternode network would never completely rely on transaction fees
  3. I think it would lead to a more fair (more even) distribution of wealth in the very long run
 
  1. Proposal fees, username registrations and blockchain user credit top-ups burn dash making the supply more and more scarce over time. This would also make all static fees more expensive over time.

    Personally I have always believed and said coins should be able to re-enter the blockchain do this should be done very carefully.


    • Proposal fees, username registrations and blockchain user credit top-ups burn dash making the supply more and more scarce over time. This would also make all static fees more expensive over time.
    • The security of the blockchain and masternode network would never completely rely on transaction fees

    I disagree and based on my own calculation's and assuming Hardware will still improve 10x or more $0,0001 or less will be more than sufficient to cover all the cost+leave room for profits. IF hardware improves even more either the fee can go down or the profits will go up. Personally I think 2% profit per MNO and miners should be sufficient as it is already an acceptable interest amount for most people, this does not include the increased value of the coin's over time.

    Do the renewal fee's are a great idea well, I believe it should be added
 


  1. Personally I have always believed and said coins should be able to re-enter the blockchain do this should be done very carefully.




  2. I disagree and based on my own calculation's and assuming Hardware will still improve 10x or more $0,0001 or less will be more than sufficient to cover all the cost+leave room for profits. IF hardware improves even more either the fee can go down or the profits will go up. Personally I think 2% profit per MNO and miners should be sufficient as it is already an acceptable interest amount for most people, this does not include the increased value of the coin's over time.

    Do the renewal fee's are a great idea well, I believe it should be added
Lets think about that calculation. Currently ~2000 DASH/day is generated (generation+fees) in block rewards and masternodes are earning ~8% interest. So assuming that 2% interest is enough then ~500 DASH/day should be generated to achieve that.

If Dash was valued at $20 000/DASH then we would need ~100 Billion transactions with a fee of $0.0001 to generate 500 DASH in fees. But most likely the price would be even higher at that point making the problem even worse.
 
Lets think about that calculation. Currently ~2000 DASH/day is generated (generation+fees) in block rewards and masternodes are earning ~8% interest. So assuming that 2% interest is enough then ~500 DASH/day should be generated to achieve that.

If Dash was valued at $20 000/DASH then we would need ~100 Billion transactions with a fee of $0.0001 to generate 500 DASH in fees. But most likely the price would be even higher at that point making the problem even worse.

I think we will have more services that can reward to masternode in future.
 
Friends, community members, Dashers of the world: I'm proud to announce the release of DIP 5, which defines rules for registering usernames on the Dash blockchain. We refer to these username accounts as Blockchain Users (BUs). This builds upon DIP 2 and defines several special transaction types with payloads relevant to BUs.

Blockchain Users are the foundation upon which the Dash Platform (including DAP system) is built.
You can read about DIP 5 on GitHub.

I have few questions to ask about this DIP:

1. Is user data stored in Dash’s blockchain?

2. Does register user transaction costs fee?
 
1. If I understand this correctly - and maybe I have got this wrong! - dash is being burned and then regenerated? If that's the case, then we could definitely use this for proposal fees e.g. a proposal passes but isn't funded, thus reimbursed.

2. I feel maybe grandma should be protected from phishing attacks where the user is "admin" or "Evan_Duffield.Official" etc.

3. Multi-sig user names means DCG could control a bunch of usernames and re-claim them if a private key is stolen.

4. Perhaps the fee should increase exponentially as the length decreases e.g. (25 - charlength) * 10

5. Renewals / expiration? Frankly, I don't want to see people hodling a username for the next ten years.

6. I really hope the initial roll out is to MNOs only. I can imagine a bunch of scenarios we need to work through.

7. I can see you're not thinking of TLDs right now, but I think some kind of provision needs to be made, so not to cause problems later (backwards compatibility). With this in mind, I suggest we not allow a period in the username. Later on we might decide to extend this to DNS and the period might cause problems. Likewise, we can say all usernames will fall under the ".dash" placeholder domain.
 
  1. Proposal fees, username registrations and blockchain user credit top-ups burn dash making the supply more and more scarce over time. This would also make all static fees more expensive over time.

Just to clarify, username registrations (with the exception of the anti-spam fee) and topups do not really burn Dash. It is converted to credits which then get converted back to Dash by miners when they receive them as fees.
 
[Edit: You can ignore this particular post, I have improved upon this later in this thread]

Expanding on my earlier suggestion:

4a. A blockchain username should become exponentially more expensive as it becomes shorter e.g. (25 - StringLength) * 10

4b. The lease time on a blockchain username should be as short as one day. Long leases become exponentially expensive e.g. LeaseDays * BasicFee * 10

Thus, the final formula for username pricing becomes:

(25 - StringLength) * 10 * (LeaseDays * BasicFee * 10)

We could make all usernames universally cheap but I believe there is a valid and established business case to be made for short usernames on short leases. In the real world, businesses, charities, competitions etc make extensive use of short dialling codes e.g. "Send the text "PRIZE" to 123". The high price to entry raises the stakes in a very neutral way i.e. big brand names (or high risk scammers) can afford to lease short usernames. Short expensive usernames discourages hodling on a long term basis and encourages entrepreneurism.
 
Last edited:
This suggested pricing model is a good example of why we need TLDs, that this DIP should at least future proof itself for such extensions i.e. the Registrars for various TLDs could create their own independent username pricing model.
 
Lets think about that calculation. Currently ~2000 DASH/day is generated (generation+fees) in block rewards and masternodes are earning ~8% interest. So assuming that 2% interest is enough then ~500 DASH/day should be generated to achieve that.

If Dash was valued at $20 000/DASH then we would need ~100 Billion transactions with a fee of $0.0001 to generate 500 DASH in fees. But most likely the price would be even higher at that point making the problem even worse.

Let me clarify
1) The first part what is needed to be able to pay the bills running MNOs and running the mining hardware can be achieved by transaction fee's allone, however addition fee's for addition services need to be added
2) The 2% ROI per year would something I would like to see, but I am not even sure it possible long term, Dash may have to compete with currency's that charge far less, but it is a good goal to aim at.
 
An improvement on my previous post:

Blockchain Username Constraints

This DIP takes a conservative approach to the characters permitted in a blockchain username. Namely, a subset of ASCII characters with no foreign language support at this point in time. Obviously, this may change in the future but it is intentionally taking baby steps first. In this spirit and as previously stated, I believe the period (".") should not be allowed in a username. While there is no mention of extending this namespace to DNS, I feel this is something we should be mindful of, and including a period at this early stage might prove problematic in the future.

Blockchain Username Pricing Model

I believe there is a good argument to be made for premium short blockchain usernames. Eighty percent of all english words are seven characters or less. Purely for reference and interest, you may wish to look at these stats for frequency counts: http://www.norvig.com/mayzner.html

Currently, a blockchain username can consist of 37 characters; A - Z, 0 - 9 and an underscore. The permutation count rapidly escalate, but of particular note, three and four letter words and abbreviations are both common yet limited in number. If we consider just letters and numbers (for easy recall), then three characters amount to just 46,656 permutations (36 x 36 x 36).

In the real world, promotional activities for businesses, charities, competitions etc make extensive use of short dialing codes e.g. "Send the text "PRIZE" to 123". Generally speaking, short codes are easy to recall. The average person can recall seven or eight objects after hearing them for the first time.

Given the above, I propose that a flat fee apply to all usernames with the exception of three, four and five character usernames; Gold, Silver and Bronze respectively.

The duration of a username lease is open to debate but I think the premium usernames mentioned above should allow for a minimum of one day.

The cost of premium usernames is also open to debate but my initial suggestion is:
Gold : 0.1 dash per day
Silver : 0.01 dash per day
Bronze : 0.001 dash per day

Fees shared between miners and masternodes.

The high price to entry raises the stakes in a very neutral way i.e. big brand names (or high risk scammers) can afford to lease short usernames. Short premium usernames discourages hodling on a long term basis and encourages entrepreneurism.
 
Last edited:
I wonder if we should also reject numeric-only usernames. It would, in the future, allow us to distinguish between usernames and phone numbers.
 
Would it be possible at all to register suffixes / groups in future releases?

My thinking is that it enables users to have longer over-all usernames while still being memorable.
Additionally it may be more attractive to businesses for uniformity - I realise that payments would generally come from a single entity in the legacy system but if this really is a revolutionary payment system then there is a chance that a use case might form. There may also be some novelty value here... ie registering with your favourite football team / political group / charitable organisation
 
I agree for the most part with @GrandMasterDash considerations.
The backwards comparability could make or break very interesting usecases currently not considered. Leaving out period is a good idea imo. A decentralized DNS service would be very interesting to explore in the future

Leasing out short premium
Usernames also has quite a lot interesting usecases.

I wouldn’t mind to call evo usernames connected to phonenumbers in the future so I wouldn’t see no only numeric usernames as mandartory.
 
I strongly feel usernames should expire after a certain time period. I also think people who got their account compromised would like to sign up the same username as before, so reuse of previous usernames is something to consider.

That’s probably already on the list as non mvp features nevertheless noteworthy
 
I strongly feel usernames should expire after a certain time period. I also think people who got their account compromised would like to sign up the same username as before, so reuse of previous usernames is something to consider.

That’s probably already on the list as non mvp features nevertheless noteworthy

Yes, I think username expiration / renewals should be acommodated. However, if a username expires and there's no renewal, should it go directly to market for re-registration? When a telephone number expires, for example, the number is usually pushed to the back of a queue to minimize the effects of previous "goodwill" e.g. the problems that might come if you immediately inherit the phone number of a busy taxi company. I'm not entirely sure how to deal with this, but off the top of my head, I would say some kind of grace period is needed, where a username enters a lock period. From a technical point of view, this might be problematic.
 
Back
Top