Towards seamless multisig wallet key management

The main focus of this project was on investigating a more secure way through which people could easily store and transfer their cryptocurrencies to other wallets , in the event of any attacks.

The concept was tackled by creating an interface that could interact which the Ethereum blockchain, which would allow a user to create a wallet ‒ also known as a multisignature (or multisig) wallet. In order to create this type of wallet, the user would need to assign multiple wallet addresses to be linked to this new multisig wallet. By doing so, the multi-sig wallet owner/s can only withdraw cryptocurrency when authorised by the specified number of signatures. This would be done to make sure that no one would be able to access the crypto without having access to the other assigned wallets, thus making it a more secure environment for storing crypto.

Besides ensuring a more secure wallet, a multisig approach brings various other benefits to a crypto wallet. One of these is that this interface would allow the user to create a multisig wallet by simply specifying the multisig owner (who would be the person paying for any fees required for creating this wallet) and the addresses of the signers assigned to this new wallet. These keys would all be managed seamlessly and automatically for the user from the backend.

A threshold for the new multisig wallet would also be required. This refers to the number of addresses from the initial addresses assigned to the multisig wallet that a user must sign in order to be able to transfer any money out of the multisig wallet. Not only would the interface allow the user to create multisig wallets but would also allow the user other facilities, such as creating new regular crypto wallets and transferring crypto from a multisig wallet to any other wallet(s).

To transfer from a multisig wallet to another, the user would merely need to input the main details, namely: the multisig address; the signer key; the amount of money to be transferred and to whom it is to be transferred. Thus, the multisig transaction could be conducted seamlessly. A link will also be given to the user after each input, offering them transparency of all the interactions with the blockchain.

The system created was tested heavily to ensure that a transaction would be executed perfectly. This is of particular significance because, since the system would be handling cryptocurrencies, any errors in the system would almost certainly lead to a loss of money.

In conclusion, the proposed system would allow users to manage their keys seamlessly in order to create a more secure wallet. This would enable users to store and transfer money in a very secure manner, without the fear of losing their entire wallet in cases of attacks or loss of a single key.

Figure 1. Flowchart of the process of creating a new multisig wallet
Student: Anthony Zammit
Course: B.Sc. IT (Hons.) Software Development
Supervisor: Dr Joshua Ellul