---
# System prepended metadata

title: DIDComm Group Dynamics

---

# DIDComm Group Dynamics

1. How do you manage a group? (e.g. add/remove users)
2. Privileges
3. Spreading the messages (state management)

## Resources

* Group Encryption
    * IETF Messaging Level Security
        * [Working Group](https://messaginglayersecurity.rocks/)
        * [Protocol](https://messaginglayersecurity.rocks/mls-protocol/draft-ietf-mls-protocol.html)
    * matrix.org
        * [Protocol v1.3](https://spec.matrix.org/v1.3/)
        * [End-to-end Encryption Implementation Guide](https://matrix.org/docs/guides/end-to-end-encryption-implementation-guide/#downloading-the-device-list-for-users-in-the-room)
        * [Room version 10](https://spec.matrix.org/v1.3/rooms/v10/)
    * Hybrid Encryption
        * tl;dr - dont asymmetrically encrypt plaintext. asymmetrically encrypt a symmetric key used on the plaintext
        * https://en.wikipedia.org/wiki/Hybrid_cryptosystem
        * from Manning ["Real World Cryptography"](https://livebook.manning.com/book/real-world-cryptography/chapter-6/127)


* Social Message Syntax
    * Activity Streams 2.0 - W3C Technical Recommendation for a Social Data Syntax (JSON + RDF)
        * [Core](https://www.w3.org/TR/activitystreams-core/) - defines only a little. vocab more interesting - 
        * [Vocabulary](https://www.w3.org/TR/activitystreams-vocabulary/)
            * relevant definitions
                * [attachment](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-attachment)
    * [didcomm aries-rf 0095-basic-message](https://github.com/hyperledger/aries-rfcs/tree/main/features/0095-basic-message)
    * https://didcomm.org/question-answer/1.0/

---

n-directional
1000 min
users can be offline, no public endpoints

---

# Abstract

**Keywords**

- DIDComm, Groupchat, p2p, peerchat, groupchat

DIDComm is a promising technology. Although it finds its origin in the space of self-sovereign identity and is primarily used for the exchange of verifiable credentials and presentations, its potential stretches far beyond. One application where DIDComm has potential is group chat.

We envisage a group chat of up to 1,000 people who do not necessarily trust each other. The key challenge in a P2P set-up without a centralised server is the distribution of messages between multiple participants. Hence, we propose a semi-decentralised solution employing more than one relays to facilitate message routing to all group members. This is to prevent central control.

Such a DIDComm-based chat protocol can be used by anyone who is looking for a communication mechanism for their group. By building atop of DIDComm we inherit all the security and privacy support as defined in the specification.

~~One of the main goals is to cut out the centralised server that is a functional necessity of current chat solutions (e.g. Telegram, Signal). This is to prevent central control. In addition, DIDComm offers encryption by default, which provides added user protection. Such a DIDComm-based chat tool can be used by anyone, and is partcularly useful for people living in crisis areas, under oppressive regimes or in areas disconnected from internet access .~~  
