public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: ha su <hasu.research@gmail.com>
To: bitcoin-dev@lists.linuxfoundation.org
Subject: [bitcoin-dev] Purge attacks (spin on sabotage attacks)
Date: Fri, 31 Jan 2020 14:38:22 +0100	[thread overview]
Message-ID: <CAEmzEcO51GEETunPBXuecpVtZCvH4rpvcNcLsYCrDaDH=3_qVQ@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1631 bytes --]

Hi all,

I think I discovered an interesting form of sabotage attack (possible for
miners) that tries to create coordination disincentives among Bitcoin users
- named after the dystopian movie The Purge, where all crime is legal for
one night every year.

TLDR
* An attacker replaces the most recent blocks full of transactions with
empty blocks.
* Previously confirmed txns return into the mempool, where anyone with a
minimum of technical knowledge or access to public tools can
opportunistically double-spend their txns back to themselves. (the process
is the same as double-spending regular zero-conf txns)

The attack seems useful to undermine trust in Bitcoin's assurances, e.g.
the future finality of transactions. It differs from other forms of
sabotage (e.g. DoS by mining only empty blocks) in that it specifically
disrupts the coordination process among users in response to the attack.

By giving some users a chance to benefit from the attack, the attacker
gives them a vested interest in staying on the attack chain. If enough
users accept the invitation to double-spend, it might become harder to come
to consensus on how to deal with the attack.

Purge attacks probably don’t constitute a bigger risk than other known
forms of sabotage attacks, but seem like an interesting spin where the
attacker specifically targets the pre-coordination of defenders.

You can find the full report, incl. some mitigations against sabotage
attacks, at
https://blog.deribit.com/insights/destabilizing-bitcoin-consensus-with-purge-attacks/

Your feedback is highly appreciated.

Regards,
Hasu

[-- Attachment #2: Type: text/html, Size: 1790 bytes --]

             reply	other threads:[~2020-01-31 13:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-31 13:38 ha su [this message]
2020-02-07 13:55 ` [bitcoin-dev] Purge attacks (spin on sabotage attacks) Mike Kelly
2020-02-08  2:15   ` ZmnSCPxj
2020-02-08  8:11     ` Mike Kelly
2020-02-09  0:00       ` ZmnSCPxj
2020-02-09 10:15         ` Mike Kelly
2020-02-09 23:59           ` ZmnSCPxj
2020-02-10 15:28             ` Mike Kelly

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEmzEcO51GEETunPBXuecpVtZCvH4rpvcNcLsYCrDaDH=3_qVQ@mail.gmail.com' \
    --to=hasu.research@gmail.com \
    --cc=bitcoin-dev@lists.linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox