Current Limitations of the OpenBazaar Software

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.

Current Limitations

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.

3. Search

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.

4. Anonymity

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.

5. Reputation

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.

Join us

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.

Read More

OpenBazaar Weekly Update, March 7, 2016

Update

We’ve been posting weekly development updates for many months now. Since our testnet release on March 1st, we’re now going to give updates on development through release notes when new versions are released.

We will continue publishing weekly updates, which won’t be focused on code changes but other information around the progress of the OpenBazaar software, network, and community.

Testnet Release

On March 1st we released the testnet version of OpenBazaar. Over the past week we’ve been excited to see so many people download and test OpenBazaar for themselves. Since OpenBazaar is purely peer to peer, there is no central server to collect exact numbers on how many users installed OpenBazaar since testnet launch, but we can see how many users downloaded the installers from the Github repositories. Version 1.0.6 and 1.0.7 have been downloaded more than 8,000 times over the past week. The OpenBazaar testnet now has hundreds of items people are buying and selling to test out the software.

View post on imgur.com

In addition, we’ve seen more than 100 new issues opened on the client repository and 20 opened on the server repository. We appreciate so many people testing and reporting in order to make OpenBazaar ready for the upcoming main net release.

Many testers took to Twitter to share updates and screenshots of their own OpenBazaar pages and stores. One tester made a video showing off the process of purchasing products, shown at the bottom of this post.

The team is currently addressing the new open issues and responding to user feedback. Also, having so many users on the network has given us the ability to see how individual nodes respond to higher traffic. With this information we’re now focusing on optimization.

We will continue to put out new releases during this testing phase until we get enough testing and feedback to feel confident switching over to the main net. There is no set deadline yet for this transition.

Read More

OpenBazaar Released on the Testnet

downloadOpenBazaar

OpenBazaar is now fully functional on the testnet. We welcome rigorous testing from the community to ensure everything is functioning properly. You can download the testnet version here.

After we’re confident of the stability and functionality of the product, we’ll transition to the main net and OpenBazaar will be open for business.

Guides

If you want to become a tester, check out the tester’s guide.

The OpenBazaar User Tutorial has an overview of how to use the platform.

The Vendor’s Guide gives more details on how to sell goods and services on the network.

Help

If you need help, visit our help desk.

If you want to chat with someone from the OpenBazaar community for help, or to give feedback on how OpenBazaar is working for you, join our Slack community.

Don’t forget that this is on the testnet and uses testnet bitcoin for the moment. If you need a testnet wallet, we recommend Copay, which is available here on both iOS and Android. If you need testnet coins, you can grab some here for free.

If you’d like to notified when OpenBazaar launches for real trade, drop your email here.

Read More

OpenBazaar User Tutorial

This tutorial will show users how to install OpenBazaar, navigate the network, and make purchases.

If you have problems along the way, visit our help desk. If you want to chat with someone from the OpenBazaar community for help, or to give feedback on how OpenBazaar is working for you, join our Slack community.

Step #1 – Download and install OpenBazaar

Most users will want to download a package for their operating system, which makes installation as simple as downloading and opening a file. If you have some technical expertise and want to manually install OpenBazaar, read these instructions.

The packages for release can be found on our Github releases page at this link:

Download OpenBazaar

Windows users use the OpenBazaar-1.X.X_Setup.exe file. After downloading and opening the file, Windows users will be guided through an installation process which should go very quickly.

OS X users use the OpenBazaar-1.X.X.dmg file.

Linux users use the .deb file.

Download and open the file.

Step #2 – Run OpenBazaar for the first time

The first time you run OpenBazaar you will be guided through an onboarding process to personalize your experience. You will be asked a few questions such as your language, country, and preferred currency.

onboarding1

Each user has their own page on the OpenBazaar network. You can choose a specific theme to make your store unique.

onboarding2

You also have the opportunity to upload an avatar for your store. Click on “Select Avatar” to choose a file from your computer.

onboarding3

The last part of the onboarding process is a disclaimer about using the OpenBazaar software, which you should read before continuing.

After finishing onboarding, you’ll now see your own OpenBazaar page. Here’s what an example page looks like.

newuserpage

