Decentralized Mailing List

From Bitmessage Wiki
Jump to navigation Jump to search

A Mailing List without the requirement of a central "authority"

Issues with regular Mailing Lists

Even if Bitmessage is a decentralized p2p network, mailing lists require the client who operates the list to be online, creating a Single Point of Failure. Decentralized lists circumvent this issue with everyone having the private keys to the Address, on the cost of signing. In a centralized list, it is known, who sent a mesage, in a decentralized, this is only possible with additional measurements (Hash tagging, PGP). Decentralized lists however cannot be clogged up with large messages because POW is only done by the sending client.


Creating a decentralized mailing list required the user to generate a key, he may either generate a random address and share the Address block from keys.dat or create a deterministic address and share the settings he made with other users. A client then subscribes to his own address.


Decentralized lists are reached by broadcasting a message from the decentralized address itself, having the disadvantage of not getting own messages in the inbox, only replies to it, since clients ignore messages they sent themselves. Clients who have generated such an address cannot send messages to it directly so if somebody is required to proof, he sent a specific message, he needs to sign all his messages with a third party application.

Issues with Decentralized Mailing Lists

If a decentralized mailing list is set to operate as a regular mailing list, a client will broadcast messages sent to it by an external address, causing all clients to receive the messages twice. This allows people to flood the address and make it unusable. Never set an address used for decentralized mailing as a Mailing List.

Spam cannot be blocked on address base, since everyone shares the same sender address.

Example Address

It is created by regenerating a deterministic address with the passphrase "general" (without quotes). Address Version is 3 and the stream Number is 1. The field "Do extra work" must not be checked, resulting in the Address: BM-2DAV89w336ovy6BUJnfVRD5B9qipFbRgmr. This address has to be added to the subscription list and is now ready to use. Messages are broadcasted from the address, not sent to it. When replying to a message, the reply has to be made as a broadcast itself. The Address Block should look like this (it may have additional entries):

label = general
enabled = true
decoy = false
privsigningkey = 5Jnbdwc4u4DG9ipJxYLznXSvemkRFueQJNHujAQamtDDoX3N1eQ
privencryptionkey = 5JrDcFtQDv5ydcHRW6dfGUEvThoxCCLNEUaxQfy8LXXgTJzVAcq

Address List

A list of addresses can be found at the forum.