Joint L1 Task Force
In recognition of the maintenance updates required for the Luna Classic blockchain, I propose that the Luna Classic community contract several experienced blockchain developers to complete the required updates to upgrade and stabilize the L1 layer. At the height of Terra, Terraform Labs had a team of 6-8 senior L1 blockchain developers. With this level of support, developers could focus on innovation in addition to security and maintenance. Given our current situation, as well as severe budget constraints, I am proposing that we budget to hire the equivalent of 3 full time L1 blockchain developers to focus primarily on essential maintenance upgrades to be completed in the next 4-6 months. Upon the successful stability upgrades, the development team would transition to more innovative and long term advancements.
The proposed team of individuals would be three members of the community that have significantly contributed to the L1 layer in the past 7 months, specifically Tobias, Ed, and Till, with invaluable contributions from Notional Labs (Jacob Gadikian’s group). The concrete L1 developments delivered (in-part or whole) by this team include re-enable staking, re-enable delegation, parameterized on-chain burn tax, re-enable IBCs, and dragonberry exploit patch. Additional support on parameter chain updates, relayers, CEX coordination, innovative chain proposals, and community educational materials have also been delivered by these individuals.
In close collaboration with Notional Lab’s recommendation (notional/terra-position-paper.md at master · notional-labs/notional · GitHub), we have outlined the following tasks,
Quarter 1
January, 2023
- Establish process and product backlog for L1 team.
- Establish a “community oversight committee” for this L1 team, with trusted third parties. (PFC, DJTrev, StrathCole)
- Assess the possibility of introducing upgrade handlers to utilize software upgrade governance proposals.
- Assess the state of our current “version map” and determine how it can be patched to reflect the current state of our system.
- Continue working on the “genesis import” problem to maintain a “fallback strategy” if “version map” cannot be patched.
- Adjust ante handler to send 50% of “burn tax” to community pool & 50% to treasury burn wallet.
- Test/Upgrade “estimate-fee” client logic (LCD) in auth module to ensure “burn tax” is calculated correctly.
- Test/Upgrade IBC denom whitelist.
- Propose governance for no canonical github repo.
- Test, push, and upgrade testnet with version 1.0.5
- Test, push, and upgrade mainnet with version 1.0.5
February, 2023
- Investigate PebbleDB/BadgerDb for speed improvements to the backend, discontinue support for goleveldb/rocksdb.
- Transition to iavl fast node via iavl 0.19.4.
- Implement upgrade handlers to utilize software upgrade governance proposals.
- Assess the viability of using cosmovisor for future chain upgrades.
- Test upgraded chain to Cosmos SDK v0.45.11 with TFL patches to support oracle.
- Test upgraded chain to Tendermint v0.34.21 with TFL patches to support oracle.
- Work closely with infrastructure* and L2 wallet providers/partners* on the Classic chain to ensure compatibility with Cosmos 45.11 and Tendermint v0.34.21.
- Propose governance for Mev-Tendermint.
- Test, push, and upgrade testnet with version 2.0.4
- Test, push, and upgrade mainnet with version 2.0.4
March, 2023
- Investigate updating to canonical version of Tendermint v0.37.
- Ensure the priority and compatibility with Oracle transactions (tx) compared to other tx’s once we adopt Tendermint v0.37.
- Secure and deploy Oracle with sha256 to all validators.
- Fork TFL Interchain wallet, develop potential solutions to the bech32 problem at the wallet level, and present multiple solutions to TFL.* **
- Impact analysis of upgrade to Cosmwasm v1.0.0 to assess effect on migrating L2 wasm contracts from 0.16.6.
- Augment the current WASM virtual machine to fit with Cosmwasm v1.0.0.
- Reach out to Assaf from Secret Network to understand dual VM setup.
- Conclusions of quarter 1. Community assessment of team activities. Governance vote to continue funding team activities.
*Additional budgets may be requested for infrastructure and L2 wallet providers/partners to assist during these stages.
**Interchain Wallet compatibility is contingent upon bech32 resolution.
The requested budget for the following activities is,
- 1 full time developer (Tobias) at a rate of $12.5K USD per month
- 1 full time developer (Notional Labs) at a rate of $12.5k USD per month
- 1 part time developer (Till) at a rate of $6.25k USD per month
- 1 part time developer (Ed) at a rate of $6.25k USD per month
This is the equivalent budget of 3 full time developers at the yearly rate of $150k USD.
Additional budget requested,
- (1) part time assistant at the rate of $2.5k USD per month
- (2) stipends for training budget at $2.5k (x2, total $5k) USD per month
- Discretionary budget of $750 per senior developer (x3) for computing
Additional Budget Justification -
One part time assistant is requested to handle the following activities - attendance of every meeting, meeting minutes, interfacing with the community, running twitter spaces to keep community updated, accounting of budget, handling public requests, organization of team, oversight of tasks, documentation of L1 upgrade procedure, documentation updates for developers, etc.
Two junior developers training budget is requested to upskill junior developers committed to helping the L1 development, with the desired goal to have them learn the inner workings of cosmos-sdk, tendermint, and be able to contribute to the future of Luna Classic. Two developers that have already shown initiative are Frank and Zorro. Junior developers will attend all meetings and be tasked with specific deliverables, documentation, and research. Ultimately, the goal is to foster additional talent and L1 developers to provide a solid foundation and remove the centralized reliance on only a handful of developers.
Discretionary budget for computing. As a developer of a highly performant blockchain, computing costs should be budgeted. These are based upon personal costs that I currently spend.
($480) The nodes that I use are Linode instances, 32GB models are $240 per month (2x). One is for Testnet, one is for a full node on Columbus-5.
($120) Two test nodes, one playground node, one Osmosis node for IBC tests, $60 each.
($100) NVME cloud memory is 0.10c per gigabyte. 1TB of memory for Columbus-5 is $100 per month
(~$100) High memory models 150GB run at $480 per month. These are required to export the state of Columbus-5. I usually do not run these more than necessary.
Total spend per month is ~$800. These are indicative of supplemental costs for L1 development.
Total Budget Requested
Budget for L1 development will be requested quarterly, and subject to successful deliveries and community governance. For quarter 1, the budget requested is,
$37.5k = $12.5k (Tobias (Zaradar)) x 3 months
$37.5k = $12.5k (Notional Labs) x 3 months
$18.75k = $6.25k (Till (Fragwuerdig)) x 3 months
$18.75k = $6.25k (Ed) x 3 months
$7.5k = $2.5k (admin) x 3 months
$15.0k = $2.5k (junior devs) x 2 x 3 months
$6.75k = $750 compute budget per month x 3 senior developers x 3 months
—–
$141.75k Total for quarter 1
0.991 B LUNC - LUNC conversion at 0.000143
Distribution of payments will happen monthly at the end of every calendar month given appropriate milestones have been achieved, approval from the oversight committee, and approval from Terra Grants Foundation signers of the multisig. The multi-sig wallet from the Terra Grants Foundation wallet is controlled by Ed, Marco, and Jagmot (Allnodes). While this is an independent proposition by individuals, we are asking TGF to assist with reports, community engagement, and accountability.
In the event that any L1 related proposition or funding request comes to TGF, Ed will play no part in the evaluation or oversight in that proposition to eliminate any perceived conflict of interest.