TIP-077 Fund request to Threshold Pool application: every holders can stake T
TIP Number and Title: TIP-077
Vote Type: Token Holder Governor Bravo
DAO Elected Representative Sponsor: Luna5, Ashley
Introduction
The proposal addresses challenges faced by limited T token activities due to staking limitations. To overcome this, the proposal suggests developing a proxy contract within the T network that can calculate staking contributions from multiple individuals under one account. It includes fair measurement and distribution logic within the contract, request audits to ensure integrity, and develop a staking dashboard UI for easy delegation would enhance accessibility, ultimately fostering a more vibrant ecosystem.
The staking system ideas from DPoS projects are adopted.
A proxy contract capable of calculating staking contributions from multiple individuals under one account will be developed and open to public for anyone to use.
The contract includes a logic to measure and distribute rewards on a monthly basis, with binaries or scripts to execute this process.
Request audits to ensure the proper development of the above logic.
A Staking dashboard UI will be developed to allow T holders to easily monitor the uptime of nodes operating on this contract and delegate their stakes accordingly.
A node operator needs 40,000 T tokens staking for node operation.
Basically, a user’s monthly reward is calculated by the formula above
Detail description
Limitation of the current T staking contract
In case of staking, it is applied immediately by holder request.
In case of unstaking, unstaking delay(unauthorization delay) counts from the unstaking request, and neither additional staking nor unstaking is possible.
Staking and distribution logic of T pool contract
User staking/unstaking requests are aggregated and executed once monthly.
If staking amount > unstaking amount:
Stake the difference between staking and unstaking amounts.
The remainder changes as claimable for unstakers.
If staking amount < unstaking amount:
Executes unstaking for the remainders
Staking requests initiated after the unstaking delay cannot apply to the pool. Instead, distribute the staking reward to new stakers in place of the unstakers.
Unstaking requests cannot proceed if the current pool is in an unstaking state.
A snapshot of current staking/unstaking statuses is taken at 00:00 UTC on the last day of each month.
The default reward distribution ratio is Staker : Operator : DAO = 89% : 10% : 1%. The DAO portion remains fixed, while node commission is adjustable by node operators.
Additional features include:
A node operator can register or remove Threshold applications. It affects the unauthorization delay of each node
Unauthorization delay is calculated automatically upon Threshold application addition or removal.
This is AMAZING: thank you @delightlabs_io for the research and development - in particular I am grateful that you have developed this for any operator wanting to run a pool and with an ethos aligned with the Threshold DAO.
Comments:
I’m curious if you have any thoughts to how you see governance of a given proxy contract? Is this deployed by the operator? If so, are there any malicious things that the operator could do as the deployer of the contract?
It is unfortunate that application auth is up to the operator but I understand the complexities and don’t think it’s a dealbreaker. Worst case is Operator is not on top of auth/top-ups and stakers can move to a different operator
Sorry if I missed it, but what does compounding look like from the staker’s perspective? Is it up to the Operator? (compounding = claim rewards + top-up + authorize apps)
Regarding the 40K USD for this work, I am 100% in favor and think it is worth every penny to unlock staking for smaller holders and boostrap a DPoS ecosystem of operators and stakers.
Thank you for your interest and my replies are below:
I’m curious if you have any thoughts to how you see governance of a given proxy contract? Is this deployed by the operator? If so, are there any malicious things that the operator could do as the deployer of the contract?
→ Thank you for your feedback! I’ll put it on the item
It is unfortunate that application auth is up to the operator but I understand the complexities and don’t think it’s a dealbreaker. Worst case is Operator is not on top of auth/top-ups and stakers can move to a different operator
→ We considered the policy between that the operators should follow all apps but unauthorization delay should be the max one, and operator can make the optimal choice. And we choose to believe operators. Instead, the dashboard would show which app they authorized.
Sorry if I missed it, but what does compounding look like from the staker’s perspective? Is it up to the Operator? (compounding = claim rewards + top-up + authorize apps)
→ Nope. You just claim the reward and restake it. Would no effect on the first and second month, but from the third month the effective staking would rise every month.
The contract has a setting for operator commission. Any operator can deploy their contract, setting the commission. I believe what @delightlabs_io is saying is that their commission will cover their costs for R&D of the contract. Since they will most likely be the first to support T staking through this contract, their costs should hopefully be covered through the commission they collect. I foresee them being the only operator to support T staking through this method for a while.
Thanks for taking the initiative write the contract and propose this, @delightlabs_io! We’ve long wanted to bring token holders with smaller amounts into staking, and it was good speaking with you recently.
I’m not familiar with your business model, but a few questions:
Might it work (if others agree) for the DAO reward % to be a bit higher, allowing us to recoup the cost in a shorter amount of time (something that would likely be a goal of a future grant program)?
IIRC, the original idea was to propose Threshold DAO funding the audit, with development provided by Delight. Did the scope expand? (I’m not opposed to funding development; thinking about the recycling of funds noted above.)
Hey @delightlabs_io, thank you for this proposal. I think this will be a great enabler for node operators and T hodlrs alike.
My questions relate to the Dashboard.
Will Delight labs host and control the dashboard, or will ownership be passed to the DAO?
If I understand correctly, Delight will launch as the only delegate on the dashboard to begin with, to recoup initial costs. How long do you expect this exclusivity period to last?
What is the rough total cost Delight is seeking to recoup from commission?
In the interests of decentralization, I’d prefer to see multiple delegate options live from Day 1, and the DAO cover Delight’s cost directly. At the very least, it would be great to define the exclusivity term, at the end of which new delegates will be added to the dashboard.
I’d also like to hear more about the process for increasing the pool of potential delegates. And I’m going to put myself forward as one of the initial options
Might it work (if others agree) for the DAO reward % to be a bit higher, allowing us to recoup the cost in a shorter amount of time (something that would likely be a goal of a future grant program)?
→ If 10%, it would be a little bit high, but we or community could talk about the better initial number
IIRC, the original idea was to propose Threshold DAO funding the audit, with development provided by Delight. Did the scope expand? (I’m not opposed to funding development; thinking about the recycling of funds noted above.)
→ Not opposed to recycling funding. In this case, happy to onboard more operators for enough funding
Will Delight labs host and control the dashboard, or will ownership be passed to the DAO?
→ It’s not stated in the proposal and good question. It could be some options. If DAO has its own infra in AWS, GCP, or Azure, we can construct CD and the dashboard automatically updates by code change (change could be from others - I belive that the repo of dashboard will be opened to the public)
The main purpose of “control” would be operator listing. In the section Furue plan, you may see Make the contract as factory. It means that the operator list is not managed by dashboard, but real-time listing by register method execution of the factory contract - more decentalized way.
If I understand correctly, Delight will launch as the only delegate on the dashboard to begin with, to recoup initial costs. How long do you expect this exclusivity period to last?
→ If community has intererst on it, we think we can only stand in a couple of month our alone.
Exclusivity doesn’t mean more income if there’s no community interest, I think
What is the rough total cost Delight is seeking to recoup from commission?
→ Expect to cover the salary of T pool product developers in early stage (would be around USD 40K)
Thank you @delightlabs_io for patiently helping the Integrations Guild understand and evaluate your proposal. After discussion among this TIP’s sponsors Ashley and Luna and the IG members, we suggest the following modifications to the original proposal to take this to a snapshot vote:
The Threshold DAO will pay for the audit of the contract
In summary, we are asking @delightlabs_io to do the development of the pooling contract for 5K USD which will be paid upon the following conditions:
a. Contract is available on a public GitHub repo with all commits signed by DELIGHT LABS.
b. A README in the repo that contains directions for other operators who want to fork and deploy the contract to run a pool.
c. Contract is audited and all security issues uncovered by audit are resolved.
We recognize that @delightlabs_io will be the first pool operator and quite possibly the only pool for a period of time. This is okay in this first phase and is recognized as compensation for the work @delightlabs_io has done to finally get us to a community pool for T holders not having the 40K staking requirement.
That said, it is still important in this first phase that other operators have the ability to fork and deploy the contract to run their own pool. Any operator/pool dashboards are up to the operators to develop and publish.
We discussed the feedback above, and almost of the terms are accepatable.
And we ask for changing one term: 3. Change the budget to 5K → 10K USD
The contract spent approximatically 2+ manmonths (> USD 10K * 2)
Although we decided to provide with cheap cost, we concern that 5K is little bit lower than our expectation.