Skip to content

OBIP-0005: Classifieds #15

@drwasho

Description

@drwasho

OBIP-0005: Classifieds

Proposal: https://github.com/OpenBazaar/obips/blob/master/obip-0005.md
Author: @drwasho and @cpacia

  OBIP: 5
  Title: Classifieds
  Author: Dr Washington Y. Sanchez and Chris Pacia
  Status: Draft
  Type: Standards Track
  Created: 2017-08-27

Abstract

This OBIP describes the design of a 'classified'. Classifieds enabled a user can create a type of listing that can be used as a non-purchasable ad, where settlment of the listing takes place outside of OpenBazaar's internal wallet.

Motivation

OpenBazaar currently assumes all settlement will take place using Bitcoin via its internal wallet. However, many users may wish to take advantage of OpenBazaar's growing user-base, hosting & listing infrastructure to advertise their goods and services, but settle the transaction with buyers outside of Bitcoin.

Requirements

Classifieds enable the user to create a new listing type in addition to physical goods, digital goods, and services. This listing type cannot be purchased within OpenBazaar, but allows for all of listing functionality.

Specification

The specification calls for a change to contracts.pb, where a new ContractType is enumerated: CLASSIFIED.

enum ContractType {
    PHYSICAL_GOOD = 0;
    DIGITAL_GOOD  = 1;
    SERVICE       = 2;
    CROWD_FUND    = 3;
    CLASSIFIED    = 4;
}

All nodes must reject purchases of a 'classified' listing type.

Rationale

Advantages

  1. Extends the functionality of OpenBazaar
  2. Allows vendors who are not into Bitcoin to list on a decentralised marketplace, and can serve as a gateway to draw these people into cryptocurrency

Disadvantages

  1. Search indexes will need to filter-out classifieds from physical, digital, and service listing types
  2. Dedicated interface required for viewing classifieds that needs careful thought to avoid confusion for users

Backwards Compatibility

  1. Non-upgraded nodes will not be able to create a classified. Since classifieds cannot be purchased by design, no major compatibility issues for purchasing should exist.
  2. Clients typically display a store tab or view, where all of the user's listings are visible. Classifieds would need to be excluded from this list to prevent confusion, and a scenario where a user would attempt to purchase a classified. As a result, a store tab/view should only show listing types: PHYSICAL_GOODS, DIGITAL_GOODS, or SERVICES. Incidentally this is something that would need to happen necessarily as the protocol expands to support other listings types. Filtering out the CLASSIFIED listing type is similar to filtering out listings that do not ship to your country.
  3. Search engines would need to factor-in what listing types are indexed, and what listing types are served by their endpoints. Search engines may elect to provide an endpoint dedicated to search for only classifieds.

Reference Implementation

https://github.com/drwasho/openbazaar-go/tree/new_classifieds

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions