Download - OpenBazaar Flow - Digital Content

Transcript

1

32 4 5

6

7

9

8

10

Search

1512 13 14

17 18

Control Flow Graph1. Buyer opens OpenBazaar2. Buyer browses digital content from the nearest k-nearest-neighbour3. Buyer searches for digital content matching a keyword(s)4. Buyer searches for digital content matching an ID5. Buyer searches for GUID(s) to browse digital content6. Buyer selects a single piece of digital content to purchase7. Buyer adds any semantic data to the order necessary for the Vendor8. Buyer sends the order to Vendor and funds escrow address9. Vendor provides download link to the Buyer10. Vendor cancels the order11. Buyer flags dispute after maximum processing time, due to the Vendor

being unresponsive12. Buyer receives download link, releases funds from escrow to Vendor

and publishes rating to Vendor and Moderator13. Buyer receives digital content, but fails to release funds from escrow

to Vendor after maximum confirmation time; Vendor opens dispute with Moderator

14. Buyer does not receive download link or the link is inaccessible; Buyer opens dispute with Moderator

15. Buyer confirms refund16. Moderator confirms the refund17. Moderator releases funds from escrow to payout Vendor18. Moderator releases funds from escrow to refund the Buyer19. Vendor confirms payout20. Buyer confirms refund

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph1. Buyer opens OpenBazaar

• OpenBazaar is an Electron app with cross-platform installers

• Identity keys are created on first start-up• Network ID

• ECC key• Computes GUID• IP address and port is mapped to this

identity for network lookups• Bitcoin ID

• BIP32 key chain• Bitcoin addresses generated from seed• Addresses used for multisignature

transactions• Create node profile:

• Passcard (Onename)• Avatar• Time zone• Fiat currency

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph2. Buyer browses digital content from the k-nearest-neighbour

• By default, the application will query the k-nearest-neighbour (only those flagged as Vendors) for digital contents they have listed if any

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph3. Buyer searches for digital content matching a keyword(s)

• Enters keyword(s) into the search bar• DHT is scanned for contracts tagged with matching

keywords• Digital content with matching keyword displayed (i.e.

replaces digital contents from k-nearest-neighbour)

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph4. Buyer searches for digital content matching an ID

• Enters contract ID into the search bar• Contract ID

• ‘OB’ prefix + base58(RIPEMD-160[01_vendor])• QR code can be easily generated from the ID

• DHT is scanned for contracts with the queried ID• Digital content with matching the ID is displayed (i.e. replaces

digital content from k-nearest-neighbour)

Contract ID

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph5. Buyer searches for GUID(s) to browse digital contents

• Enters GUID or Passcard into the search bar• DHT is scanned for contracts listed by the queried GUID or

Passcard• Digital content listed by the GUID or Passcard are displayed

(i.e. replaces digital content from k-nearest-neighbour)

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph6. Buyer selects a single digital content to purchase

• The Buyer sees digital content they want to purchase and clicks on either:

1. Image2. Title

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph7. Buyer adds any semantic data to the order necessary for the

Vendor• Quantity, audio/video quality etc• Text box for the Buyer to write out any special

semantic data• Form-based semantic generator (STRML)

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph8. Buyer sends the order to Vendor and funds escrow address

• Buyer selects method of Bitcoin payment:1. Escrow2. Direct payment

• Escrow payments require the Buyer to select from a choice of Moderators

• Payment:1. QR code for external payment2. Deducted from Bitcoin purse

• Notifications:• Vendor

• Order received• Buyer

• Order sent• Order Status:

• Processing (process time countdown) 9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph9. Vendor flags the digital content as ‘sent’

• Order has been received; the Vendor discloses the download link for the digital content to the Buyer• Vendor has the option to make the URL link ephemeral (i.e. can

only be clicked once or a set number of times, for accessible for a set period of time) outside of OpenBazaar

• If ephemeral, the Vendor has space in the original listing to indicate how long the link will be available

• Notification:• Vendor

• Digital content sent• Buyer

• Digital content received• Order Status:

• Digital content accessible to Buyer (ephemeral countdown)9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph10. Vendor cancels the order

• For whatever reason, the Vendor cancels the order• The Vendor sends a signed refund transaction to the Buyer, from

the multisignature escrow, for them receive the refund• Notification:

• Vendor• Cancellation notification sent

• Buyer• Vendor has cancelled the order• Vendor has sent a refund confirmation

• Order Status:• Order cancelled• Refund (pending)

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph11. Buyer flags dispute after maximum processing time, due to the Vendor

being unresponsive• Buyer attempts to contact the Buyer to ascertain whether they

have received the order or not• The Buyer flags a dispute with the Moderator, sending them a

copy of the trade receipt• The trade receipt will have all the necessary data for the

Moderator to generate the multisig keypair• Vendor receives a message that a dispute has been opened• Notification:

• Vendor• Order #abc123 has be flagged for dispute resolution

by the Buyer• Buyer

• Dispute resolution initiated• Moderator confirms dispute raised• Buyer confirms dispute raised (if node is online)

• Order Status:• Dispute resolution in progress

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph12. Buyer receives digital content, releases funds from escrow to Vendor and

