DIMP
DIMP copied to clipboard
Decentralized Instant Messaging Protocol
Decentralized Instant Messaging Protocol (DIMP)
0. Abstract
This document introduces a new protocol designed for instant messaging (IM) and an architecture for developing decentralized IM applications. The software provides accounts(user identity recognition) and communications between accounts safely by end-to-end encryption.
It includes just TWO extremely simple parts:
- User Identify
- Messaging
Copyright © 2018 Albert Moky
White papers
- English
- Chinese
1. User Identify
1.0. Meta
See mkm.Meta for details.
1.1. ID
See mkm.ID for details.
1.2. Public Key
A public key (PK) was binded to an ID by the Meta Algorithm.
1.3. Entity (Account/Group)
Entity is the sender/receiver in the network communication.
An entity can be an account or a group. It has an ID, a name, and a number for searching.
An account will have a public key.
A group will have founder, owner and members.
// create account
user = new Account(accountID, accountPK);
// create group
group = new Group(groupID, founderID);
2. Messaging
2.0. Envelope
See dkd.Envelope for details.
2.1. Content
See dkd.Content for details.
2.2. Instant Message
See dkd.InstantMessage for details.
2.3. Reliable Message
See dkd.ReliableMessage for details.
Version 0.1 by Albert Moky [Sun Nov 11 23:18:08 CST 2018]