Improving JoinMarket's resistance to sybil attacks using fidelity bonds



Summary:

The email exchange between Dmitry Petukhov and ZmnSCPxj discusses the anti-snitch protection of OP_CHECKSIGVERIFY and OP_CHECKSIG, which may not work if there are two snitches. If the MuSig(all_except_snitch) changes to 1-of-n multisig construction, then anyone other than the actual 'snitch' can confiscate the snitch-bond. The punishment transactions should be signed by the MuSig-of-everyone-other-than-punishment-target before signing the funding transaction. Consolidation can be subsidized by paying rent out to the consolidators, and the lessee adds its rent payment in the same transaction that atomically instantiates the fidelity bond and all revocable bonds as a single CoinJoined transaction.If any participant refuses to sign the punishment transactions of their co-consolidators, then the lessee refuses to sign the funding transaction, and nobody earns any rent. Anyone renting consolidated bonds can be unironic victims of sybil attackers who split up their funds into smaller parts, which reduces their liability when later snitching. To protect from more than one snitch with this punishment scheme, a multitude of taproot leaves where each leaf can be spent by cooperation of N entities, where N is the size of expected non-snitch participant set is required. Aggregation is still possible to ensure by off-blockchain agreements, possibly with legal consequences, and thus entities like exchanges might still be able to aggregate funds and acquire an undeservedly large weight in the fidelity bond system. This is a significant problem for the discussed system.


Updated on: 2023-06-13T20:23:03.138581+00:00