publishes rating to Vendor and Moderator• Buyer is happy with the condition of the digital content when

received• Buyer clicks ‘confirm digital content received’• 1 major button that will release funds to Vendor• Data for rating, if any, will be sent to the Vendor and Moderator with

the release of funds• For the Vendor, this data is just the last set of values for the

contract template• For the moderator, the entire data set (all values) for the

contract need to be sent• Notification:

• Vendor• Digital content received• Funds released from escrow• Rating received• Order complete

• Buyer• ‘Digital content received’ confirmation sent• Payout transaction sent• Payout transaction success (0 confirmation)• Rating published• Order complete

• Order Status:• Order complete

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph13. Buyer receives digital content, but fails to release funds from escrow to

Vendor after maximum shipping time; Vendor opens dispute with Moderator• The Vendor has released the content to the Buyer, but they Buyer

has failed to either access or release funds to the Vendor and is unresponsive to any messages sent by the Vendor

• The Vendor flags a dispute with the Moderator, sending them a copy of the trade receipt• The trade receipt will have all the necessary data for the

Moderator to generate the multisig keypair• Buyer receives a message that a dispute has been opened• Notification:

• Vendor• Dispute resolution initiated• Moderator confirms dispute raised• Buyer confirms dispute raised (if node is online)

• Buyer• Order #abc123 has be flagged for dispute resolution

by the Vendor• Order Status:

• Dispute resolution in progress

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph14. Buyer does not receive the content as per the contract; Buyer opens

dispute with Moderator• While the Vendor claims to have made the digital content

available via a URL, the link may be broken or fails to deliver the correct content

• The Buyer flags a dispute with the Moderator, sending them a copy of the trade receipt• The trade receipt will have all the necessary data for the

Moderator to generate the multisig keypair• Vendor receives a message that a dispute has been opened• Notification:

• Vendor• Order #abc123 has be flagged for dispute resolution

by the Buyer• Buyer

• Dispute resolution initiated• Moderator confirms dispute raised• Buyer confirms dispute raised (if node is online)

• Order Status:• Dispute resolution in progress

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph15. Buyer confirms refund

• The Vendor has sent a signed transaction releasing funds from escrow to the Buyer as a refund. The Buyer’s signature is required to complete the refund.

• The Buyer confirms the refund (1-click)• Notification:

• Vendor• Refund complete

• Buyer• Refund transaction sent• Refund transaction success (0 confirmation)

• Order Status:• Refund complete

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph16. Buyer confirms refund

• The Moderator has sent a signed transaction releasing funds from escrow to the Buyer as a refund. The Buyer’s signature is required to complete the refund.

• The Buyer confirms the refund (1-click)• Notification:

• Vendor• Refund complete

• Buyer• Refund transaction sent• Refund transaction success (0 confirmation)• Rating published• Refund complete

• Order Status:• Refund complete

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph17. Moderator releases funds from escrow to payout Vendor

• Moderator attempts to contact the Buyer to ascertain whether they have received the digital content or not

• After X time, if the Buyer is unresponsive, the Moderator signs a payout transaction releasing funds to the Vendor

• Notification:• Vendor

• Dispute #01: Moderator has sided with the Vendor • Confirm payout transaction

• Buyer• Dispute #01: Moderator has sided with the Vendor • Payout in process

• Order Status:• Dispute resolved: Moderator has sided with the Vendor

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

Search

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

Control Flow Graph18. Moderator releases funds from escrow to refund the Buyer

• Moderator attempts to contact the Vendor to ascertain whether they have actually released the digital content or not; conducts a wider investigation if necessary.

• After investigating, the Moderator finds in favour of the Buyer and signs a refund transaction

• Buyer will need to confirm refund transaction (as per multisig)• Notification:

• Vendor• Dispute #01: Moderator has sided with the Buyer• Refund in process

• Buyer• Dispute #01: Moderator has sided with the Buyer• Confirm refund transaction

• Order Status:• Dispute resolved: Moderator has sided with the Buyer

9 10

1512 13 14

17 18

19 20

11

16

1

32 4 5

6

7

8

SearchControl Flow Graph19. Vendor confirms payout

• The Moderator has sent a signed transaction releasing funds from escrow to the Vendor as a payout. The Vendor’s signature is required to complete the payout.

• The Vendor confirms the refund (1-click)• Notification:

• Vendor• Order complete

• Buyer• Payout transaction sent• Payout transaction success (0 confirmation)• Order complete

• Order Status:• Order complete

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer

1

32 4 5

6

7

8

SearchControl Flow Graph20. Buyer confirms refund

• The Moderator has sent a signed transaction releasing funds from escrow to the Buyer as a refund. The Buyer’s signature is required to complete the refund.

• The Buyer confirms the refund (1-click)• Notification:

• Vendor• Order complete

• Buyer• Refund transaction sent• Refund transaction success (0 confirmation)• Rating published• Refund complete

• Order Status:• Refund complete

9 10

1512 13 14

17 18

19 20

11

16

Actions1. Wants to purchase digital content2. Wants to leave a rating

BobThe Buyer