Here's a "popular" BTC opinion that I agree with: robosats is awesome.

Here's a less popular one: robosats is not a p2p exchange. It's a custodial exchange. Their github makes this clear: "the coordinator [can] run away with your satoshis...by not releasing [them] to the buyer."

Reply to this note

Please Login to reply.

Discussion

The trust model with robosats is just like every other custodial exchange (e.g. Binance or Coinbase): you use it hoping they won't pull the rug out from under you while you're using it. One nice difference: robosats prompts you to withdraw your funds immediately after each trade.

Isn't this a necessity arising out of 2 out of 3 multisig escrow tx design?

Robosats doesn't use a 2 out of 3 multisig escrow

They simply take custody of the bitcoin and then release it to the buyer if the trade goes well

If there is a dispute, they review what happened and give the bitcoins to the party who they decide is aggrieved

It is the exact same model Coinbase and Binance and every other custodial exchange uses, except (1) Robosats encourages tries to automate withdrawing your btc immediately after use (2) Robosats does *not* handle the fiat (that part happens "out of band" and *can* be done in a truly p2p way, e.g. if it's an in-person cash transaction)

What about nostr:nprofile1qqs2gazhwghppw36yu0muuzqykdrcndzeafml50pnqfcy9xjx5rylssppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgmwaehxw309ahx7um5wghx7unpdenk2urfd3kzuer9wchsg3ewyk? The same thing?

I'm not sure, I haven't looked into peach bitcoin

Their FAQ:

How can I be sure I get the bitcoin / the money?

When making a sell offer, the seller sends the bitcoin to an address that is controlled by him and Peach: the bitcoin can only be moved from here, if he and Peach both sign off on it. This makes sure that:

The seller cannot move the bitcoin (back) on his own

Peach cannot steal the bitcoin

The buyer doesn't get the bitcoin until the payment is made

The seller can get the bitcoin back if the buyer doesn't respond

that's definitely not p2p

in a true p2p system, the only people involved are the buyer and the seller

since peach has a key, it's not p2p

also, it sounds like peach can rug the buyer by *pretending* to be a seller or by *colluding* with a seller

That makes sense.

If you third party doesn't have a key, how can escrow accounts be made then in a true p2p fashion?

(1) Not all p2p trading apps *need* escrow. For example, bisq1 uses an escrow but bisq2 does not. In bisq2, buyers select sellers solely based on their reputation, and they just directly send them the bitcoin *hoping* they are as honest as their reputation says they are. Bisq is not involved in bisq2 at all except as a platform to help buyers discover reputable sellers.

(2) There are at least two ways to do escrow without a 3rd party. Satoshi Nakamoto outlines one way to do it here: https://satoshi.nakamotoinstitute.org/posts/bitcointalk/threads/169/ Make a 2 of 2 multisig between the btc buyer and the btc seller, and have the btc seller put his btc in that multisig. Then have the btc buyer send the product (fiat money) to the btc seller. When the btc seller receives it, he sends his privkey to the btc buyer, who can now withdraw the money. The advantage of this system is that the buyer has no incentive to "stiff" the seller (by not sending the fiat), because if he does that, he won't get paid. The downside is, if the btc buyer is a troll who just aborts the protocol halfway through the trade, the seller loses his btc and cannot recover it.

(3) There is another way: start out with a 2 of 2 multisig just like above, but instead of having the btc seller fund it by himself, have the buyer and the seller *both* put in the amount *in the same transaction* (i.e. via a coinjoin), and have the btc seller put in a bit "extra" (like 20% extra). This fixes the disadvantage of number 2: the buyer has an incentive now to send the fiat, otherwise he loses the amount he put in. He only gets that amount back if the btc seller cosigns to give it to him, which he'll only do once he receives the fiat. Meanwhile, the seller is *also* incentivized properly: he only gets his "extra" deposit back if the btc buyer cosigns to give it to him, which he'll only do if the transaction he's signing *also* gives him back *his* deposit. The downside of this model is, the btc buyer needs to already *have* btc to post as a bond. Another downside is: a very rich person who does not care about money can still be a troll; they deposit funds into the multisig alongside their counterparty, then abandon the trade, because they have so much money they don't care if they get their back as long as they cause suffering to their counterparty.

Buyer trolls I've met a few...

There is a bond, which is not like any other custodial exchange.

Re: added incentive layers matter.

I don't think the bond affects the trust model. You still trust the custodian with your funds, the bond just helps robosats filter out spam because the spammers lose money by spamming the platform with fake offers or fakely accepting an offer.

That's true, fair point.

At least there is no way to store funds for a prolonged time, this would make rugs a lot more attractive for the provider.

I think its a good functionality/safety tradeoff they made, probably the least amount of custody you can have while offering lightning escrow.

> At least there is no way to store funds for a prolonged time

There is, and it's pretty easy: the buyer can just give the coordinator an invoice that cannot be paid (e.g. because the node has no channels). I haven't tried this, but as I understand it, if the coordinator cannot pay your invoice, he just credits your robot's account an IOU representing the amount due to you. Then you can try withdrawing again later. So users *can* easily use Robosats as a custodian. It's just not a default behavior.

Oops, I'm doing it again! By saying "It's just not a default behavior" I implicitly denied the very thing I'm trying to clarify: Robosats' model *is* custodial by default. It's just that they try to custody your funds *as briefly as they can* while still offering a decent UX. So if you're using robosats, you're definitely using a custodian, no two ways about it. It's just that if you use it the *intended* way, they only custody your funds for a few hours. Sometimes less.

Agree on both counts 👍

hahaha😅

I flamed the creator of robosats for that when he introduced it on reddit for the first time.

Jokes on me, because I really like robosats now. Even tho custodial sucks, the other benefits makes it really enjoyable.