An idea how to make the account creation easier (core code?) Permission System for i.e. Active Key...

For a while now, I've been thinking about how to make onboarding new users easier.... But this is a little bit difficult regarding the current status of how our Hive Blockchain works. I'm going to try to explain here a mechanic on how to simplify this with onboarding and their use of the Active Key for account creation. I do not take into mind if it is technically possible at this point in time or if this requires fundamental changes to the core Hive blockchain code. This is just to give some ideas if the account creation can go in this direction.

The current situation

Currently, it is like this... Users with a large amount of Hive Power staked have the option to create "Account Creation Tickets" or create accounts on the blockchain with their Hive Power and its associated Resource Credits. The current price to create is either 3 HIVE or one ticket or resource credits. After Hiveonboard stops working, it's time to get creative elsewhere. A Hive Whale surely doesn't want to give out his Active Key to create new user accounts, otherwise all his values associated with the Active Key are in danger. Therefore it is currently only possible to either manually create a new account and then pass on the user data or a new user has to find out e.g. via Hive.io where he can create an account. e.g. Ecency. @pharesim had created a nice tool "Hiveinvite" at that time, but here you still have to actively create the account first. This is a good approach, but a bit cumbersome and not instant.

In summary, we would like to be able to onboard new users easily and conveniently so that we grow as a community and the user experience becomes easier. This is currently not possible.

An idea how to make onboarding new users easier.

And here comes the idea... I have already seen this idea in WAX blockchain (EOS) and already tested and use this possibility daily. A user on Hive who wants to create accounts wants to enter his Active Key (prerequisite to create an account: Operation create account) not to store it on a web server or otherwise share it so that accounts can be created. The idea is to create another key, like on the WAX Blockchain, that has the Active Authority of the account but is only limited to the operation to create new accounts. We all know the Posting, Active and Owner Key. These have different tasks and are limited to what the blockchain code specifies.

How about creating another "Account Creation Key" with the Active Key, which has the Active Key as a basis but is only and exclusively there to perform the operation "Account Creation".

This function, that a certain key with the authorization of another key, I have already seen on the WAX Blockchain (Eos). It looks something like this:

image.png

  1. the new Permission Name which is placed just below the Active Key.
  2. the actual new key (Public) / Private only for the owner.
  3. the operations assigned to the key. (Confirmed by the Active Key.)

Current Status of the Hive Blockchain

Currently, we have the ability to grant authority to other accounts. Here it is possible to grant another account access to Posting or Active actions. At the moment I can give full Active Permission to a user who can then dispose of all funds on my account. What is missing is the ability to restrict a user with Active Authority to various operations.

What is missing in my opinion and can be added maybe

As I said in the beginning, I am not a blockchain C++ developer but I see some similarities when I compare both blockchains (WAX/HIVE) and hope that we can achieve a change in a way like this.

A kind of rights system symbolically represented on the EOS/WAX blockchain to create a new authority.

image.png

On the one hand, the name of a permission. The parent key/permission with which the new key must be created or confirmed. Then the key. By clicking on "Add Permission" the new key is created which is only there to perform the one operation as shown in the screenshot above.


I hope I was able to present my thought regarding the permission system and give you an incentive how to realize the development of a permission system based on the keys we have here at Hive. If there are any questions left, feel free to post in the comments and I'll be happy to join the discussion :)

Thanks! Hopefully I've given some good thought process here.


image.png

Vote for my Hive Witness

U can vote for my Witness using Hive Keychain here: https://vote.hive.uno/@louis.witness

image.png

Vote for my Hive Engine Witness

Vote for my Witness on Hive-Engine using Primersion Tool: https://primersion.com/he-witnesses Enter your Username and search for louis.witness

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center