Who is proposing?
- B-Harvest and Sikka proposes this governance proposal together.
What is this proposal for?
- Ask community whether we need the SubKey feature on Cosmos-SDK and also on the Hub
- Pass of this proposal will trigger further implement plans and ultimately inclusion of feature on SDK
What is SubKey feature?
- Definition : Allow users to create SubKeys of an account with different permissions
- Original concept of SubKey is from @sunnya97
- An account can have multiple SubKeys
- A SubKey can have multiple permissions
- Management(add/remove) of SubKeys
- Management(add/remove) of permissions
- Feature to create a SubKeyAccount whose public/private key is unknown
(There is no masterkey for the account)
- Daily spendable amount feature
(a SubKey cannot spend more than daily limit spendable amount)
(amount can be configured for each SubKey)
- SubKey feature must have spam prevention method
(limit on maximum number of SubKey, minimum deposit for each SubKeyAccount)
Benefits of SubKey feature
- Users can create SubKey of her account with restricted permission so that she can use it in everyday life without extreme security risk exposure
- Thease SubKeys will greatly reduce the security risk of individual non-professional users.
- Reduced security risk will result in great expansion of usage of mobile/web application because with SubKeys, users can feel much safer to store and use private keys in her mobile or laptop/desktop.
- SubKeys also can benefit the quality of dapp services by letting service providers hold their clients’ SubKeys with restricted accesses
- Dapp services providers can safely hold their clients’ SubKeys and use it to generate transaction on the behalf of clients. It can allow users using dapp services even without using any key or signature.
- If user does not trust dapp service provider, she can simply remove the submitted SubKey.
- Validators also can reduce security burden of frequent private key usage
- Validators can attach multiple SubKeys on their validator account.(https://github.com/cosmos/cosmos-sdk/issues/3863)
- Each SubKey can have restricted access, and validators also can rotate SubKeys by add/remove, so that validators can benefit from such reduced security risk.
- Decentralized asset management
- Any group with variable member composition can control their asset effectively via SubKey feature.
- For example, ICF can create various SubKeys and distribute it to their team members with respect to each member’s role. They can also add/remove SubKeys when there is a change in members or roles.
- This decentralized control of asset management can be extended with more sophisticated way by deploying governance feature on top of the SubKeyAccount, original idea from Regen Network.(https://github.com/cosmos-cg-key-management)
- Completely decentralized delegation exchange using atomic swap
- Anyone can build an OTC market for trading delegation(whole account) against liquid atoms using atomic swap.(https://docs.google.com/presentation/d/1DCi5ddKWnMjCGw3cqLLYor-VaMTWW7f_xuhnmP2Q378/edit?usp=sharing)
- The atomic swap transaction includes 2 msgs, seller changing her only SubKey to buyer’s key and buyer sending designated amount of liquid atom to delegation(account) seller.
- The content of this proposal is subject to change, and it is not final.