Improving JoinMarket's resistance to sybil attacks using fidelity bonds



Summary:

ZmnSCPxj proposes a solution to the problem of rented transaction output ownership (TXO) on the blockchain. Currently, honest makers can consolidate their TXOs on the blockchain, while rented TXO owners cannot do so because the TXOs are owned by different people. ZmnSCPxj suggests a solution where he rents funds from Dmitry and agrees to pay him 0.5 BTC for this service of putting up 50BTC from Dmitry UTXO. He also owns 50 BTC himself in a separate UTXO. They create a funding transaction paying out to a Schnorr MuSig output that is 2-of-2 between them which spends Dmitry UTXO 50 BTC and ZmnSCPxj's UTXO 50BTC. They only create this yet and do not sign. After creating a backout transaction, probably with `nLockTime`, paying out 50.5BTC to Dmitry and 49.5BTC to him, spending the funding transaction, they sign this using MuSig. They then exchange signatures for the funding transaction. Now they have a common 100BTC UTXO that can be used as fidelity bond for ZmnSCPxj. This can be scaled up so that he can rent arbitrary amounts of coin from many different people who are assured of getting their funds back in exchange for a fidelity bond / advertisement, thus greatly destroying the properties of the V^2 tweak. The ability to have shared ownership of UTXOs is a powerful feature of Bitcoin, backing its ability to scale, as witnessed with Lightning Network and channel factories.


Updated on: 2023-06-13T20:27:08.848698+00:00