vac:acz:ift:2025q1-de-mls-multi-admin

involves finalizing the de-MLS RFC with multi-admin support, implementing by extending the single admin approach with on-chain admin consensus, and also submitting to the EF grant program with a messaging application project that introduces decentralization, censorship resistance, and DAO coordination, or DeFi alerts

Description

This commitment involves completing the de-MLS RFC by incorporating multi-administrator configurations both onchain and offchain settings and implementing de-MLS with a multi-admin setup over the Waku network, delegating admin consensus to on-chain components. The process includes presenting the findings such as MLS over Waku and benchmarking, then applying for the EF grant.

Background

de-MLS is a decentralized, scalable, end-to-end encrypted (E2EE) group messaging application with Ethereum-based authentication. The primary goal of this project is to develop a comprehensive and mature RFC that outlines decentralized, secure, and scalable group key generation, designed to accommodate large numbers of users within a single group.

During 2024q4, we identified the centralized aspects of the RFC and the importance of a multi-admin configuration for achieving true decentralization. Also, we achieved the first step of implementation called single-admin over the Waku node proof of concept implementation. The implementation plan for this quarter is to extend the initial single-Waku-node approach to a multi-admin configuration operating across the Waku network.

Narratives

we will reinforce the Conduit of Expertise narrative by:

  • Develop the foundational framework for a decentralized, scalable messaging application authenticated through Ethereum, designed to support a large user base within the IFT ecosystem.

We will also strengthen the Premier Research Destination narrative by:

  • Develop a standardized decentralized messaging application over the Waku network by providing a well-structured RFC and a proof of concept (PoC) that demonstrates its base functionality within the ecosystem. This will allow teams and organizations to build their own messaging applications while benefiting from these features.
  • Create a proposal for the Ethereum Foundation (EF) to apply for EF grants to promote the project and gain support from the Ethereum ecosystem.

Task List

Blogpost de-mls over Waku

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:blogpost-de-mls-over-waku
  • owner: Ekaterina
  • status: started (70%)
  • start-date: 2025/01/06
  • end-date: 2025/01/20

Description

Writing a blog post about implementation details of single admin de-MLS with Waku node as delivery service based on this PR

Deliverables

A blogpost to vac.dev/rlog/

Update de-MLS RFC with multi admins

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:multi-admin-rfc
  • owner: Ugur
  • status: started (30%)
  • start-date: 2025/01/13
  • end-date: 2025/01/27

Description

Update and reorganize the RFC with the single and multi admin options.

Deliverables

  • PR to vacp2p/rfc-index repo with related updates.

Update Waku Node Connection

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:waku-node-connection
  • owner: Ekaterina
  • status: started (40%)
  • start-date: 2025/01/20
  • end-date: 2025/02/24

Description

The current version of the Waku Node setting, and subscribing to content topics entails receiving the same message multiple times. The task plans to fix this and also add the ability to connect more than one node. Also rust bindings have been updated over time and will be moving to the current version.

This task’s end-date is expanded due to the blocker from the waku Rust bindings.

Deliverables

A PR to the de-MLS repository updating the Waku node connection and enabling multiple node usage.

Benchmark Coverage

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:benchmark-coverage
  • owner: Ekaterina
  • status: started (40%)
  • start-date: 2025/01/20
  • end-date: 025/01/27

Description

Expand benchmark coverage in the de-MLS repository. Identify untested scenarios, document them, and implement corresponding benchmarks.

Deliverables

A PR to the de-MLS repository with

  • A document outlining benchmark scenarios.
  • PRs with benchmark tests for uncovered scenarios.

Processing Of Key Packages In Batch

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:batch-key-package
  • owner: Ekaterina
  • status: not started
  • start-date: 2025/01/27
  • end-date: 2025/02/10

Description

Expand the de-MLS codebase by implementing multi-admin support. The implementation with a single admin allowed for the instantaneous processing of requests to join the group. When moving to multiple admins, the ability to collect requests in batches and then process them as one should be added.

Deliverables

This is a PR to the de-MLS repository, updating the API for handling key packages from users before joining the group not in each coming message but once in the epoch.

Test Deployment

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:test-deployment
  • owner: Ekaterina
  • status: not started
  • start-date: 2025/02/03
  • end-date: 2025/02/10

Description

Set up test deployment for the de-MLS repository. Docker containers have been made to run PoCs, but they assume a single node operation and do not run nodes within themselves.

Deliverables

A PR to the de-MLS repository with

  • Docker configurations for deployment and testing.
  • Documentation for test deployment setup.

Extend API To Multiple Admin

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:extend-api
  • owner: Ekaterina
  • status: not started
  • start-date: 2025/02/10
  • end-date: 2025/03/03

Description

Expand the de-MLS codebase by implementing multi-admin support. In preparation for working with multiple admins, extend API for the following processes: processing invitations to a group, applying commits, and preparing a separate channel for exchanging messages between admins.

Deliverables

A PR to the de-MLS repository updating the API for separate commit and proposal messages.

CI Setup

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:ci-setup
  • owner: Ekaterina
  • status: not started
  • start-date: 2025/02/10
  • end-date: 2025/02/17

Description

Set up continuous integration for the de-MLS repository, including automated testing and code validation.

Deliverables

A PR to the de-MLS repository with a new CI pipeline for the repository that includes the waku node.

Consensus Research

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:consensus-research
  • owner: Ugur
  • status: not started
  • start-date: 2025/02/10
  • end-date: 2025/02/24

Description

Conducting research on-chain and off-chain solutions for multi-admin consensus mechanisms.

Deliverables

A notion page that offers a few solutions that are feasible to implement.

Deployment

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:deployment
  • owner: Ekaterina
  • status: not started
  • start-date: 2025/03/06
  • end-date: 2025/03/24

Description

Set up final deployment for the de-MLS repository, including Docker configurations and automation.

Deliverables

A PRs to the de-MLS repository with bug fixes and code improvements.

EF Grant Application

  • fully qualified name: vac:acz:ift:2025q1-de-mls-multi-admin:ef-application
  • owner: Ugur
  • status: not started
  • start-date: 2025/03/06
  • end-date: 2025/03/24

Description

Finalize the grant application file including the answers to EF questions and start the process with having meetings during office hours for possible questions.

Deliverables

Submitting EF grants using the application document and keeping an eye on the process.