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 --]
prev parent 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