Developments in JoinMarket and privacy: One month of fidelity bonds

JoinMarket is a bitcoin privacy solution, it creates coinjoin transactions which can improve the privacy and fungibility of bitcoin.

JoinMarket used to work by the user's wallet randomly choosing market makers out there to do a coinjoin with, but what if all those makers were actually controlled by the same person? That attacker could unmix all the coinjoins and spy on users, this is called a sybil attack.

Fidelity bonds are a mechanism for resistance against such sybil attacks. Honest makers in JoinMarket are now incentivized to lock up bitcoins using the OP_CHECKLOCKTIMEVERIFY opcode. For a sybil attacker to be successful they have to lock up a huge amount of bitcoins

The JoinMarket software allows us to view all the fidelity bonds, and provides calculations telling us how strong or weak the sybil protection is.

Currently 264 BTC are locked up, including this one maker who locked up 124 coins for one year. Several other makers have locked up tens of bitcoins each some for multiple years.

Fidelity bond transactions must be published for all to see, so we can look at them ourselves, for example this is the 124 BTC locked coins transaction:

The second address there is the timelocked address, which can see using the bitcoin core command decodescript using the published redeemscript:

$ bitcoin-cli decodescript 0400f60f63b1752102deb8ccadc36685c45389629831737387b3ae4bbf554e9d228c88bedec25e1f3cac { "asm": "1661990400 OP_CHECKLOCKTIMEVERIFY OP_DROP 02deb8ccadc36685c45389629831737387b3ae4bbf554e9d228c88bedec25e1f3c OP_CHECKSIG", .... "addresses": [ "bc1qeqa9q9a75ks935323f58l9vmjtkp47xncpq6fyxqnf5exukpl2jshgaczk" ], } 

In there we can see the unix timestamp of the locktime 1661990400 which corresponds to 1st September 2022. These 124 BTC are unspendable until that date.

In terms of sybil resistance, if a taker does a coinjoin with 10 other makers (the default value), then in order to successfully attack a sybil attacker would have to lock up over 128k BTC (6.1 billion USD) for one year, or destroy 160 BTC forever:

What if top fidelity bonds in the orderbook are actually controlled by the same person? They would be foregoing about 8.39 BTC² in sacrificed value, nearly twice as much as the total value right now which is 4.51 BTC². And their success rate would only be about 6% per coinjoin

submitted by /u/belcher_
[link] [comments]

Leave a Reply

Your email address will not be published. Required fields are marked *