How about using Nostr to relay Bitcoin transactions of other users!

I feel like we had a conversation at #[0]'s pod about this just last week and now there is a proposal for a Bicoin transaction relay over nostr by #[1] šŸ¤™

The speed at which things are happening!

Why is this important?

Bitcoin nodes send transactions to their peers which then are propagated further to the rest of the network. Surveillance companies connect to *many* nodes so they can estimate the origin of a transaction, which can potentially be used to link your Bitcoin wallets to your real-life identity (through your IP address). If you're paranoid, you can use mempool dot space already today to publish your transactions as an alternative to the P2P network.

But having a network of different users all broadcasting each other's tx, like with this proposal, is a lot more powerful IMO. Whether this or something like this ever makes it into Bitcoin Core remains to be seen. Usually it takes a ton of work. But what's for sure is that alternatives to the normal P2P relay are urgently needed. Proposals like Dandelion are cool but apparently prone to DoS attacks.

Wonder whether we'll ever see a synergy between Bitcoin Core and Nostr. This is an excellent first step in that direction.

https://github.com/nostr-protocol/nips/pull/476

Reply to this note

Please Login to reply.

Discussion

Very interesting šŸ¤”

Could the same end not also be achieved simply by publishing your txs to a list of random (semi)trusted Electrum servers?

You use your own private node/Electrum server to verify incoming txs, but publish outgoing txs via a second (public, or private) node/Electrum server

actually thought about raising an issue for exactly that on sparrow a while back

You can broadcast txs however you want. The reasoning behind my proposal is to do it though non-bitcoin communication channels because it is much less likely to be ran by someone trying to track bitcoin transactions.

I love this idea

and it would mean I can shutdown https://psbt.io and do everything from https://nostrit.com šŸ˜‚

I don't think you need to modify Core to accomplish this. I can give Core a valid transaction directly already which it can then propagate to the P2P network. All you need is a Nostr client that knows how to talk to Core's API.

To get a transaction out of core, you don't broadcast it and just copy it out of Core's console into a Note. This side could probably be mostly automated from the Nostr client as well.

Relevant Core API commands are createrawtransaction & signrawtransaction to create the transaction to copy out into a Note, and sendrawtransaction to take a transaction from a Note and have Core broadcast it.

Yeah. All it needs is one node anywhere in earth willing to run a little bridge daemon

šŸ‘€ #[4]​ #[5]

Thanks for tagging! It looks like #[3]​ and #[4]​ beat us to it by a few hours. TeamMunstr has also been working and discussion a NIP for this. I’m adding our notes to the NIP discussion now.

This is a very exciting and compelling idea. To your point it may take a long beat prior to incorporation into Bitcoin Core, but developing and proofing it and pushing it to the point where it's a matter of collective 'will' rather than capability with respect to broader adoption would likely yield fine fruit indeed!