Skip to content

Instantly share code, notes, and snippets.

@sickpig
sickpig / mitigations_of_quasi_consensus_changes.md
Last active November 22, 2019 16:19
Mitigating DS attacks leveraging delta in mempool admission policies

Mitigating of DS attacks leveraging delta in mempool admission policies

We are going to lay out how having BU accepting longer chain of unconfirmed transactions than ABC could be used to increase the chance of a double spend attack to be successful and how to mitigate it.

Definitions: DS and different kind of attack

First the definition of what a double spend (DS) or a respend is. Define a respend as an unconfirmed transaction that spends one or more UTXOs also spent by another unconfirmed transaction, which differs from it even when scriptSig contents are ignored1.

There are different kind of DS attacks that have been described in great detail along the last 2 years or so2. The following is a brief summary of the known attacks:

Keybase proof

I hereby claim:

  • I am sickpig on github.
  • I am sickpig (https://keybase.io/sickpig) on keybase.
  • I have a public key ASAb8W8AE_dRS6-VFfu05_utrtCfHM0huGB7lYRbIdUU-Ao

To claim this, I am signing this object:

Verifying that "sickpig.id" is my Blockstack ID. https://onename.com/sickpig
Verifying that +sickpig is my blockchain ID. https://onename.com/sickpig