public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Peter Todd <pete@petertodd•org>
To: John Dillon <john.dillon892@googlemail•com>
Cc: Bitcoin Dev <bitcoin-development@lists•sourceforge.net>
Subject: Re: [Bitcoin-development] Protecting Bitcoin against network-wide DoS attack
Date: Mon, 15 Jul 2013 03:32:24 -0400	[thread overview]
Message-ID: <20130715073224.GA4885@savin> (raw)
In-Reply-To: <CAPaL=UVqD1RaguqvaUi-0KnabobvuJ27gF6vK5tTAxEGNO9Xww@mail.gmail.com>

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

On Sun, Jul 14, 2013 at 10:12:00PM +0000, John Dillon wrote:
> For a non-SPV-mode client we can easily do anti-DoS by requiring the peer to do
> "useful work". As the incoming connections slots get used up, simply kick off
> the incoming peers who have relayed the least fee-paying transactions and valid
> blocks, keeping the peers who have relayed the most. We can continue to use the
> usual, randomized, logic for outgoing peers to attempt to preserve the
> randomized structure of the bitcoin network. Without an ongoing attack nodes
> making new connections are unaffected, and during an attack new connections are
> made somewhat easier by the increased numbers of incoming slots made available
> as the attackers connections timeout.

My mempool rewrite defined a CMemPoolTx subclass for CTransaction - it
shouldn't be too hard to add the required per-node accounting once nodes
get unique identifiers. (can be assigned randomly in the beginning,
later can be used for permanent node identifiers w/ ssl and message
signing)

-- 
'peter'[:-1]@petertodd.org
00000000000000214cc4e58adcacd8923d4d37b18e4f6b73556443ae7c88f71a

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

      reply	other threads:[~2013-07-15  7:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-14 22:12 John Dillon
2013-07-15  7:32 ` Peter Todd [this message]

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=20130715073224.GA4885@savin \
    --to=pete@petertodd$(echo .)org \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    --cc=john.dillon892@googlemail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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