“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 ”