PIP-9: Launch Advanced Staking, Part 1: Terms & Methods
This proposal is the first one out of two which governs the launch of version 0.5 of the Panther Protocol, known as “Advanced Staking”. It defines the procedure of software components deployment and parameters of the “Advanced Staking” Program, which were discussed by the community on Panther’s Discourse forum [1] [2].
The second proposal, which is to be submitted and voted after execution of this one, will activate newly deployed software components by configuring newly and existing components of the Panther Protocol to work together.
This proposal also features an Annex, which details the different parts of the Advanced Staking process.
Background
After extensive rounds of community testing, discussion of terms, and with tested, audited code ready to be open-sourced, Advanced Staking can now be deployed to the Ethereum Mainnet and Polygon network. You can read the specifications for it in Panther’s documentation.
Panther’s Advanced Staking is a progressive step towards the development of the core technologies surrounding the Multi Asset Shielded Pool, in particular the way UTXOs are created, managed and tracked.
Advanced Staking acts as a step to deploy and test the above capabilities by issuing staking rewards within the MASP, without users having the ability to transact within the MASP or privately withdraw rewards from the MASP in this version (the version which will allow this functionality is further referred to as the “Panther’s v1”).
Only $ZKP issued as staking rewards (unlike $ZKP users staked) are added to the MASP (as $zZKP) in this version. Its mechanisms also involve minting a “stake proof” NFT with each stake, and adding this token to the MASP (as a zNFT) that qualifies users to receive Panther Reward Points (PRPs, see the Annex) upon the v1 launch.
Terms for smart contracts
The following terms resulted from multiple rounds of community discussions on Discourse and other channels:
The above value indicates that there is an active program for 6 months with Stakes being accepted until 4 months from the beginning of the Staking Program.
The stakes are locked for 2 months only, which means that:
- Users can unstake after 2 months.
- Users may restake for another 2 months after this.
Rewards are based on the locking period. Users will instantly earn a Staking reward calculated for a 2 months period. The rewards won’t continue to accrue if the user leaves his tokens staked after 2 months so, in order to make the most of the whole staking duration, users must unstake and stake again to get the rewards for the next 2 months period.
In summary, this Staking solution is a flexible and configurable program that allows two terms of Staking within the whole duration of the program. Stakers get the same fixed % APR for both terms.
Community Deployment Rewards
Costs of deploying Advanced Staking’s components shall be compensated to deployers (anyone who is capable of deploying components may be a deployer) as follows:
a. For smart contracts deployment - 6,000 $ZKP to the 1st deployer of the smart contracts on the Ethereum Mainnet and Polygon network.
b. For subgraph components deployment - 2,000 $ZKP to each of the first 2 first deployers of the subgraph on the Hosted Service
c. For the front-end deployment - 2,000 $ZKP to each of the first 2 deployers of the front-end code to IPFS
Reimbursement shall be sourced out of the total 450M $ZKP allocated for protocol rewards.
Proposed actions
The following actions are proposed:
-
Approve parameters as per the section “terms for smart contracts”.
-
Allocate 6.0M $ZKP out of the total 450M $ZKP allocated for protocol rewards, to be used for staking rewards (I.e. send to the VestingPools smart contract a blockchain transaction which registers the allocation).
-
Allocate 14,000 $ZKP out of the total 450M $ZKP allocated for protocol rewards, to be used for rewards to community members who will have deployed the Advanced Staking components as outlined in the Community Deployment section (I.e. send to the VestingPools smart contract a blockchain transaction which registers this allocation).
Participation
Please vote to accept or reject the proposed actions detailed above.
As per the existing DAO governance structure, as the staking smart contracts are not currently issuing any rewards, you need to hold $ZKP, staked or not, on the Ethereum Mainnet or Polygon to participate in voting.
Voting power is calculated by Snapshot.org taking a snapshot of the number of ZKP tokens per holder at the block within which the proposal was created.
Annex: parts of the staking process
The following are the definitions of the multiple functions present in the Staking process. Note that specific terms and variables have been discussed by the Panther community prior to being introduced on this proposal.
Staking: Users’ stakes are securely locked in the Staking smart contracts on Ethereum Mainnet and on Polygon (same smart contracts users staked with before). Users can stake on both networks.
Unstaking: Users can unstake their principal amount from the Staking Contract after a locked time period (the two months since creation of a stake).
Staking Reward: The protocol will issue staking rewards in the form of $zZKP inside the MASP deployed on Polygon. Stakers on Mainnet will also see their rewards on Polygon even though their stakes will remain locked on Mainnet.
Reward Redemption: Users can redeem (withdraw) their $zZKP rewards from the MASP before the v1 launch by using the “Redeem” function. By doing this, they will forfeit their ability to accumulate accrued PRP rewards (see below).
Alternatively, users may wait for the launch of Panther’s v1 to use (withdraw, or transact inside the MASP) both $zZKP and entire PRP rewards.
Panther Reward Points (PRP) Rewards: To further test the protocol and the utilization of PRP, early stakers are eligible for PRP Rewards.
!!! Please note:
-
PRP rewards will only be generated when Panther’s v1 launches.
-
The following terms are subject to further approval by PIPs.
Panther’s smart contracts will allow conversion of PRP into $ZKP (or $zZKP) at a rate driven by the supply and demand. The rate will be initially set at “10 PRPs for 1 $ZKP”, but this value is not guaranteed to last unchanged even for a minute after the launch.
There will be two types of PRP rewards resulted from Advanced Staking:
a. Flat PRP rewards for holders of “stake proof” NFTs. The first 2000 stakers will receive 2000 NFTs. Each NFT will be eligible for the reward of 2000 PRPs.
Holders of “stake proof” NFTs will be able to get the “flat PRP” reward after the v1 launch no matter if they have withdrawn $zZKPs or not.
b. Accrued PRP rewards. These are created by default as per the Privacy Reward logic of Panther Core.
The reward amount is proportional to the $zZKP amount and the time it remains shielded in the MASP. To get the accrued PRP reward a user has to spend a $zZKP UTXO inside the MASP. It means, if a user redeems/withdraws his $zZKP before the v1 launch, the one loses this type of PRP rewards.