So the search continues...
When it comes to messengers, the best solution willalways one that is decentralized, with no metadata and strong encryption. Then again that would be too good to be true...or would it?
We've learned over time that Matrix (Element, SchildiChat) and XMPP and even DeltaChat come to mind when it comes to decentralization, yet we've also learned they all have flaws with their handling of metadata. Put aside that you can always self-host and be the master of your own destiny! And all of them have servers involved. A truly P2P messenger would be Briar, but it's only available on Android, and in a very early version on desktop. But these are not the story of today's review.
Today we're looking into Status.im, last time we looked into it, we said:
"Status.....never heard of them, well, don’t worry....we have a feeling that you will."
What is Status?
Status is an open-source, decentralized messenger, a non-custodial crypto wallet and a web 3.0 browser, designed to act as a network node which interacts with decentralized applications (DApps) that run on the Ethereum network.
When you install Status, your mobile phone becomes a light client node on the Ethereum network and you can access the entire Ethereum ecosystem from there.
Status also has a crypto wallet built in, this means you can send and receive Ethereum and Ethereum based currencies in your wallet. You hold the keys to it which means it's fully controlled by yourself. As mentioned it has DApps such as Matcha and 1inch.exchange but also games, social networks, exchanges and marketplaces built in on the browser tab. You can also buy and sell Ethereum locally, or even buy and sell goods with others without ever leaving the Status app.
But now back to what matters in a messenger review, how is it as a...messenger? When we reviewed Status last time out, we stated that it had great potential but that it just wasn't quite there yet to be considered as a daily drive. For instance, it didn't have push notifications, it was only on testflight on iOS etc.
Thankfully a lot has changed and the mobile apps are now working in harmony, on both iOS and Android, simultaneously! The desktop app might still be in alpha but feels good enough for a daily chat service from your desk. The messaging is encrypted and totally peer-to-peer, this mean no servers in between, no single point of failure and no (potential) meddler in the middle! The push notifications also work and don't rely on Google, which is a huge plus! The chat looks modern and even offers stickers ;) for all the Signal and Telegram people for whom this is an important thing when they are choosing their messenger. If you are a sticker creator you can even sell them to users (or offer them to the community for free).
You can have one-on-one conversations or group chats and you can even join public group channels like #privacy (which we would like to populate with your help).
And thanks to the seamless integration of the crypto wallet you can even send Ethereum and ETH-based tokens anywhere in the world from within the chat app!
During the first installation you will be given a pseudonymous username and you will be asked to write down 12 words (the seed phrase). These words are used to back up your wallet and username. You don't have a telephone number, an email address or anything that links to you attached to Status.
Thanks to peer-to-peer it is also censorship resistant which means no single server or anyone can block or attack so no censoring byom third parties.
And here's how that works...each node is considered as a peer, albeit sometimes with differing capabilities. Messages don’t just move from the source client to the server and on to the destination client as it would in most client-server setups. Instead they move across multiple peers and continue moving even after arriving at their destination as peers will never know the intended recipient.
Status leverages a modified version of the double ratchet algorithm for perfect forward secrecy (PCF) which protects your past and future messages even if your current encryption keys are ever compromised. The secure transport is based on X3DH and Double Ratchet specifications from Signal, with some adaptations to allow it to operate in a P2P environment.
Let's be clear, Status is peer-to-peer but if you like to use history nodes (which can be enabled or disabled in sync settings) Status leverages mailservers and bootnodes. You can choose to host these yourself, however, even with history enabled you do not face a single point of failure.
Mail servers that are closer to you in geographic distance will return messages faster. It’s recommended that you keep the default setting for automatic mail server selection. With automatic selection enabled, Status can measure the latency of messages between servers and choose the fastest one for you. If you want to connect to your own mail server, or to one running on a specific trusted device, you can add a custom mail server.
Once delivered it is removed from the server, kind of the way POP3 worked in the olden days!
Sadly, we cannot not yet make voice or video calls on Status but hopefully this is on a roadmap somewhere! Well in fairness to Status it has some big plans on the roadmap for 2021 and we're looking forward to seeing what else will hopefully make this messenger more then just a WhatsApp or Signal replacement!
Think crypto here and think crypto keys or if you are new to it or not into cryptocurrency think of accounts. Each account has a name (some random words generated by the Status app) attached to your account and a balance. This is your wallet but it is also your username. This also means you can have a personal and a business account or even one for your drinking buddies. Separated from each other, yet all in one app, you can obviously remove or add as needed. Each has its own 12 backup words.
You can make your username human-readable. Let's say you have the username 'Sneaky White Koala' but you want to have one on your business card that is human-readable name,such as Peter? Well, you can just register a readable web domain. If you register Peter through Status you would get peter.statofus.eth and you could now use that readable name as your Status name.
But even if you are a 'Sneaky White Koala' or a 'Big Elephant Whisperer' it is easy to share an invitation from within the app. Just click invite friends and the app will let you share a link. You can also find that in your profile screen. In group and public chats you can just click the share link and be able to share an 'easy to read and click' link.
Status also offers a hardware wallet keycard. With private keys stored offline on your Keycard, you can add hardware-enforced authorizations to your transactions, so even if your phone is stolen, your funds will be safe.
At the time of writing this hardware wallet is only compatible with the Android wallet for Status.
The UI/UE looks great and is enjoyable to use, but Status.im is not just pretty, its makers have really focused on privacy.
Status considers liberty to be a sovereign right of all people, they believe that the individual should be able to operate with anonymity and make the decision to selectively reveal themselves as, when and if they so chose to do so.
The project is driven by a ‘no compromise’ stance on security and being surveillance-free ensures that it remains censorship resistant. Likewise, Status embraces absolute decentralization with the working mantra of ‘maximum units, maximum users’. Allied to this latter point is the open invitation to one and all with their stated intent to encourage inclusivity through permission-less participation.
And in the same spirit of openness, not only is Status completely open-source, but they are fully transparent in all their endeavours.
We are going to try to use Status more in 2021, as it checks many of the right boxes, it works, and it's not just a messenger, but connects the dots to a more decentralized world.