“Our mission is to bring secure, decentralized markets to the masses meaning that you no longer will have to rely on a centralized party like eBay to control your purchasing power online.”

– OpenBazaar lead developer Brian Hoffman, in a comment on a Guardian article.

OpenBazaar appears to have taken a big step forward in that mission by figuring out a way to facilitate secure decentralized auctions.

GitHub user drwasho explains how OpenBazaar Auctions could use Ricardian contracts to make this work. The full text of that Gist can be found here.

Ricardian contracts

The key to understanding how OpenBazaar Auctions would work lies in understanding the fundamental ideas of contracts. An auction, technically, is just a series of contracts: The initial auction contract, subsequent bids, and the sale.

“Ricardian contracts make use of a chain of digitally signed and checksum hashed contracts to create an unalterable record of agreement for an exchange on a peer-to-peer network,” drwasho writes.

This allows for a public record of the contracts that go into an auction, even one that takes place between just two people without a central arbiter.





When someone goes offline

The simple model above only works, however, when the party who creates the initial auction contract is online and active 24/7. If that person goes offline, then P2P bidding doesn’t work, just like when a seeder goes offline and your Mad Men torrent is at 95%.

In that case, drwasho introduces the idea of a negotiator node. This will host contracts on behalf of a seller and update price changes in real time:

“Due to the architecture of the P2P network setup, Alice [a theoretical seller] may not be available 24/7 during the term of her auction contract to update the market on the latest bid price of the item. As a result, she may choose to upload her contract on a 24/7 accessible node (a negotiator node) that acts as a contract server."

“If so, the negotiator node will create their own contract for the item, digitally sign bid contracts, update the , and turn over the final bid contract to Alice for her digital signature at the end of the contract/auction expiration date. If Alice digitally signs the contract, the contract is sent to an arbiter for signing and creation of the multisignature bitcoin address for Bob, the winning bidder, to send funds to. ”

“As a reward for hosting the contract, the negotiator node is rewarded by a fee paid for by Alice (via another multisignature address setup with another arbiter). If Alice disapproves of how the contract was negotiated by the negotiator node on her behalf, she can simply refuse to sign the contract and raise a dispute to the arbiter for a refund of the fee from the multisignature address.”

Read the full Gist here.

OpenBazaar