pull down to refresh

Announcing today a full rewrite of all JoinMarket components in modern Python. Focusing on performance, maintainability, and extensibility. While maintaining compatibility with the existing JoinMarket network.

https://github.com/m0wer/joinmarket-ng

Why JoinMarket? Has no central coordinator: most censorship resistant and peer to peer.

Why a rewrite? The reference implementation has served the community well for years, and we're deeply grateful for all that the contributors have done. However, the project is no longer actively developed (181 open issues and 41 open pull requests) and had architectural limitations such as relying on Bitcoin Core's BerkeleyDB wallets (deprecated since v26.0.).

New features:

  • Support for light clients using Neutrino
  • Rate limiting to prevent logs flooding
  • Extensive protocol and implementation documentation
  • Realistic E2E tests including reference implementation makers and takers

Future plans:

  • Nostr relay integration
  • Lightning Network integration (CoinJoinXT) to hide roles and eliminate fee traces
  • A lot more ideas

Help wanted:

  • Funding: Applied to HRF Bitcoin Dev Fund and soon to OpenSats. Other grant ideas or direct donations welcome.
  • Security: Need sponsorship or a volunteer for external security audit.
  • Contributors: Peer review, testing, documentation.

Entrypoint for migrating makers: https://github.com/m0wer/joinmarket-ng/tree/master/maker#migrating-from-joinmarket-reference-implementation

The reference JoinMarket served us well for a decade. Let's make sure the protocol thrives for the next one.

26 sats \ 1 reply \ @ihatevake 11h

Excellent work! Do you have a donation page?

reply
100 sats \ 0 replies \ @m0wer OP 10h

Thanks :-)

Just the Nostr post directly or through the LN address m0wer@lnbits.sgn.space

reply
25 sats \ 0 replies \ @Lateef 2 Jan

Keep it up dude

reply