Avatar
PocketCow
d3ab33199eb48c6f785072b4a66a8e57814e35d31375cca8c3ceeecc171f30ba
#Bitcoin only, financially illiterate psychopath. NIP-65 advocate, grower of plants, roaster of coffee, noser of whisky, tinkerer of technology.

It's all incentives.

You can be as big of an asshole as you want to be, but that might incentivize people to stop listening to you. If you feel like your achieving whatever it is you want to achieve, then great, keep on it. Otherwise you might need to change your approach. Incentives will take care of the social etiquette in a way where no one person or group has control.

Check out NIP-65, I think it'll make sense.

In a nutshell, a user would broadcast which relays they post to, so that their followers know where to find their posts. If I get banned from all major relays and start posting to my own relay, my followers won't have to do anything because their client will automatically grab the posts where I said I would he posting them to.

https://github.com/nostr-protocol/nips/blob/master/65.md

Yup. If an agreement on etiquette is required for nostr to work, then it's already failed.

Those who think everyone is forced to listen to them on a voluntary platform are going to be disappointed, but they aren't silenced. They can always run their own relay and anyone who cares to listen to them can find their notes.

It's still early though, and censorship resistance can fail. If someone is banned by most common relays right now, it's very difficult for anyone to find them and view notes from their private relay. NIP-65 proposes a solution to this, but doesn't seem to get much attention from client devs.

Replying to Avatar Max

The three popular coinjoin approaches explained:

## Joinmarket

### joinmarket cli/qt, join in box, jam

Any user can become a taker, the coordinator of a coinjoin transaction, who dictates the equal output amount of this round. The taker can choose how many and which makers to invite to add inputs and outputs to the transaction. The taker pays for the entire blockspace cost as well as a liquidity fee to the makers. There is no coordinator blinding, so the taker learns which inputs and outputs belong to which maker.

Payments inside the coinjoin are only possible for the taker, because only he can choose an output amount in the transaction.

A liquid maker market enables coinjoins of high and arbitrary values. Censorship is circumvented by the taker bribing the makers with a fee.

Takers must proof ownership of an onchain utxo (poodle), and makers must time lock bitcoin (fidelity bonds), in order to prevent different de-anonymizing attack vectors.

A transaction can have a wide range of number of inputs, for example 5-50, depending on how many makers are invited.

## Whirlpool

### samourai, sparrow

A single server runs the coordinator who does not add inputs to the coinjoin. Chaumian blind signatures with fixed amounts are used to prevent the coordinator from learning input to output linkage. The coordinator dictates the value and number of the inputs and the outputs of the transaction.

Therefor users must do a single-user preparation transaction tx0 which reveals common input and output ownership and leaves a toxic change that's impossible to register in a coinjoin.

Payments in the coinjoin is not possible for any user, thus fallback to single user payment transactions or two party coinjoin payments.

Because of the need of a separate tx0 and post mix transaction, this is very expensive in terms of block space and mining fee.

The first round users pay for the blockspace of the recurring users, thus when there are no new users, old users cannot coinjoin anymore.

The coordinator charges a fixed fee in tx0, which incentivizes that a large number of inputs is consolidated in tx0, which reveals common ownership.

The coordinator limits the number of inputs and outputs to 5 each.

## WabiSabi

### Wasabi, Btcpayserver, Trezor Suite

A single server runs the coordinator who does not add inputs to the coinjoin. Keyed verified anonymous credentials are used to prevent the coordinator from learning input to output linkage, the value of the credential is also blinded, this enables arbitrary amount input and output registration. The coordinator does not dictate the value of the inputs or outputs, it is entirely up to the users.

This means that users can anonymously consolidate multiple inputs of arbitrary value without the coordinator or an outside observerer learning common ownership. There is no single user preparation transaction.

This also enables anonymous payments inside the coinjoin, where the arbitrary amount of payment can be registered directly in a coinjoin. Multiple payment outputs can be batched anonymously without revealing the common spender.

Furthermore, the sender can pass on the arbitrary amount wabisabi credential to the receiver, who then registers his output directly with the coordinator. This is an anonymous payment where the sender does not learn about the address of the receiver.

Because everything can be done in a coinjoin, this is extremely blockspace efficient and thus cheap in mining fees.

Wabisabi is the only protocol that creates transactions that can be signed on a hardware wallet, which is an obvious improvement in security.

Every user pays for the exact amount of blockspace that he uses, thus incentivizing efficient allocation of a scarce resource.