Notice the long string of characters below your name, and in the navigation bar at the top of the client. This is your OpenBazaar ID, which is an address that every page on the network has. You can learn more about OpenBazaar IDs here, and how to create simpler names called “handles” here.

newuserpageOBID

Step #3 – View OpenBazaar listings and stores

OpenBazaar is a network of users all over the world who host their own stores, and sell goods and services for Bitcoin.

To view a random sampling of other stores, click on the “Discover” icon (looks like an eye) on the top right of the client. This will bring you to the main Discover page where you can view listings and stores on the OpenBazaar network.

discoverlistings

By default you’ll see listings, but if you click on the “Pages” tab you’ll be shown a list of pages which you can connect to. This isn’t a complete list of all the pages on the network; at any one time your own computer only connects to a subset of the overall network.

discoverpages2

Note that, by default, users will have a NSFW filter turned on that will hide listings which have been labeled NSFW by the vendor. You can turn off this filter by going into Settings > General tab > clicking “No” on the “Display NSFW Content?” option at the bottom > Saving changes.

If you see a listing which is inappropriate or offensive, you can block that user. Blocking another user means you will not see their items or store on your discover page. You can block a user by hovering over the listing and clicking “Block.”

blockuser2

Navigation bar

You can also use the navigation bar to find other stores or listings. Every listing and store has an address on the network, and putting in that address will take you there, just like a website.

For example, take note of the navigation bar on this image. By default, all pages have an address like this, called the OpenBazaar ID. Putting this address into the navigation bar will take you to their page if it’s online.

storenavigationbar2

Since this address isn’t memorable (similar to a Bitcoin address) there is a simpler way. OpenBazaar IDs can be tied to “Handles,” which are short names that can easily be entered into the navigation bar. For example, here’s a store with the handle @drwasho. If you want to set up your own handle, read this article.

storeHandle2

Listings have addresses as well. The address first contains the OpenBazaar ID or Handle of the store, and then /item/ followed by the address of the specific item. For example, this listing has the following address:

8ed937277cad44f4bda553bb2bc6b47e4b4a246e/item/86fda502a9175b8173cd540a355a23eecf20ea62

listingaddress2

Copy these addresses in client with Ctrl+C, and paste them with Ctrl+V. You can use share these addresses on the web and other OpenBazaar users can navigate directly to the addresses by pasting them in their navigation bars.

Chat and following

OpenBazaar isn’t a giant ecommerce site; it’s a group of people who all want to engage in peer to peer trade. If you want to talk with those people, you can by using the built-in chat function. Chat is encrypted end-to-end for user’s privacy.

On any OpenBazaar page, you can message the owner of the page by clicking the “message” button.

storepagechat2

This opens the chat bar on the right of the client. You’ll see the user and their avatar at the top, your messages in the middle, and then a text field to type at the bottom. There’s also a dropdown on the right which allows you to view the users page and also block the user if they are harassing you.

storepagechatexample

If you want to remember a store you found, you can follow them, which will add them to your following list. On their page, click the follow button.

follow2

Then on your own page, you can click the following tab and see the stores you’ve followed.

following

Step #4 – Buy something

OpenBazaar is all about creating a new peer to peer network for trade, using Bitcoin. So let’s buy something! Find an item you like and click the big “BUY NOW” button.

The first time you purchase something on OpenBazaar, you’re going to be asked if you have a Bitcoin wallet or not.

buyflow1

If you don’t, you’ll get a list of wallet providers to choose from. You’ll need Bitcoin to buy anything on OpenBazaar, so if you don’t have Bitcoin yet then you should either become a vendor on OpenBazaar and sell some items to earn some Bitcoin, or buy some elsewhere.

If you have Bitcoin, then you can proceed. If the vendor has chosen moderators, you’ll be asked to select from one of two payment types:

1. Direct Payment – The buyer sends the bitcoin directly to the vendor.

2. Moderated Payment – The buyer sends the bitcoin into an escrow account and they are released when the transaction is finished.

You can read more about moderators and moderated payments here. The bottom line is this: Moderated payments give the buyer some protection against the vendor taking the money and not delivering the product. But it’s important to choose a trustworthy moderator. Forums such as OpenBazaar Moderators give people a place to discuss good or bad moderators.

