Anyone with a computer and internet connection can easily install the OpenBazaar software and begin trading with anyone else in the world – for free – without permission. We firmly believe that decentralized, P2P trade is going to fundamentally change commerce for the better. However, we don’t expect this to happen overnight. Our upcoming mainnet release is only the first step in this process, and the software has some limitations. Some of these limitations are due to the nature of decentralized networks, and others are due to the limited time and resources we’ve had while building this product. We want to make sure everyone is aware of the current limitations, as well as our plan to address them if possible. OpenBazaar is an open source project and we welcome more people on board to help us tackle these challenges.
1. Offline stores
In the current design, a user’s store must remain online for other users to see and purchase listings of goods and services. The data around listings is hosted by the store itself and not replicated elsewhere. Users who don’t want to run OpenBazaar on their own machines can choose to run their node on inexpensive dedicated hardware, such as a Raspberry Pi, or by using a VPS which will keep their store online 24/7. Addressing this limitation Because the network is entirely peer to peer, it’s a difficult problem to determine how to make storage of listings and other data accessible even when a peer goes offline. However, there are other projects working on these problems. One project is the InterPlanetary File System (IPFS). Our lead back-end developer Chris Pacia has begun looking at how IPFS could be used to cache data and serve offline listings. It’s still early, but it looks promising. Our goal is to eventually transition away from the requirement of running a store continuously in order to engage in trade on the network.
2. Inventory management
In the current design, stores have only rudimentary inventory management tools. They cannot import/export listings from other platforms (e.g. TaoBao, eBay, Shopify), or specify the number of stock available for purchase. For the time being, listings need to be manually removed when they are sold out, similar to Craigslist and other classifieds. Addressing this limitation Inventory controls is a top priority feature to be added shortly after the mainnet release. Work has already begun on this issue, and the team will work closely with vendors to design and implement an inventory management system that works for them.
Search in OpenBazaar is limited to querying the network for listings tagged with keywords that Vendors have assigned. This means that if a Vendor tags his product as ‘#tshirt’, and a buyer searches for ‘#tshirt’, they will see the Vendor’s product along with any other listing with that keyword. There are several limitations to this approach. Because the network has no central authority, there’s no way to prevent people from mislabeling the products and attaching keywords which are unrelated to their product. Also, the process of looking through the network to find related keywords is slow. There’s no room for error either; keywords must be exact matches. Addressing this limitation This limitation is characteristic of P2P networks. Fortunately, users aren’t completely reliant on the search tool in the client, and the search feature isn’t the only way to navigate the network. Bazaarbay.org is an example of a third party service which crawls the OpenBazaar network and gives users a more convenient search engine tool they’re used to. As OpenBazaar grows, similar services are expected to build their own search services. Also, users can find listings without search altogether. The Discover page shows a random sampling of other stores, and they can also put an OB link to a store or listing directly into the navigation bar.
OpenBazaar users don’t have their IP addresses obfuscated. This means that a malicious user may be able to tie someone’s activity on the OpenBazaar network to the location of their physical internet connection. In other areas of the design, OpenBazaar has focused on giving users more control over their own privacy. All traffic between OpenBazaar nodes is encrypted, so that others cannot see the details of transactions. This includes an end-to-end encrypted chat. Data is only seen by the parties directly involved in the trade. Addressing this limitation As OpenBazaar project lead Brian Hoffman has stated, “I think [anonymity] is, without a doubt, one of the most important, fundamental things that we need to have in OpenBazaar.” There are some ways to increase privacy now. Similar to a bittorrent node, OpenBazaar users can run their node behind a VPN now. They can also run on a VPS. We are looking at integrating other tools which enhance privacy. Tor is something we’ve thought about, but is difficult due to the fact that OpenBazaar uses UDP instead of TCP. Another tool which looks more promising is I2P, something which we’ve begun to investigate more closely. I2P already uses UDP. IPFS is working on support for IPv6, Tor, and I2P connections. If we transition to IPFS and they have completed support for these tools, then users will have more anonymity options available to them.
The reputation system on OpenBazaar is currently limited to buyers leaving reviews on transactions they’ve had with vendors, which are public. Reviews can only be left if a Bitcoin transaction has occurred, which prevents users from leaving reviews without actually engaging in some sort of transaction. As is true on other platforms, there’s nothing that prevents an untrustworthy vendor from pretending to be a buyer and purchasing their own product, leaving a positive review. Reviews cannot be given to buyers or moderators. It’s important that buyers and vendors trust moderators, who act as escrow agents to ensure the transaction goes through smoothly. Without a reputation system in the current version of the software, users will need to determine trustworthiness of moderators through outside channels or by moderators choosing to connect their profiles to their real life identities. Addressing this limitation Building a decentralized reputation system that can be trusted - especially when allowing for anonymous users - is an unsolved problem. Our first attempt at reputation is a simple one that requires all parties involved to be able to prove a Bitcoin transaction occurred. Future versions will allow reviews on moderators, and also will be able to use the public ratings left on vendors to do more complex analysis. Because OpenBazaar is open source, it’s also possible that third parties could do blockchain analysis to detect reputation fraud and offer their own reputation systems.
Building a peer to peer system for global trade is hard; come help us realize this vision of completely free trade. If you’re a developer, you can take a look at the back-end code or the open issues, or the front-end code or open issues. Feel free to join our Slack to talk directly to the devs and other community members. You don’t need to be a developer to join, we need testers, vendors, buyers and anyone else who’s interested in helping out however they can.