The coordinator sets a range of minimum and maximum number of inputs to the transaction, currently between 150-400 inputs.

Wabisabi enables large coinjoins with many hundreds of inputs and outputs of arbitrary amount where every user can do anonymous input consolidation and output payment batching.

#[1]

Yup somebody grabbed them 😁

This is actually really cool; the more privacy-enhancing tools, the better.

I tried but it couldn't find a route.

Testing cashu, here's some free sats:

eyJwcm9vZnMiOlt7ImlkIjoiME5JM1RVQXMxU2Z5IiwiYW1vdW50Ijo0LCJzZWNyZXQiOiJXQ2w5TWZUdlJIM1FPTFNtWGxJS3pmdUVaYTduVVJzMmVFU1lIdjFNYmpVPSIsIkMiOiIwMjA5MTdhMTU1YmUyNGIyNjI1YzVkMDFhYmIzYzMwYWQ0YmYxN2QwZTEyMGE0YmZiMTJjOWU5YjFiZGM3ZmNjMWQifSx7ImlkIjoiME5JM1RVQXMxU2Z5IiwiYW1vdW50IjoxNiwic2VjcmV0IjoiTVFoSEV5WUEzR0d5QytsYkExYk00UlMyTFY0a05ocC9uZW9tVnRNQ2M1Zz0iLCJDIjoiMDNmODhkODAzZDljMjFjNDlhMmVhMjg2YTllMjM4Y2UxN2UxMWMyNWU4MGRkZmEzN2QxNDU2MjU0N2Y5ZjJiNTI4In0seyJpZCI6IjBOSTNUVUFzMVNmeSIsImFtb3VudCI6MzIsInNlY3JldCI6InI0VTBaaE9aTXV3b2ZZcUd3ZmM3Ryt1U0gwUVdCRmI1QmpRZmE5cHBCNms9IiwiQyI6IjAyYzc4MjNjMzliNzI5ZDliYzZlYTFkYWM4NzNmZjBkZWRhOGYwOTYzOGU4MGY5MDgwYzcxZmM3NTNjOGRjZTZiNiJ9LHsiaWQiOiIwTkkzVFVBczFTZnkiLCJhbW91bnQiOjY0LCJzZWNyZXQiOiJwZC85VkROQUduVnl1bGpNRGNoclRDa0xjSWlrcjZ6SU1JY3pZNlFYUk9FPSIsIkMiOiIwMzFjOGYwOTJiMTA2MDA3YWUzODJjYmVhZGE4ZGJmMzk5NjMxOTcyZTBhNDhjZDNhYTg2YWM1ZDJhZGVkZjRiNGIifSx7ImlkIjoiME5JM1RVQXMxU2Z5IiwiYW1vdW50IjoxMjgsInNlY3JldCI6ImFGQ0V6Q1dubU01VUo0NmJKY1FWS1o3Y0NpaEdwdU43YXZ6NjFSOTMxQk09IiwiQyI6IjAzZmQ2NDY3NjgyMjlkOThiMTNjZmZlNWMwNDI5MWZkYTA2NWI0OTI5MDhhNTYyODZmYmRiYTQxZDVkMmY0ZjIwMCJ9LHsiaWQiOiIwTkkzVFVBczFTZnkiLCJhbW91bnQiOjI1Niwic2VjcmV0IjoiOFcyK1hkS0VjSmh6ZVQvaWpyOVBza2hJbWZMcHAxcDlMT1QrSHkzdFh4Zz0iLCJDIjoiMDI0NWQ5YzNiYzU0Mjc2ZGNmZTU0ODAyZTY4ODE2ZjliNWQ2NmRiY2E1MWM1YTgyZGY5NmVkYmFmODY5Mjk5NTEzIn1dLCJtaW50cyI6W3sidXJsIjoiaHR0cHM6Ly9sZWdlbmQubG5iaXRzLmNvbS9jYXNodS9hcGkvdjEvNGdyOVhjbXozWEVrVU53aUJpUUdvQyIsImtleXNldHMiOlsiME5JM1RVQXMxU2Z5Il19XX0=

Gossip on desktop. It's different than most mobile-friendly clients, but it works so well. https://github.com/mikedilger/gossip

Someone mentioned coracle.social uses it as well, but I'm not sure about that.

It's a fairly recent NIP, but I suppose if a user were to try a client that uses it, they could benefit?

Just finished roasting some coffee. My house smells amazing now 😎

Some clients do have public group chats (channels)

What you're looking for is #plebchain πŸ€™

Wait nevermind, it just took a long time to load for me.