Dscuss is a free software for public discussion. It builds an unstructured pure P2P topic-based publish-subscribe network. Currently it's in early development.

The idea of the project

The purpose of Dscuss is quite similar to the Internet forums, but there is one fundamental difference -- social equality of all members involved (i.e no owners, no moderators, etc).

This leads to the following key features, which will be provided by Dscuss:

  • Decentralization. All the information will be stored on the users' machines.
  • Personal censorship. Every user will be able to manage her own copy of data and may share her management operations (edit message, remove message, ban user and so on) with others, who would like to accept them.

Besides that, Dscuss is designed to provide the following features:

  • Data authenticity
  • Data integrity
  • Data availability
  • SPAM resistance
  • Flood resistance

Dscuss is not intended to provide anonymity. However, this can probably be achieved using anonymizers like Tor

Dependencies

Dscuss is written in C and currently has the following dependencies:

Initially Dscuss was supposed to be built on top of the GNUnet framework, but later it was considered not suitable for the purposes of Dscuss.

How to get the source code

The source code is available under GPL3 (with OpenSSL exception). To fetch the latest source code from the git repository, run the following command:

git clone git://vminko.org/dscuss

To compile the source code run make in the root of the downloaded directory.

Progress of development

What is done so far:

  • The network subsystem.
  • The crypto subsystem.
  • Basics of the storage subsystem.
  • Registration (via proof-of-work).
  • Bootstrapping (via list of rendezvous nodes).
  • Membership (maintaining connections with other peers).
  • Subscription to categories (by editing a text file).
  • Handshaking.
  • Publishing a message.
  • Listing a category.
  • Threading (replying to messages).
  • Command-line interface.

What is planned for the proof-of-concept version:

  • Operations on messages and users.
  • Database synchronization with other peers.
  • Bootstrapping (via DHT).

Similar projects

Osiris -- a freeware program for creating decentralized web portals.


Dscuss service architecture

This article describes the architecture of the Dscuss service, which implements the Dscuss protocol.

Protocol

This article describes the Dscuss protocol.

Bootstrapping via DHT

This article gives a brief description how to implement bootstrapping via DHT in Dscuss.

Adversary model

Description of the adversary types in Dscuss.

Database scheme

View notes about the database.

Proof-of-work

Details about proof-of-work implementation.

Debugging

Non-trivial aspects of debugging Dscuss.