Improving JoinMarket's resistance to sybil attacks using fidelity bonds



Summary:

The email conversation on bitcoin-dev discussed the risks associated with time-locking Bitcoin. One risk is the inability to sell fork coins, which affects an individual's ability to influence price signals that determine the outcome of chain splits. Another risk is the possibility of being unable to transition to new security mechanisms in case a significant weakness is discovered in ECC or a hash function. To mitigate these risks, Chris Belcher suggested creating fidelity bonds by burning bitcoins through sending them to an OP_RETURN output or using time-locked addresses created using OP_CHECKLOCKTIMEVERIFY.Coin age was proposed as an alternative to timelocks since it is harder for attackers to acquire and is flexible regardless of the owner's policy. Any full node can verify coin age using the UTXO set. However, there is no SPV-level secure way to prove to lite clients that an output is still unspent. Electrum-style clients can poll their server to see if a particular UTXO is unspent, while BIP158 users who have saved their past filters to disk can use them to determine which blocks may contain a spend from the UTXO. Lastly, long-term holders of Bitcoins can buy time-locked fidelity bonds for free, assuming they never intended to transact with their coins much anyway. This proposal provides significant sybil resistance as most honest makers are likely to have only a small portion of their funds under JoinMarket control, with the rest sitting idle in a cold wallet.


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