The default permissions setup
EOS has a unique account system, which allows users to manage permissions on their account. Each permission requires a valid transaction, or multiple valid transactions to be transferred to the blockchain. By default, an EOS account has 2 permissions, active and owner.
The active permission authority is used for transferring funds, voting for producers and making other high-level account changes.
The owner permission symbolizes ownership of an account. There are only a few transactions that require this authority, but most notably, are actions that make any kind of change to the owner authority. Generally, it is suggested that owner is kept in cold storage and not shared with anyone. The ownerpermission can be used to recover another permission that may have been compromised.
By default, the keys for the active and owner both have a weight of 1, and both the active and the owner permission have a default treshold of 1. This means that there is only 1 signature from the owner key required to perform any action that requires the owner permission. The same goes for the activepermission. There is only 1 signature from the active key required to perform any action that requires the active permission.
This is how a default EOS account is set up.
Changing and adding permissions
Luckily, you can add and change permissions, allowing you to create a multi signature account, create new permissions and much more. To show you the possibilities of changing and adding permissions we will explain an example.
Multi signature account
In this example we will explain how a multisignature wallet works, and how to set one up yourself.
In the above image you can see a possible setup of a multisignature account. In this example the owner permission has a treshold of 2, and has 2 keys, both with a weight of 1. This means that the signature of both keys is needed to perform any action that requires the owner permission.
The active permission has a treshold of 1, and has 2 keys, both with a weight of 1. This means that only 1 signature of any of of the 2 keys is required to perform any action that requires the active permission.
How to set this up on your own account on EOSToolkit.io
We will set up the account just like the multisignature account explained above.
Connect your scatter account to the toolkit if you have not done so before read this tutorial.
*Don’t forget to add ‘@permission’ behind the public keys, change the permission to the actual permission (active, owner, etc)
After you have connected your Scatter account, visit the ‘advanced permissions’ tab. We will start by changing the owner permission of the account. Fill in the blanks using the correct information and keys and click update. You can also add more keys and change the threshold and the weight of the keys if you want.
After you have updated the owner permission you can update the active permission. Fill in the blanks using the correct information and keys and click update. Just like with the owner permission, you can also add more keys and change the threshold and the weight of the keys if you want.
Now you have a multisignature account, just like the multisignature account in the first example.
A multi signature account is just one of many possibilities of EOS permissions. Creating a multi signature account only requires you to change the default permissions, though. To create more advanced permission structures, you can create new permissions, or manage and set existing permissions.
How to create new permissions using EOSToolkit.io
Managing, setting and creating new permissions has now been made really easy and accessible thanks to EOStoolkit.io! Let’s say you have an EOS account, but don’t want to use your Owner key to vote with that account, as having that key compromised could be disastrous. You could give another account the permission to vote on that account. (You can do similar things using proxies, this is just an example)
In the above image you can see how to fill in the blanks to give the second account the ability to use the vote permission on the main account. Only access to the active permission on the second account is required.
After confirming the above transaction, you will need to link your new vote permission to an eos.io action. Since we want the second account that has this permission to be able to vote on the main account, we link the vote permission to the ‘voteproducer’ action using the ‘Link Auth’ tool.
Now the second account will be able to use the vote permission on the main account.
*USE THIS GUIDE AND THESE TOOLS AT YOUR OWN RISK, WRONGFULLY USING THESE TOOLS CAN RESULT IN MAKING YOUR ACCOUNT INACCESSIBLE*
*KEEP IN MIND THAT FOLLOWING THESE TUTORIALS CAN RESULT IN MAKING YOUR ACCOUNT HARDER TO USE. THERE ARE NOT MANY TOOLS AVAILABLE THAT SUPPORT CUSTOM PERMISSIONS (YET)*
We hope you have learnt something today or found the solution you have been looking for. GenerEOS & Blockgenic, strive to ensure that we bring you the most credible, up-to-date and user-friendly information within the EOS Network. If this guide was helpful, please consider voting for aus1genereos & blockgenicbp so that we can continue to keep adding value for the community.