/// tbd, these are just suggestions
Key generation, signing and escrow
- openpgpjs
- bitcoinjs-lib
GUI
- AngularJS
Contracts
- @drwasho's contract tools (script);
-
Buyer opens the seller's store on their website.
// The store should have a "Resolve a problem" tab, for dispute resolution. // Might as well have a Contact form that encrypts messages, or a browser based bitmessage? // (that last part's a stretch)
-
The store loads by showing the names of the items/services for sale, with images.
-
Buyer selects the item they want to purchase.
-
A request is sent to the seller's OB node for the item's contract
-
the seller's OB node responds with the contract.
-
The buyer's browser renders the contract into an item listing, 'ala eBay or etsy
-
buyer fills in their information (name, email, mailing address, etc)
-
buyer confirms their purchase* // which one of these // should come first?
-
the one time PGP key is created from the buyer's info.*
// They should be given a receipt number that // acts as the buyer's passphrase. (For one-off transactions)
-
the contract is sent back to the OB network to be signed by the seller and a notary.
// How will we get the notary and arbiter for this? // Random lottery? Stack-ranking via Proof-of-burn/Web-of-trust? // How can we avoid collusion between Seller and the Arbiter/Notary?
-
Contract is notarized, escrow address is created from the GPG keys of the three (or more) parties.
-
The buyer sends the payment to the escrow address.
-
Seller sends the item/provides the service. (signs the release of funds using their own key)
-
Buyer confirms receipt (signs the release of funds to the seller with their key)
// How can the buyer leave a feedback rating on the seller's performance/product? // The store should have a way to access the OB network in order to leave a rating for the seller // or view the results of the seller's previous trades.
-
Transaction complete.
*) Same as above, up until item 12.
- Problem arises
13.a) Buyer does not receive product/service 13.b) Buyer has a problem with the product/service
-
Buyer goes to the "Resolve a problem" tab on the seller's store, and types in their receipt number.
-
Arbitration period.
-
Case closure
16.a) Arbiter decides, money is released to the winning party, less arbitration fees. 16.b) Mutual resolution, buyer signs off the funds to be released. 16.c) Partial refund, either requested by buyer, or offered by seller (and accepted by buyer), approved by arbiter, rest is relased to seller, less fees.
- Transaction Complete
-
Maybe we could fix the Arbiter/notary problem by publishing a list of to-be-notarized contracts on the DHT, and then interested Notaries could choose?
-
Buyer can send their rating througb the notary, and the notary could just place the buyer's response on the network. (It's a bit obvious that I've got no idea as to OB's low-level protocol, isn't it?)
-
Implement @dionyziz's web-of-trust once it is done.