Staking has been prominent in the crypto circles and has been a key component of various protocols. NFT staking follows a similar approach and should sound quite familiar to the folks who understand ERC20 staking / yield farming conceptually.
Before we dive deep into NFT staking, do follow me on twitter for more such informative posts and content.
What is NFT staking?
NFT Staking is simply where you lock up a NFT for a reward. As an NFT issuer, you are basically incentivising others to buy / mint this NFT by distributing rewards proportional to number of NFTs owned and time for which NFTs are owned.
E.g. Uniswap V3 issues NFT for a receipt of adding liquidity to a particular pair. Now a lot of projects will create their own staking contracts in order to incentivise their token liquidity on Uniswap V3.
How does current NFT staking work?
In NFT Staking, You “lock-up” your NFT in a smart contract usually created by a project minting NFTs. Sometimes, third party projects can also offer NFT staking if the project is building on top of the protocol which issued NFTs. In return for “locking up” your NFT, you receive “staking rewards.” These rewards come in the form of cryptocurrencies or project utility tokens.
The first step in NFT staking involves transferring your token to the “staking contract.” This will then temporarily transfer the token ownership to a different wallet controlled by a staking contract for a certain period of time, typically measured in weeks or months. In return, you receive rewards in project utility tokens or in the form of some special abilities. For example:
NFTs are often used as membership tokens for DAOs ( Decentralized autonomous organization). In this case, staking NFTs often grants some voting rights to holders allowing them to participate in the DAO decision making processes.
The problem
There are some problems associated with this approach though. At least, it’s a problem for the future when NFTs are used for multiple purposes like identities and memberships along with utilities.
In the current NFT staking solutions, the user has to “lock” the NFT in a smart contract by transferring the NFT to a wallet controlled by a smart contract. This means, the user is temporarily transferring the ownership of NFTs from his account to a smart contract account.
Staking smart contract holding NFT can return the ownership back to the user anytime the user wants. But after staking, if you check your balance of NFTs in your wallet, you will see that NFT has been transferred temporarily to a staking smart contract.
So what’s the problem? The problem arises when the NFT which is now staked in a smart contract, is also used for granting some powers and privileges which uses “proof of ownership”.
E.g. One of the utilities associated with NFT is to allow NFT holders to participate in the voting process, or to grant access to special communities which enjoy some exclusive perks.
When the NFT is staked, this proof of ownership will fail since NFT is locked in a staking smart contract.
The Solution
There are two possible solutions:
1. Proof of Ownership mechanisms should include an option to check the ownership from external smart contracts to be whitelisted by operator / owner.
E.g. Service used to verify the proof of ownership in order to allow a user to participate in the voting process should also have a logic in place to check if the user’s NFT is currently being staked / locked in an external smart contract.
However, this doesn’t solve the problem entirely. Instead now there are new difficulties to handle like adding this functionality to PoV services, deciding the criteria for whitelisted external smart contracts.
2. The best solution is to create a new system for NFT staking which doesn’t lock up the NFTs for rewards and farming. Instead, a smart contract based proof of ownership system which performs on-chain verification to distribute the rewards. At Cryption Network, I have been working on this staking flavor with my team. I will write another blog post describing how this NFT staking works both from the end user’s perspective and from a technical standpoint.
If you find this article of any value, do follow me on twitter for more stuff related to Web3, tech, self-help.
Leave a Reply