Dive into MYKEY account
Last updated
Last updated
MYKEY is a smart contract wallet based on KEYID protocol and deployed on multiple blockchains, providing users with one-stop blockchain services, including asset storing, exchanging and interacting with DApps, etc. MYKEY is designed with main characteristics like separated permissions, recoverable account and meta-transaction etc. MYKEY accounts execute all operations via one or more authorized logic modules, which verify user identity by signatures. Besides, logic modules can be upgraded with delay.
There are two types of key in MYKEY account structure: Admin Key and Operation Key. In SmartContract, Admin Key cannot sign any general transaction except sign transaction to replace Operation Keys with time-lock.
The private key of Admin Key generated by mobile device which can be cold-backup through recovery code or hardware wallet during registration. The private keys of Operation Keys generated and secure stored by mobile device.
The public keys of Admin Key and Operation Keys are used to signup account and stored in SmartContract for further on-chain signature verification.
With those novel design principle, MYKEY can help dapp build their own native dapp without any explicit sign between dapp and 3rd party wallets. What's more, users can safely manage their asset, vault account, dapp accounts, data by different operation keys which is in one single account, we call it Self-sovereign Identity.
Every MYKEY account has an Admin Key and a set of Operation Keys. Admin Key (index 0) is the highest authority, managing all keys. While Operation Key (index above 0) manages a specific function.
Various action permissions are owned by separated keys, as listed below.
Index
Key Name
Function
Comment
0
Admin
Highest authority, no specific operational permission
Created by default
1
Asset
Asset transfering
Created by default
2
Adding
Add additional operation keys
Created by default
3
Reserved
All other unspecified permissions
Created by default
4
Assist
Propose or approve a proposal as emergency contact
5
Modify
For sub-account modification
The private Admin Key (known as "Recovery Phrase" in mobile APP) can be exported from mobile device and stored o!ine, while the private Operation Keys are stored encrypted in mobile device.
From this url: https://etherscan.io/address/0xadc92d1fd878580579716d944ef3460e241604b7#readContract
you can find the permissions of MYKEY accounts, such as the Reserved Key with index 3 of account 0x67913A00a459fCd41CbF4124a887e8d8dE0742c0
In emergency situations, a user can freeze his account immediately (by freezing all the operation keys), in which case, all operation key permissions (Asset, Adding, Reserved, Assist and Modify) are disabled until the user unfreezes his account or changes all operation keys.
MYKEY account can add other MYKEY accounts as his emergency contact to protect account security. Every account can have at most 6 emergency contacts.
Adding someone as emergency contact requires his consent (emergency contact's signature) and will take effect after 21 days. However, users can choose to add initial emergency contacts when creating account, in which way it takes effect without delay. In MYKEY APP, the initial emergency contact is MYKEY Lab.
A user can also remove an emergency contact. Also, it will take effect in 21 days.
A multi-sig proposal can be proposed by a user's emergency contact or both the user and emergency contact together, then waiting for other emergency contacts to approve, if needed.
The number of signatures needed to execute a proposal is 60% of the total number of emergency contacts rounded up.
Once the multi-sig threshold is met, anyone can execute the proposal.
All keys in MYKEY account are alterable. Therefore, a user's account can be recovered in emergency situations like private key losing or leaking. Different cases are listed in this page Account recovery mechanism.