Web3 messaging
While exploring different aspects of Web3, I stumbled across Web3 messaging. I was intrigued by a decentralized system where no entity retains control of your communications. Privacy, security and freedom from censorship are the main selling points of a decentralized communication network. I came across a Medium article which gave a very good summary of the prevailing Web3 messaging apps. Of them, I believe Status is the most well established.
I decided that the best way to understand this field was to start building one. I decided to use the XMTP Network. It was simple to use, had a distributed node system, was interoperable with different wallets and chains, and most importantly it was supported by Coinbase. It was at this point where I realized that messaging could provide an entry point to many other services such as payments as well as other functions that WeChat provides.
I probably wouldnt go into technical details of how XMTP works and setting it up as I feel it can be easily followed with their sample project. I do think that the project is still in its infancy, and that there is much to be desired still. The sample project itself produced errors during compilation. I think this provides a good opportunity to develop the framework and the repository of knowledge surrounding the network.
After fixing the issues with the sample application, I started testing it out. I had an issue using my own wallet so I made use of the feature to generate a random wallet identity. This was where I got curious. What was preventing me from generating a duplicate wallet identity of an existing wallet? Would I then be able to access the chats of someone else? Would I be able to access the cryptocurrencies stored within that wallet? Surely this must have been a security concern that crypto protocols must have addressed. Could this be an application for 2FA in crypto wallets?
It would be good to understand the challenges to successful decentralized communication and messaging. Tor messenger was sunset in 2018 due to challenges in sustaining it. I do believe that Web3 needs a new messaging system, and this freedom of access to the protocol enables greater access and greater competition to produce better apps and better experiences for users.