Services

In SomaChat, a service would be a standalone application that manages a specific area of concern.

Reasons for having a service-based architecture are separation of concerns, modularity, decentralization.

Mechanism of action

  • A service authenticates a user by verifying a signature of some data. The signature is created by the public key corresponding to the user (e.g. the one generated by a password). This is how user data is currently updated (i.e. nickname, tripcode, status, color).

  • It might be useful to leverage some functionality via smart contracts.

Types of services

Key service

Name service

Profile service

  • Manage non-sensitive user data - profile picture, links, maybe even nickname.

  • Manage friend lists.

  • Sensitive data is encrypted by the user prior to sending it to the service.

Discovery service

  • Discover other networks/servers/users.

Private messaging service

  • Send private messages via this instead of the primary server.

  • Might need to sync data with the primary server.

Statistics service

  • Tracks usage statistics and provides useful analytics

Last updated