TL;DR - I have an idea for a P2P decentralized marketplace using Monero and Nostr, but I'm looking for feedback and help.
So I'm a web developer that works mainly in Python (Flask), and I believe in Monero. I recently had an idea to make an open source P2P marketplace. Basically, this would work like Nostr (or on the Nostr protocol) where everything is decentralized, allowing each individual merchant to be responsible for their own legality. Payments wouldn't be handled by the marketplace. All that it would do is display the seller's receive address or qr code, and then check if the payment came through in full. So the seller would need to provide their receive address and view key which would be stored locally on the seller's computer. Once the payment is received, the marketplace would mark the order as confirmed and the seller would be responsible for fulfilling the order. I could even automate the release of digital goods on confirmation.
Since there is no way to really enforce that sellers are legitimate with this idea, there would need to be some kind of review system, like what LocalMonero.co has. Basically you can rate a merchant if you have bought from them before. People who cheat the system would drop in rankings and be avoided, while good sellers would move up in discoverability. And all merchants would be discoverable in the home screen via search or browsing. You could also subscribe to favorite merchants.
In my mind, this marketplace would solve a lot of problems at once. First off, it would make a decentralized place to buy and sell goods in private. This adds liquidity to Monero and gives us all a way to use our Monero for goods that we actually want to receive. Making the on boarding to this app super simple would allow it to basically function like a P2P amazon or ebay. The more people that sign up, the more things we have available. Merchants can be businesses or individuals.
Another thing it solves is onboarding to Monero in general. Instead of having people buy their Monero, they can get a wallet app on their phone, make a merchant account as quickly as you can sign up for a Nostr account, and sell something for Monero. No CEXs, just exchanging goods for digital cash. Want more Monero? Sell some more stuff? If it gained enough traction, it could easily attract more people to Monero as well.
This has even been done before, but it is on the Lightning Network and requires you to set up a lightning node, from what I can tell. It's not as easy as scanning a qr code to send money to someone for a good. Still, it's worth checking out. Here's the code: https://github.com/lnbits/nostrmarket, and here's a demonstration of it: https://www.youtube.com/live/2NueacYJovA?feature=share&t=6846
I'm posting this all here for two reasons. First, I wanted to know if this makes sense to anyone else. Does this sound like as good of an idea to others as it does to me? Is there anything I am missing? Has this been done before with Monero or is it being worked on by anyone else? I know of MoneroTalk's XMRBazaar, which was part of the inspiration for this, but from what I remember, that was going to use mediators to facilitate transactions, which is more overhead than I am thinking is necessary.
The other reason I bring it up is to see if others are interested in helping (or taking the idea and building it themselves before I can). I am inexperienced in coding around Monero as well as Nostr. I'm not afraid of the Monero part. That sounds pretty straightforward, especially with the python-monero package. The Nostr stuff might take me a while to figure out though. And since this seems like such a good idea to me, I'd rather tell others about it and maybe get a workable version sooner than keep it to myself. So if you'd like to help or run with this idea, go for it.
There are a few approaches how marketplaces can be handled. If you want it to be truly p2p and trustless you might want to look into an overcollateralized model like the one used by the particl marketplace. Regular reviews without further authentication can be faked very easily for example by sellers "buying" their own stuff from sockpuppet accounts and leaving good reviews.
Thanks, my thought was that it would require trust though. Just like ebay and Amazon receive payment before any products are sent.
I agree that it probably will be gamed and there will need to be some adjustments along the way, but I think there should be a way to do it that works. If the rating system doesn't work, there could be curated lists of sellers that are trustworthy. Then you can subscribe to those sellers. And for smaller purchases or more unique goods from new sellers, the buyer would be taking a bit of a gamble just like they do on ebay, except without the support of ebay if there is a dispute. I know it has some problems, but I think it brings a lot of benefits that the trustless options don't.
As far as I know, a trustless system can't account for every problem either. If the buyer puts their money in escrow until they receive an item, then they could still say they never received the item, right? So that would give the seller no recourse other than leaving a bad review on the seller. (By the way, I could definitely be wrong here. Let me know if I am.) My thought was that we leave it up to the seller's to fulfill their end of the deal with reputation and future sales as their incentive. There will be theft, especially at the beginning, but I think we can find ways to sort out the thieves from the honest sellers, and hopefully people would be smart enough not to test the market place with thousand dollar purchases.
You should join us at MoneroTalk on Saturdays, sometime after noon EST when they call up viewers on stage. There's been extensive attention given to XMRBazaar and I'm sure the topic would be welcomed, maybe contact monerotalk@proton.com ahead of time to discuss when and how to give larger presentation of your thoughts on MoneroTalk as a guest speaker.
You'll be able to connect to monero.town and to everything else in Fediverse. See https://codeberg.org/grindhold/flohmarkt for example. It is a bit unfinished but people are already using it. If you're python dev you can even fork it.
Why fediverse over nostr? I'm a long time fediverse user and I absolutely love nostr compared to fediverse. No admins! It's actually censorship resistant and you don't have to worry about clustering of instances and being eclipsed from the network. IMO the fediverse is a mess that I used only because there was nothing better, I don't like the federated model at all and nostr is just far superior in terms of independence, censorship resistance and privacy.
@mister_monster@monero Yes, this is me. I'm choosing fediverse for several reasons 1) almost everyone I care about is here 2) I think it's actually very important to be in contact with people who maintain infrastructure (admins) 3) ActivityPub is an open protocol which is not controlled by anyone 4) better protocol design overall
Many existing implementations suffer from the lack of data portability but I figured out how to fix that.
I was actually looking to avoid escrow or any of the complicated parts of money handling. My plan was just to click buy, scan the qr code with your own wallet (separate from the marketplace), and then send the funds. The marketplace wouldn't touch any crypto, and would only interact with it by checking if the funds came in on the seller's client. That would make it super easy to onboard new sellers and buyers and keep legal stuff completely on the buyers and sellers.
That wouldn't be that useful to people. All it takes is one or two people scamming and the reputation of the platform (if you can even call it that) is gone. People won't use it for long without escrow.
If you think avoiding escrow will shelter you from defending yourself in court you're wrong. If you run a web UI for your system for example, and it's the first UI so it's the most popular, and people get scammed, you're looking at lawsuits. You might win those lawsuits, but it still costs money to win a lawsuit.
Avoiding escrow isn't really possible unless you somehow live in a perfect world without bad actors. I recommend doing some digging into how different defunct darknet markets have utilized escrows and monero as even if your market does everything legally there's still valuable leasons to learn. If you want recommendations you should look into White house market (mods it's defunct) as their system handled escrow in a way where everything happened at the transaction level meaning the only coins that could be stolen were the exact transaction ammount.