CTMDAO Development Updates
-
veCTM
Purpose:
The veCTM token contract was described in the Treasury proposal, which was passed on the 17th Nov. 17th 2023 veCTM proposal
Design/functions:
Progress:
Updates
The code updates are in the public repository on Github.
The original schedule was that by the end of the first month two milestones would have been met: veCTM contract (proxy pattern, escrow, liquidation, merging, and splitting) and MPC node attachment feature. The final milestones were: modified OpenZeppelin Governor contract, functional frontend and token distribution.It became apparent during development that it was worth developing the Governance functions at the same time as veCTM development and leaving the MPC node attachment until the MPC network is ready. This means that some elements of milestone 3 are complete but milestone 2 will need to await deployment of the MPC network.
Currently, the veCTM uses a transparent upgradeable proxy pattern, consistent with ERC-1967. This means the logic contract can be upgraded and additional storage can be appended. The approved upgrader address is a proxy admin, controlled by the Governance contract. The features included as of now are an NFT and the voting escrow code. The interface to Governance is included with vote counting consistent with the Escrow vote power, however, it is not yet fully implemented - this is where most of the focus is right now. This includes situations such as counting voting power for users who have multiple veCTM NFTs, or who had multiple NFTs at a historic timestamp of interest.
Merging of veCTMs is implemented, and splitting and liquidation are in development.
Many tests are yet to be completed.Issues
Excluding day-to-day issues that are encountered with developing any project of this complexity, there are currently no major outstanding issues that require external attention or concern.One issue which was encountered recently involved deciding how to count a user's voting power at a historic timestamp, where they potentially had multiple NFTs, which they may no longer have. The workaround was to use a checkpointing system where each token transfer is recorded and factored into vote unit counting. This feature is taken from NounsDAO.
It is still unclear what exactly the interface to the MPC node network will be, or what is required.
Solutions
Regarding the MPC node network, further communication will be required with Grubby to ascertain the interface details and an examination of a more final version of the MPC node code, to design the MPC node attachment code in veCTM.C3Caller
Purpose:
C3Caller is the first cross-chain messaging application on the MPC network, and also the first use case for CTM. Since cross-chain messaging already includes token cross-chain and has a simple fee structure, we hope to integrate more Dapps with C3Caller. Therefore, we are currently abandoning the functions of C3Router to keep our system simple and easy to maintain.Fee:
Fees are simply charged based on the length of the message using a configured token. Upper-layer dApps, such as a router dApp need to pre-deposit a certain amount of specified tokens. After the cross-chain is completed, fees will be automatically deducted. The specified token can be USDT, CTM, etc.Progress:
Updates
1. The contract part was completed, targeting the most basic cross-chain messaging.
2. Development progress of C3Caller-relayer service is at 80%, first supporting EVM chainsCTM-MPC Network
Purpose:
MPC (Secure Multi-Party Computation) is a cryptographic-based distributed computing technology. The MPC module can be used for distributed threshold control at blockchain core points, ensuring multi-party participants can achieve distributed consensus without leaking private information. This will provide stable, efficient, and secure support for blockchain applications, thereby helping them achieve more decentralized objectives.Fee:
Key generation requests and signature requests are the most expensive computational resources. When considering charging fees, these aspects can be taken into account, for example, pay-per-use, charging per MPC account, monthly subscription, transaction volume-based fees, etc.Progress:
Updates
After researching existing popular, stable, and large-scale applied MPC protocols, including Binance TSS Lib, MultiChain MPC Network, Thorchain Network, and Qredo, the construction of the MPC module has involved analyzing these protocols' strengths and weaknesses, technical implementation ideas, security, flexibility, performance, and scalability. This also includes drawing from excellent engineering practices and security modules.
The MPC system design focuses on several aspects, including (1) MPC core algorithm protocol, (2) MQTT communication module, (3) inter-node data communication, synchronization, and sharing, (4) nodes providing external data services, (5) data persistence, and (6) transaction verification module. The MPC core algorithm protocol is the heart of the MPC system, choosing secure, efficient algorithms suitable for blockchain scenarios. The MQTT communication module is a vital part of inter-node communication in the MPC system, ensuring the security and reliability of communications. Inter-node data communication, synchronization, and sharing are key to collaboration in the MPC system, requiring well-designed data structures and communication protocols. Providing external data services by nodes involves considering data security and reliability, along with suitable API interfaces. Data persistence is an essential component of data storage in the MPC system, requiring the selection of appropriate databases and storage solutions to ensure data security and reliability.Currently completed modules are:
- MPC core algorithm protocol
- MQTT communication module
- inter-node data communication, synchronization, and sharing.
- Other modules are in progress. Later stages could involve node recruitment and public testing.
Issue
- How upper-layer blockchain applications can integrate with MPC safely and without malice
CTM Frontend
Progress:
Landing Page Updates:
- The UI/UX design has been already finished.
- The react code is almost prepared well. We collected some feedback after an internal test, it’s under improvement now. The front-end will go live by the end of this week. Preview: https://v2.frontend-22k.pages.dev/
Issue:
We’re still focused on the text-based content on the front end and will upgrade and improve it.- Normal users need some time to understand the text-based content on our current website. We need to figure out what is the target audience for our website. A developer-friendly version aimed at capturing the attention of VCs and normal users.
- How to narrate our story on our website? We might need to add a sector, for example, a roadmap, to show people our goals and what is in prospect.
CTM Overall Progress
Following the ContinuumDAO MPC project grant proposal timeline from MultiDAO Snapshot, the design of the project and the core MPC network module are complete. Hal continues to develop the veCTM. The CTMDAO official website's front-end project is finished.
The next focus is on designing and developing specific functionalities for various pages. By Q1-Q2 of 2024, the Testnet for the MPC network and C3Router/Caller is expected to launch, with all code undergoing audits before mainnet deployment. CTMDAO is also seeking VC funding for the further ecosystem development.
-
Happy with the progress!