Managing MultiSig Wallets With NFT Keys
Most people are familiar with the aesthetic functions of non-fungible tokens (NFTs), but their capabilities actually include functionality that goes far beyond anything visual. Those who understand that NFTs can have real utility usually think of tickets or supply chain tools. But an NFT can also act as a key.
In the world of crypto, having multiple signatures required for wallet access allows for further security and further redundancy as well as a decentralized mechanism for giving multiple parties custody of assets in a wallet.
In addition, using a key to cast a signature on a multi-signature wallet allows users to easily move the access key to other devices. Users can even delegate their key to another smart contract for further functionality. Contract keys may be a popular contract design in the future due to their ability to hold NFTs as an access mechanism to the contract. As contracts become increasingly sophisticated, access keys may manage access rights for all users and contracts that use them, and can allow further automation when used within other smart contracts.
In this Multisig Key contract, I added in a few additional functions. Instead of tying each account to an address, I tied it to a token. This allows for users to use an NFT as a key to sign a proposed transaction. In theory, the NFT can act as a ballot to propose and vote on proposals proposed within the contract by any of the key holders. This means a multisig contract can be used to propose and vote on principal items by the key holders as well as act as a standing treasury for assets to be decentrally held in custody and voted on to be reallocated to other addresses.
The Multisig Key contract can primarily act as a decentralized trust, a dApp, DAO, escrow, or even a secondary wallet for someone who wants to have multiple protective measures to safeguard their assets. With any of these use cases, users can have a form of governance and community control over a given smart contract. In fact, they can make community-driven decisions by having each user hold a key which they use to vote. Additional means of governance can be programmed into the smart contract using the signer key tokens as governance tokens for any additional function created.
DApps and DAOs can also use this contract as a library for basic governance amongst a given set of users. Keys can be used to manage assets and votes within their applications, greatly increasing functionality of a dApp with little effort. As further libraries are built out, future dApps and DAOs will be able to gain greater functionality for less.
About the author
Quincy Jones is a Software Developer at XDC Network.
Other content you make like
XDC Weekly Mar 19 - Mar 25
XDC Weekly Mar 12 - Mar 18
XDC Network Takes Center Stage at ETHDubai 2023 with Impressive Ecosystem and Keynote Speakers