Origin Protocol has been focusing on building decentralized marketplaces based on the blockchain technology for quite some time now. One of the basic needs of the users of every marketplace is the ability to communicate. Buyers often need to contact their sellers and sellers also have certain questions for their buyers. Messaging is something that comes in very handy when buyers have to hand over their personal information. A secure and transparent ecosystem is therefore needed for such important information exchange.
In order to provide a secure communication channel, Origin Protocol has introduced its decentralized, encrypted end-to-end, persistent and auditable messaging system. It has already been integrated in the Origin demo DApp and can be tried by anyone.
The introduction of this decentralized messaging application was done by Origin in a blog post. The entire messaging system is based on the ethereum technology but in a slightly different way, the messages are not published on the blockchain. The entire project is open-source and the verification of the code can be done by anyone.
As security is the utmost feature that is needed by the users, every exchange of information done on the messaging protocol is encrypted end-to-end. No third-party can access the information and it is completely safe from outside interference.
One of the important aspect of this application is its decentralized nature. The entire system is built upon OrbitDB, which is a serverless, peer-to-peer and distributed database. IPFS technology is used by OrbitDB for data storage purposes and IPFS pubsub for automatically synchronizing databases with peers. The biggest benefit that this framework provides is the elimination of a single point of failure. Being decentralized, the entire system becomes free from third-party intervention of any kind.
Another important feature that this framework provides is the lack of gas costs. Although the system is employing the ethereum infrastructure and signing capabilities, messages are not themselves published on the ethereum blockchain network. As a result of this, users can freely send and receive messages. Being an ethereum-based network, public keys of the users are their primary keys. In this way, messages can easily be sent to specific ETH addresses. Users only have to maintain and keep their private keys to themselves.
The ability to store previous messages for future references is also aimed in the messaging protocol. It is stated in the blog post that:
Your conversations should live forever (or at least for a really long time). Protocol Labs (the organization behind IPFS) is currently working on a project called Filecoin, which will allow users to pay for their data to be stored securely across the network. When Filecoin launches, we’ll finally have an incentive system to ensure that your encrypted blobs of text messages stick around. Until then, Origin and a few of our partners will happily “pin” your messages to ensure that there’s at least one copy available on the network.
All the messaging on the platform is done almost instantly. Since no messages are actually stored on-chain, no waiting needs to be done for the blocks to be mined. As a result of this, fast-paced exchange of information is achieved more easily.
The entire messaging is also auditable.
The signatures on every message are checked to confirm the validity of the sender. A special requirement for Origin is that, in the event of a dispute between a buyer and a seller, a third-party arbitrator must be capable of accessing the conversation history only after permission is granted by one of the participants. The arbitrator must receive cryptographic proof that they’re viewing an accurate transcript of everything that was said in order to arrive at a fair resolution. This all happens without any users disclosing their private keys.
In order to manage identities on the ethereum network, ERC-725 protocol is implemented on the entire network. When a user receives a message from someone, it is necessary that the user is well-assured that the message is from someone who is not an imposter. ERC-725 protocol helps in maintaining this assurance across the network. The entire protocol runs smoothly on the network as it operates by attaching identity attestations to the users’ ethereum addresses. Anonymity can also be chosen by the users on the network.
Origin also plans on expanding the abilities provided by the messaging protocol. It aims at providing the support for multimedia content and even machine-readable messages between DApps in the near future.
The working of this messaging protocol is elaborated in detail in the following video:
Following limitations are also listed by Origin regarding its current messaging protocol:
We’re currently running our own OrbitDB server and IPFS gateway in order to increase the stability and performance of the service. We’re eager to see more adoption of IPFS and the eventual launch of Filecoin to increase the decentralized nature of this system and make it more resilient to attacks.
Origin Messaging requires a double opt-in key generation procedure for each participant in a conversation. This is not a frictionless onboarding experience, but it is a necessary component that provides both security and auditability. We’re also counting on users to be able to maintain their Ethereum private keys, which is an ongoing exercise in user education
Moving forwards from here on, Origin is aiming towards improving user experience, expanding the available features and refining the public API. Being decentralized and secure, this messaging system is something to look out for.