Decentralized Mailing List

From Bitmessage Wiki
Revision as of 08:20, 28 August 2013 by AyrA (talk | contribs)
Jump to navigation Jump to search

A Mailing List without the requirement of a central "authority". Sometimes called Chan (short for channel) because they usually focus on a subject which also is the password for the deterministic address too.

Issues with regular Mailing Lists

Despite the fact that Bitmessage is a decentralized p2p network, pseudo-mailing lists require the client who operates the list to be online, creating a Single Point of Failure. Decentralized lists circumvent this issue by having a group of users share private keys. Users may optionally send messages from the decentralized mailing list identity address itself. Decentralized lists cannot be clogged up with large messages because the POW is only done by the sending client.

Creation

A DML can be created in the File menu with the Option "Join / Create chan". A Passphrase must be entered and the address is generated.

Joining

A DML can be joined in the File menu with the Option "Join / Create chan". A Passphrase and the address must be entered.

Notes

At this time, because only one address version and one stream is in use, there is no technical difference between creation and joining a chan. Joining requires the address to make sure that you typed the chan name correctly and to make sure that you are using the correct stream number and address version which are included in the address.

Incompatibilities

  • You cannot use the n-th address or generate short addresses with the create/join dialog. You can do so when generating a deterministic address but it will not be recognized as DML.
  • You cannot send messages to a DML if you are not member. This is caused by the fact, that a DML address does not publishes its public key.

Circumvent stuck client

To circumvent non-members of getting stuck, a user can create a deterministic address with the same configuration as the DML Address (provided he hasn't the DML already in his identities), this address will answer key requests and non-members world wide can use the DML.

Usage

To properly use a DML, a user can

  • Write from the DML, to the DML: This is completely anonymous and is the default behaviour that should be taken.
  • Write from a personal address to the DML: This can be used so answers given to the message will only be sent to the private address and not to the DML, or it can be used to "sign" messages with the private adress so nobody can claim it was he, who sent it.

Issues with Decentralized Mailing Lists

  • Since all users share the same address it cannot be easily verified, who sent a message.
  • Spam cannot be blocked on address base, since everyone shares the same sender address.
  • Non-Members cannot write to a DML

Updating

If a user was a member of a DML before 0.3.5 came out, he might want to update the address to a DML. To do so, first of all the subscription needs to be removed in the GUI, after that, the keys.dat needs to be edited and the line "chan = true" needs to be inserted into the address block that should be a DML.

Example Address

Passphrase: general, Address: BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr. The Address Block of a DML should look like this (it may have additional entries):

[BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr]
label = general
enabled = true
decoy = false
chan = true
privsigningkey = 5Jnbdwc4u4DG9ipJxYLznXSvemkRFueQJNHujAQamtDDoX3N1eQ
privencryptionkey = 5JrDcFtQDv5ydcHRW6dfGUEvThoxCCLNEUaxQfy8LXXgTJzVAcq

Address List

A list of addresses can be found at the forum.