Last week I presented to the Hive community my new Key Derivation Tools. My objective is to make available high-quality, user-friendly tools so that more users can benefit from Hive's powerful security-enhancing features.
This week, I'd like to present the second part of this set of tools: my Owner Operations Toolbox.
🛠️🛠️ All Hive's owner operations, easily accessible from a single mobile-friendly page!
[Note: the Non-Owner Operations Toolbox is being worked on and will be released soon]
🛠️ What can this toolbox do?
As I said, I want all operations requiring Owner Authority available in a single, user-friendly interface.
It's important to remark that these are the most sensitive among all Hive operations, as they change things like the Owner Authority (which is the omnipotent one) and Recovery Account, and can conclude the process of recovering an account. So these owner operations deal with the very ownership of a Hive account... no wonder they are so sensitive.
Remember: "With great power comes great responsibility" — Uncle BenVoltaire
Please do remember that. Misuse of these tools can make you lose access to your account. Thus also causing the loss of all funds in your wallet. So please be careful, and make sure you understand these operations before broadcasting any of them.
Ok enough of warnings, let's have a look at each of the tools in the new toolbox.
🛟🛟 Change Recovery Account tool
The first tool is very straightforward: it allows changing the Recovery Account of your Hive account.
For this operation, the user must input his account name, the name of his new recovery account, and his Private Owner Key.
In line with all tools in my new toolbox, it's possible to sign this transaction with two owner keys. If the user choose to sign with two keys, these keys should not be the same.
Note: I know of no other tool with a graphical UI that allows signing transactions with more than one owner key.
If you want to read more about the recovery process, I recommend reading @arcange's posts about it. He also has an automated account recovery service, @hive.recovery, which might be a good option to some people.
🗝️🗝️ Change Account Keys tool
This is likely the owner tool which will see the most use. This tool allows changing all four authorities over your account: Owner, Active, Posting and Memo. I'll just assume you guys are already familiar with Hive's 4-keypair system.
This tool requires the user to input all four new public keys. This way, the new set of private keys (which were ideally generated offline) are never exposed in an online environment. Hence a big synergy with my Key Derivation Tools, which can be used offline.
To sign this transaction, Owner Authority is required, and like the previous tool, the user can sign with two owner keys if he so chooses.
One very interesting aspect of this tool is the possibility to use two owner keys to compose the new Owner Authority. If this option is selected, the user must input two distinct public owner keys. The new Owner Authority will have a threshold of 2, with each key weighting 1.
The result of choosing so is the following (looking at the account using an explorer, like https://hive.ausbit.dev/, which in my opinion is the best Hive explorer):
[This account is not mine, but it used my tool to implement a "double" Owner Authority]
I already said, but might be best to repeat here: please be careful when changing your account's keys! If you commit an error, the only hope might be to execute an account recovery process (that is only possible IF your Recovery Account will initiate the process).
🛟🛟 Execute Account Recovery tool
This is in my humble opinion the most difficult operation in the Hive code (at least that I've seen so far). As the name suggests, it executes the process of recovering an account.
In addition to the name of the account to be recovered, this tool also requires at least two private owner keys:
🗝️ the private owner key corresponding to the new public owner key informed in the "request_account_recovery" operation (which must be broadcast by your account's Recovery Account beforehand);
🗝️ the private owner key (or keys) corresponding to a previous Owner Authority less than 30 days old.
Consistent with all my other owner tools, the user can sign this transaction with two previous owner keys if he so chooses.
I know of no other tool with a graphical UI that allows recovering an account using the required two (or more) private owner keys. The only other option available with a GUI (again, to the best of my knowledge) requires the input of two master passwords instead, which is not ideal, because it is indeed a possibility that the user might have his previous private owner key but has lost his previous "master password". In my opinion requiring the input of private keys, and not master passwords, is the correct approach for this (and likely any other) operation.
🔒🔒 Lock Account Forever tool
And finally, the most exotic tool included in this toolbox. Most people will never want to come anywhere near this one.
What does it do? It wipes all your owner, active and posting keys, ensuring your account will never again be able to execute (i.e., sign) any action on the Hive blockchain.
Why create this tool? Good question. Well, making sure some specific accounts become locked forever (after a series of tasks are performed with the account) is necessary for one of the projects I'm working on. [More details later this year]. So I thought, why not including this in my owner operations toolbox? Just like this is useful to me, it might be of use for someone out there.
Also, there might be some very specific situations where your funds could be safer if you ensure your account absolutely cannot execute any transactions. I'm referring to in-person threats, where one simply can't deny to comply... if complying is an option, that is. You can't prove to your aggressor that you don't have this or that key, but if the account is locked, that is publicly observable on-chain.
But in that case, wouldn't my funds be lost forever?
That's the catch... no, your funds wouldn't be lost! Well, that'd be true if you have a Recovery Account, and the owner of your Recovery Account is able to broadcast a "recovery request" when you contact him (assuming you are able to contact him, and assuming he's safe). You would have 30 days to complete this process though, which is a rather generous time. And you would need the previous private owner key(s) in order to execute the recovery.
So maybe, just maybe, having this Account Lock tool at hand could actually be useful in some very specific situations. But for most people, better stay clear of this one. I even made the buttons here red, and added an extra checkbox to be extra sure this wont't be used accidentally.
Like all other tools here, this one requires signing with Owner Authority, and offers the option to sign with two private owner keys if the user so chooses.
As per @gtg's suggestion, here are the links to the GitHub pages of my "toolboxes" released so far:
https://github.com/hassemer-g/hive-keys
https://github.com/hassemer-g/hive-owner-ops
This week I also applied some minor updates to the Key Derivation Toolbox, mainly aesthetic improvements.
== Next steps for this toolbox
For somewhere later this year, I want to apply the following two improvements to this toolbox:
-> Substitute all instances of "use two owner keys" with "use X owner keys", so the user can use as many owner keys as he wants to compose his account's Owner Authority and sign any operations requiring Owner Authority;
-> Implement automatic import of the most recent dhive library (fetch it online), hopefully being able to keep the page functional as a single HTML file (thus downloadable and executable on mobile).
I have to say, I'm learning a lot from working on these tools. I'm learning more about Hive, and I'm also learning JavaScript, which might be basic stuff but was completely new to me.
If you think these small contributions are beneficial to Hive and our community, please upvote, that goes a long way as encouragement ❤️
And that's it for today! I'm working on the third instalment (non-owner operations) of my Little Hive Tools, adding some more features, stay tuned for its release soon!
Great content! Thanks for sharing it on Hive.
We’d love to see you join Block Horse Racing and start winning!
There’s a reward waiting in your wallet to kick off your journey in the BHR-Game multiverse .
Let’s enjoy building a healthy movement together on the Hive Blockchain!