This document contains the draft text for a generic market protocol and is subject to change.
The intent of this specification is to create a standardized and open format that can encompass all the economic interactions of an online marketplace.
The Open Market Protocol (OMP) is divided into two distinct formats. One of these, the public listing format, contains all necessary data related to a certain item or service being offered for sale (the title, description, images, payment destination etc) while the other, the private message format, contains all data that should remain private, such as the conversation between the seller and buyer, or the exact payment details.
The protocol is designed with a few virtues in mind. One of those is
extensibility. Technology moves at an exponential rate, and the very few protocols that survive the test of time are all designed with extensibility in mind. A protocol looking to be relevant on a long enough timeline should be both robust and flexible enough that it easily allows any developer to securely expand it. The development of decentralized storage networks (DHTs, BitTorrent, IPFS) and blockchain solutions is still young, there aren't any clear "winners" that meet all criteria nor may there ever be, thus the protocol must accomodate for it.
Privacy is also an important cornerstone, the protocol specifies a format for private messages that buyers and sellers must use, we highly advice that these messages be exchanged over end-to-end encrypted communication channels. Recent revelations and academic papers have proven beyond a doubt that there are many active threats to our digital privacy and security. Additionally, decentralized networks, as well as blockchains, are open public books full of sensitive information for passive attackers to abuse. This was of great concern when designing this protocol as it could potentially put users at risk. We want to allow the right tools and techniques to maintain the level of confidentiality that businesses and people are accustomed to.
The online ecommerce industry is a fragmented space. There are a few big enterprises such as Amazon and Ebay that have established a very dominant position in some market segments. There is also a tremendous amount of small online stores which are certainly not to be neglected. There is a plethoria of software applications to set up online shops, but nearly none of them are designed for interoperability.
One of the many frustrations that online merchants and vendors suffer is the lack of portability of the inventory data between the many different online marketplaces. The more markets your products are available on, the greater their exposure and thus the greater their potential revenue streams. Yet importing the inventory data into another application or website remains a cumbersome process, often on purpose to prevent vendors from using competition. Until now everyone was stuck with either importing csv files (which have many limitations) or using third party software that manages the multiple marketplaces.
The lack of inventory portability by large enterprises is a deliberate design strategy to prevent vendors from also offering their goods on competiting platforms. Moving vast amounts of inventory data to a competitor is a deliberatly painstaking process to capitalize vendors and thus restricting their economic potential.
We've taken portability a bit further than inventory data, why stop there anyways? This protocol also allows you to easily assign payment and shipping details or even images to a specific market listing. Entering new marketplaces that follow these specifications becomes easy.
The upcoming rise of blockchain technology has given programmers a toolset to interact with money in ways that weren't ever possible before. The core of our payment system is designed for operability with the Bitcoin blockchain (or any derivatives for that matter). This allows merchants and vendors to accept a multitude of virtual currencies on a per item basis.
We believe that a unified protocol is a step in the right direction towards more open and free marketplaces where portability is cherrished instead of demonized.
We welcome all volunteer contributions, don't hesitate to reach out to us on GitHub. There is a list of tasks, some of which I'm not very proficient at.