Blockchain Commuication Could Replace Email, IM, add Trustless Security -
Bitcoin Security

Blockchain Commuication Could Replace Email, IM, add Trustless Security


Government surveillance has become a fact of life for anyone communicating digitally these last few years, and it’s been a bumpy transition for those that value privacy. Even with the adoption of PGP keys and VPNs, options for secure day-to-day communication are scarce. End-to-end encryption is a clunky mess for email and IM, and the commercial services that automate the process rely on the assumption that they won’t be subpoenaed or broken into.

Also read: Will There Ever Be A Gold Platform That Performs Like Bitcoin?

Enter BitMessage, an open source project that has re-implemented Bitcoin’s block-and-transfer system to decentralise and automate encrypted communication. This protocol solves the biggest problem in secure communications: trusting a third party to safeguard your data.

If you’ve used a bitcoin wallet, PyBitMessage (the default BitMessage client) will feel eerily familiar to you. You generate a key and passphrase on your first startup, instead of a transactions page you have an inbox, and your contacts have unique strings that look like bitcoin addresses. Everything is encrypted end-to-end on the network, and messages are handled like transactions on Bitcoin’s blockchain. The main departure is that transactional mixing is a natively implemented feature – meaning that even capture of the encrypted data you send is incredibly difficult for potential eavesdroppers.

Each alias has a unique public key attached to it, and you can create as many as you need.

Sending messages in the “vanilla” program also feels like dealing in cryptocurrency. You have long alphanumeric strings in your contact list instead of handles or email addresses, and you need proof-of-work to get your messages sent. You can set a different key and passphrase for each of your aliases, and create as many as you want. Contacts are not automatically labelled, and there is no peer discovery system, lending to the protocol’s overall security. However, these same features may turn the uninitiated user sour on the idea of using BitMessage, as they run counter to what are considered common conveniences in modern text communication.


The Raspberry Pi doesn’t have enough power to use BitMessage for IM

Its real utility, though, comes from its extensibility. Bitmessage is a communication protocol, not an all in one package. There are more and more services popping up that connect it to traditional communications networks: and bitmail allow users to link a BitMessage alias to an email address, offering seamless end to end encryption out of the box. And as of version 0.3.5, the protocol supports “chans,” anonymous bbs-style mailing lists that are next to impossible to take down or censor; they are a permanent part of the ledger, accessible to anyone who knows their address.

While it is a solid communication proof of concept, BitMessage is barred from the mobile space. The current proof-of-work implementation is too computationally intensive for most SoC devices: I was able to get it working on an overclocked raspberry pi 2, but the processing delay between writing a message and upload made it unusable for instant messaging. As BitMessage comes out of alpha we may see this change, but whether the developers want to get the protocol working well on mobile platforms remains to be seen.

Currently, BitMessage is a secure drop in replacement for email, Instant messaging, and IRC. Though the alpha builds have  limited scope and a somewhat arcane interface, we may well see support for hooks into XMPP, SMS, and other popular chat and text APIs as the protocol develops. For now, though, It’s most useful for desktop applications. Those interested in having a trustless solution to web privacy, BitMessage is a project to watch.

What do you think about Bitmessage? Let us know in the comments below!

Tyson O'Ham

  • Hello, I’m one of the core developers of Bitmessage. Thank you for writing the article. The development builds (v0.5.x AKA “mailchuck fork”) include C and OpenCL PoW mechanisms, this should help in particular with people that have slower devices. There also have been attempts to offload the PoW so that it can be used for mobile devices. The development builds also have many UI improvements and some security improvements too (such as TLS support).

    I also launched another email gateway with smoother PyBitmessage integration: It works the opposite way as and bitmail: these provide you the ability to use a bitmessage backend with an email client (you can use e.g. Thunderbird to send/receive messages to/from Bitmessage users), whereas provides a Bitmessage frontend to an email server (you use (Py)Bitmessage client to send/receive emails).

    Also please not that the data structure Bitmessage uses is not a blockchain (there are no sequential links in it), even though it borrows a lot of the ideas of Bitcoin. I would also be cautious of using the term “transactional mixing”, there are no transactions to mix in the first place. The security is instead offered by encrypting the metadata, so that only the recipient can read said metadata.

  • Also I think your link to bitmail is wrong, that’s a different bitmail, the correct link is