Ethereum Network Based Multisig Wallet Development for Remme
Remme is one of the Blaize partners who cooperates with us on several projects. Remme holds a few products: Auth, KeyHub, and PKI Protocol.
In this case, our task was to create a solution for contract management on the Ethereum network requiring approval from several owners to spend money.
Solution Blaize proposed
In order to enable transaction confirmation by several contract owners, Blaize proposed to implement the multisig approach for this case.
The application is aimed to manage funds on the Ethereum network while providing an increased level of security by sharing management responsibilities between two or more people and storing private keys separately on different PCs.
Additionally, we decided to create a service to store transaction comments and notifications via Telegram bot.
We chose multisig wallet technology on the Ethereum blockchain as the most suitable in this case. We have performed the following stages of the development process:
1.Private key storage
We had to provide reliable storage of private keys with encryption, as well as ensuring the correct display of information in accordance with the state of the Ethereum network.
2. Telegram bot integration
We implemented the Telegram bot and enabled its integration with the current technology. This integration was extremely useful for convenient notifications and messaging between owners’ wallets. Additionally, we provided the ability of the reports to the customer’s accounting system.
How does Remme multisig contract work?
Users can manage the balance, which is located at the address of the multisig wallet contract. The wallet only works with Ether, so it is not possible to send tokens to this address.
To send ether, which is on the wallet balance, one of the users creates a transaction, and one out of two others (contract owners who have the ability to sign the contract) must confirm it.
After the second user’s confirmation, the transaction is automatically executed if there are enough funds on the balance of the multisig wallet. In case there are not enough funds on the balance, the transaction will be marked as “Not executed”.
Then, one of the users will be able to make a transfer with the “Execute” button, after recharging the balance for the required amount. If necessary, any of the owners can cancel their confirmation of the transaction.
Challenges of the multisig implementation
The customer required the creation of a solution for secure storage and management of their cryptocurrency funds. The implementation of the multisig approach enables additional security in terms of private keys loss or malicious attack on the contract. Yet, such a solution has to take into account a variety of factors and therefore needs a developer with former experience in creating multisig wallets.
In terms of Ethereum smart contract the main problem we encountered involved forks of this blockchain framework. Broadly speaking, a transaction can be confirmed on one chain, yet dropped by another, while the client needs to see the actual data. This created additional difficulties in terms of contract security.
As a result, we created a secured multisig wallet based on the Ethereum network. The technology helps to provide considerably safer storage for private keys usage and transaction signing.
Moreover, the creation of the custom Telegram bot enables wallets configuration with the system. It helps for easier transaction tracking and better communication between users within a system.
If you think of securing your contract with the implementation of multisig approach, please contact Blaize experts for further discussion.