- Idea for sending messages on the [Ethereum or any other] Blockchain?
Just now·6 min read
The Satoshi message which was registered (trasaction’s link) on the very first Bitcoin block (the Genesis): “Chancellor on brink of second bailout for banks”. Image source
Blockchain has been used as a financial settlement ledger; but there has been much debate about “why don’t we use Blockchain as an underlying platform for sending, securing and registering our messages?” In short, because with implemented methods it is highly costly. However, we can use it [and we have used it] for registering precious data.
In this article, I will introduce an Idea, after reviewing previous works, for securing messaging apps or social network platforms by implementing blockchain technology in a way that is cheap enough, and at the same time, completely decentralized and secure, and also exhibits nice UX.
Sending messages using Ethereum transactions
A very simple method for sending a message on the indeliable soul of blockchain memory, is by attaching the message to a zero value Ether tx (transaction). You can see a few examples here, (on the Ethereum mainnet) and here (on the Ethereum Ropsten testnet). In both examples if you “Click to see more” button, a field named “Input Data” will pop up in which you can see the message sent through the tx on the Blockchain. The message is shown in HEX by default, (you can paste the data without 0x here and convert Hex to text). You can change the “View input as” to “UTF-8” then you will easily read any un-encrypted message:
The un-encrypted message that I have made in this transaction
This could be an easy method for sending precious data on the Ethereum Blockchain when you want it to be there to inform everyone you have said this at the time. No one can deny it or delete it (likeSatoshi’s message on the Genesis block of Bitcoin). Even Vitalik Buterin has used this method for sending a message while he was going to send his $SHIB to the Ethereum Black Hole in this transaction :
The message that Vitalik has embedded inside his tx while burning $SHIB by sending them to the Ethereum Black Hole
It can be done in less than a minute by connecting your web3 wallet to MyEtherWallet and sending a zero value transaction with MEW tx sender module to the blackhole and attach the message data in the advanced field named “add data”.But we know everyone can read it, so private messages should be encrypted.
Using MEW for sending tx with an embedded message
How to send encrypted messages on the Ethereum Network?
Let go through it by an example. Consider Alice wants to register a private message which is publicly available on Ethereum Blockchain. A simple way is just to send the message hash as a tx data on-chain and then send the message on another platform to Bob. This will solve the problem of sending private messages and providing evidence that she has generated the message before a certain time. But how can she prove that Bob has received the message?
How to Acknowledge?
When you send a message there should be some tools that you could verify Bob has acknowledged he received the message (as a proof for message delivery and Bob has seen and has accepted that had seen the message). In this regard, Bob (the receiver) can verify the message by signing the message or another message which contains the message approval.
This can be done by means of message signer. Bob can sign the message (or the message hash with an acknowledge statement) and send it back to Alice on-chain [or off-chain].
message signer toolkit that generate signature for each message with your wallet
Implementation example: Etherchat
Etherchat has implemented a messaging DApp (Decentralized Application) on top of Ethereum mainnet (Etherchat contract) and its Rinkbery testnet which exhibit from end-to-end encryption. This was a great idea but as we know tx fee on the Ethereum mainnet increased and as a result, the project has been abandoned. As of today, the Etherchat web app is inaccessible. The idea was great but there was no roll up those days so they have implemented Etherchat on the mainnet. They have provided a brief review of their DApp on Enguyen’s medium page.
Implementation example: Whisper
Another great example for peer to peer short messaging system is the Whisper; which has been used for DApps interactions similar to JMS (Java Message Service) .It does not register anything on the Ethereum blockchain memory; but it is used as a messaging protocol to send messages off-chain across DApps. As an underlying technology Whisper does not exhibit any UX and cannot be used by users. (detailed description about Whisper)
Implementation example: STATUS
Status.im focuses on security and try to be the twitter for Blockchain ecosystem; But bad UX and unclear roadmap prevent status to be a famous messaging application. Status has found the way but did not complete it because they couldn’t find a way for anti-sybelattack message storage outside of user’s devices. It was no suprize. At the time of status initial development there was no Ethereum roll-up or plasma network which could scale the blockchain capabilities for Blockchain registered messaging DApps.
In Short the idea is similar to Zion and would be combination of these concepts: 1) Proof of Humanity, as an Authentication & Anti-sybil-attack Mechanism 2) Basic Attention Token, Stacker.news, Axie infinity, or Mirror.xyz as interaction incentive mechanisms, 3) Filecoin, or Storj as storage infrastructure, 4) Polygon, Bittorent, Lightning Network’s on-the-fly Channel, as connection and registry platform. It will be summarized like this:
How users, Investors and Service Providers interact with the platform
Any Social Networking or messaging platform should has these parts:
- Authentication Mechanism
Incentive Mechanism for users to rush in
Incentive Mechanism for investors to provide system development costs
Incentive for service providers to maintain services
The Idea is this:
Users register in a platform like PoH (Proof of Humanity) and they will Authenticate with this PoH similar to Google Authentication Service. This can prevent robots and airdrop hunters and sybil attackers from consuming the platform’s fuel and capacities.
Authenticated users are authorised to submit a few changes on top of the Ledger (send Direct Message, Public Posts, like other posts, send comments, …); But they should provide services (storage, routing, validation, …) as much as they want to use system. these can be done by means of decentralized version of eMule (receiving something like $BAT or $SLP in Axie infinity as an incentive for interacting in the platform).
The Interaction’s hash roots are stored in the ledger and their content (messages, lists, binary files, …) should be stored in some other way (i.e. Storj, Filecoin) by means of which some service providers can store contents and receive incentives.
There would be some questions about data availability, accessibility (and speed of finishing requests) as these questions have been there for Filecoin. First generation proof of storage blockchains failed to achieve attention as they only made service provider’s incentive for their storage (They are called “cloud storage” not cloud server services) not for all aspects of service providing specs (i.e. bandwidth, request finishing time, ping and latency, …). As a result second generation platforms (i.e. Solana’s Arweave and Aleph) has built complicated mechanisms, ensuring they validate Cloud services like TXs as fast as possible.
In such a Social network, users benefits from their activity (their post being viewed and viewing other people posts and technically for every interaction with the platform there would be a cost like gas and some incentive that would be much higher than gas if the system is optimized as traditional social networks), and service providers would receive their incentives, as well. The system benefits from the user’s attention by means of investors and service requesters. It is much more similar to the decentralized version of Twitter. In contrast with Twitter (or Instagram), the Decentralized Social Network does not keep everything on the company’s side. And the platform provides proof for each activity.
This network can be used as an underlying mechanism for global petition signing and reliable voting. In this way it may arise a new power in the shifting web of politicians.
- Date of publication:
- Wed, 11/24/2021 - 09:06
Click on the link - it will be copied to clipboard