If you choose moderated payments, then your bitcoins will be sent into an escrow account (using a unique feature of Bitcoin called multisignature addresses) that will only allow the funds to move if two out of three parties agree. Those parties are the buyer, vendor, and the moderator. This is more secure than a direct payment, in which the vendor receives payment as soon as they process the order.

After you choose which payment type you want, you will be asked to enter a Bitcoin address that you control. This address is only used in case there is a refund. Once you’ve entered this refund address the first time, you will not be asked again, but you can change it in settings. If you choose to create a temporary address with RushWallet, please don’t forget to save the URL so that you don’t lose it.

If you are buying a physical item, you’ll now be asked to enter a shipping address. If the vendor doesn’t ship to your country then you’ll be unable to purchase the item.

buyflowshipping

You’ll then be shown a summary screen with details of your order, and quantity, shipping information and moderator details (if it’s a moderated payment). If you are satisfied and want to place and order, click the “Pay for Order” button.

buyflowfinal2

You’ll now be shown the last step in the purchasing process, the payment screen. If you’re familiar with Bitcoin then you’ve seen these QR codes many times. If you have a mobile Bitcoin wallet, simply scan the code and pay. If you have a local wallet, you can click “Open in Local Wallet” and you can finish payment there, or click “Copy to Clipboard” to get the payment address easily.

buyflowpayment

After paying you should see the payment screen change to indicate successful payment in only a few seconds.

buyflowpaymentsuccess

If you don’t see anything change within a few minutes, then you can click the “Refresh Payment Status” button to manually check for payment again.

You’ve bought something, what now?

Step #5 – Managing orders

You can view your purchases by clicking on the menu on the top right of the client, and then on the “Purchases” section of the dropdown menu.

purchasesmenu2

This brings you to your transactions page, which shows you all of your purchases, sales (if a vendor) and cases (if a moderator). To view more details about a purchase, click on “Order Details.”

purchasesorderdetails2

In this window you’ll see several tabs. The first is a summary tab which gives you an overview of the order. The second is a funds tab which shows the details of all the Bitcoin transactions. The third is a Discussion tab which allows you to have a conversation with the vendor, as well as open a dispute with the moderator if it was a moderated transaction.

purchasemodaldiscussion

You may also have a shipping tab if you ordered a physical item. This tab will show the shipping address you provided.

This window is also where you’ll finish up your orders if you selected a moderated payment. If the vendor shipped the item or delivered the service to your satisfaction, then you should complete the order releasing the funds to the vendor. This also gives you an opportunity to leave a rating for your transaction. After the vendor confirms the order on their end, you’ll have the opportunity press the “Complete this order” on the top left of the window.

purchasereleasefunds2

You’ll then be asked for the rating, and can scroll down to enter a text review as well. Click save and your rating will be left on the product, and funds will be released.

Disputes

What if the vendor never sends the product, or they sent something broken? If you have a problem with the vendor, the first step should be to contact them and ask for them to resolve the situation or ask for a refund.

If the vendor is unresponsive or won’t cooperate, and you’ve selected a moderated transaction, you can then open a dispute and bring your case to the moderator. To do this, open the Discussion tab (we showed this above) on the order you placed.

You’ll then be able to open a dispute by making your case to the moderator in the chat area, and checking a box on the bottom right labeled “Start a Dispute” then sending the message.

disputeopen2

The moderator will then be able to see the conversation from that point out. They should work with both buyer and seller to determine who will receive the funds in the escrow. Eventually the moderator should close the transaction, which will display the message “END DISPUTE” in the chat and also give you the option to accept the payout if you were the winning party. Notice in this example the payout amounts mentioned on the top of the window. If they look right, then you can click the “Accept Dispute Payout” button.

disputeaccept2

As soon as you accept the payout the funds will be released to you. Note that the moderator will be paid a percentage of the overall transaction if they are called upon to settle a dispute.

Reminders

If you want to go beyond just buying goods and services on OpenBazaar and become a vendor, you can learn more at the Vendor’s Guide.

If you’re still using OpenBazaar in the test phase, you’ll need to use a testnet address and testnet coins instead of regular Bitcoin. There are more instructions in the tester’s guide.

If you need help, visit our help desk. If you want to chat with someone from the OpenBazaar community for help, or to give feedback on how OpenBazaar is working for you, join our Slack community.

Let’s make trade free!

Read More