Improving JoinMarket's resistance to sybil attacks using fidelity bonds



Summary:

JoinMarket is a platform that enables equal-amount coinjoins at any time. However, it is vulnerable to Sybil attacks which can be launched at a relatively low cost. To increase resistance to such attacks, two solutions have been proposed - the use of time-locked addresses or fidelity bonds.Fidelity bonds involve market makers putting up a deposit in order to participate in coin-joining. This would help prevent Sybil attacks, where an attacker creates multiple fake identities to control a large portion of the market. The value of a fidelity bond made by sending V bitcoins to a burner address is V^2 and the value of a fidelity bond made by locking up V bitcoins in a time-locked address for time period T is V^2 (exp(rT) - 1)^2. Makers with higher valued fidelity bonds will demand higher coinjoin fees, but the added cost is worth the greatly improved privacy.The idea of fidelity bonds was originally proposed by Peter Todd in a BitcoinTalk forum thread from 2013. The JoinMarket client-server project on GitHub has been discussing this proposal for some time now. However, nobody has been able to come up with a decentralized and trustless way to require market makers to make such deposits.In addition to fidelity bonds, the use of time-locked addresses can also help improve resistance to Sybil attacks. These addresses can be designed to hold offline keypairs and still prove ownership of an IRC nickname. Kle proof is a fully-verified proof of existence of a transaction and not just a proof with SPV-security.The cost of Sybil attacks is discussed in a gist by Chris Belcher on GitHub. Despite the vulnerabilities, the benefits of using JoinMarket outweigh the risks, especially when implementing solutions such as fidelity bonds and time-locked addresses.


Updated on: 2023-06-13T20:29:15.845516+00:00