IntroductionMETAmarket is an open source protocol and proof-of-concept reference client specifying a trustless federated marketplace which uses Bitcoin as a universal currency and Bitmessage as a P2P communication network. Time-locked refund transactions ensure that incentives are aligned toward completing the trade without the need for trusted third parties. Systemic vulnerabilities such as transaction malleability are mitigated through the use of a federated reputation model. This document is a non-technical overview of how the METAmarket client and protocol work. For more technical details, see the protocol specification.
MotivationOverly centralized marketplaces and payment services extract high fees, impose and abuse excessive control and remove any hope of privacy from users. As more commerce moves online, many consumers may find their lifetime history of purchases (including books, personal items and location details) for sale to advertisers, employers, curious neighbors, stalkers, political opponents and government agencies. An ideal system would be one of secure private transactions directly between buyer and seller without middle men collecting data or adding fees. Such systems are now feasible by combining recently developed technologies for anonymous decentralized payment and messaging systems.
ClientTo use the marketplaces, a client application which implements the METAmarket protocol is required. The client is used to post, browse and execute trades. It also requires a Bitcoin Core wallet to handle payments and refunds. A working client is available at:
http://github.com/metamarcdw/metamarket/releases.How is METAmarket different from other decentralized markets? The main difference is how escrow is handled. OpenBazaar uses a trusted-3rd-party escrow system which can be difficult in pseudonymous reputation systems because they are prone to gaming by parties creating negative reviews for competitors. Brawker likewise uses third party escrow but it makes itself the single centralized "trusted" escrow agent and the centralized host for all listings.
METAmarket instead uses two party escrow directly between buyer and seller with no third party. In our system the buyer and vendor agree to a dispersal ratio beforehand using a time-locked multisig bitcoin refund transaction. This, in addition to the federated reuptation system, ensures both parties have an economic incentive to complete the transaction without the need for a trusted 3rd party.
Who is behind it and how much work has gone into this? Originally created by Marc D. Wood over about one year of part time and weekend work, it is now released to the public under the MIT open source license.
What's the history of the project? Inspired by Jeremy Spilman's December 2013 blogpost entitled, "The Future of Bitcoin Escrow". I wrote up a rough spec in 2014 for a market based on it that ran over Bitmessage. I then began work on several small bitmessage-oriented side-projects as a means of testing out the Bitmessage API (that would later be used for METAmarket). The first working version (the command line client) was tested in January 2015.
What's the roadmap for METAmarket?- weight upvotes on fromuser rep?
- auction functionality
- PyQT4 GUI
- 2to3?
- extensive testing
- HD wallet
- integration /w openassets python module for colored coins trade
Can I help? Yes! Please connect with us via IRC or GitHub. Testing, working on the code, marketing, and making tutorial and intro videos would be particularly helpful.