Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
	helo=mx.sourceforge.net)
	by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <decker.christian@gmail.com>) id 1Qoca7-0006Ne-VK
	for bitcoin-development@lists.sourceforge.net;
	Wed, 03 Aug 2011 14:37:59 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.210.42 as permitted sender)
	client-ip=209.85.210.42;
	envelope-from=decker.christian@gmail.com;
	helo=mail-pz0-f42.google.com; 
Received: from mail-pz0-f42.google.com ([209.85.210.42])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1Qoca6-0002HH-Ph
	for bitcoin-development@lists.sourceforge.net;
	Wed, 03 Aug 2011 14:37:59 +0000
Received: by pzk37 with SMTP id 37so158023pzk.1
	for <bitcoin-development@lists.sourceforge.net>;
	Wed, 03 Aug 2011 07:37:53 -0700 (PDT)
Received: by 10.142.247.15 with SMTP id u15mr5025964wfh.307.1312382272135;
	Wed, 03 Aug 2011 07:37:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.52.98 with HTTP; Wed, 3 Aug 2011 07:37:12 -0700 (PDT)
In-Reply-To: <CAJ1JLttf+h5J8ehmx1j5P1GiGYAUiLN=fGjSV_dLoy72XQohfA@mail.gmail.com>
References: <CANEZrP1-BaNmKhSPXSe2sjH0-DPm62_=OQ_S6aCT3-nLdFLLGA@mail.gmail.com>
	<CAJ1JLtuRhqwcCWjv+H2XUjsX-Za9ZkSkOsH3t=JaUu1581RGUA@mail.gmail.com>
	<CANEZrP2Cr1mVcj3CQQNx6BeWSb=hzxawva2Lz=sAbjx4AwYdmw@mail.gmail.com>
	<CAJ1JLttf+h5J8ehmx1j5P1GiGYAUiLN=fGjSV_dLoy72XQohfA@mail.gmail.com>
From: Christian Decker <decker.christian@gmail.com>
Date: Wed, 3 Aug 2011 16:37:12 +0200
Message-ID: <CALxbBHU=hBPLNCfjdfJNgO=mUd14MVJpZGA0J14OE6uZgk1k3Q@mail.gmail.com>
To: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Content-Type: multipart/alternative; boundary=00504502cc3423e34904a99acff4
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(decker.christian[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.7 URIBL_WS_SURBL Contains an URL listed in the WS SURBL blocklist
	[URIs: bitcoin.org.uk]
	1.0 HTML_MESSAGE           BODY: HTML included in message
	0.3 HTML_FONT_FACE_BAD     BODY: HTML font face is not a word
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1Qoca6-0002HH-Ph
Subject: Re: [Bitcoin-development] DNS seeds returning gone peers
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Wed, 03 Aug 2011 14:38:00 -0000

--00504502cc3423e34904a99acff4
Content-Type: text/plain; charset=ISO-8859-1

I'm curious whether my Non-Blocking network stack (BitDroid) isn't better
suited for detecting and tracking available peers. I have implemented
several benchmarks, including a simple peer counter listener, which would
have to be adapted to fit the DNS needs (open and check if a real peer is
listening). Being non-blocking it can open several hundreds of connections
to check reachability of the peers and at the same time keep a pool of peers
connected to listen for address broadcasts, with minimal overhead (single
thread, close to no context switches).

Just an idea :-)

Regards,
Chris

On Wed, Aug 3, 2011 at 4:18 PM, Rick Wesson
<rick@support-intelligence.com>wrote:

> Starting from bitcoinj, I have plenty of ways to publish DNS. Why sort them
> by version? Ordering from highest to lowest?
>
> how about publishing addresses under version.example.com if you version
> has a perfrence?
>
> -rick
>
>
> On Wed, Aug 3, 2011 at 7:10 AM, Mike Hearn <mike@plan99.net> wrote:
>
>> There's no project currently :-)
>>
>> Starting from Matts code is probably the way to go. It's written in PHP.
>> Alternatively, you could write a Java app for it, as there are drop-in DNS
>> serving libraries you could link with BitCoinJ+sqlite. It probably wouldn't
>> be that hard. You'd want to sort nodes by version, how long they've been
>> observed to exist, the last polling time, etc.
>>
>> On Wed, Aug 3, 2011 at 4:00 PM, Rick Wesson <
>> rick@support-intelligence.com> wrote:
>>
>>> Mike,
>>>
>>> I think I can contribute to your DNS seeding project. Could you help
>>> define long-lived peers?
>>>
>>> -rick
>>>
>>>
>>> On Wed, Aug 3, 2011 at 3:04 AM, Mike Hearn <mike@plan99.net> wrote:
>>>
>>>> This is expected to happen from time to time of course as it's
>>>> inherently racy, but there are a *lot* of bad nodes appearing in the
>>>> DNS seeds.
>>>>
>>>> $ nmap -oG /tmp/x -p 8333 `dig +short bitseed.bitcoin.org.uk
>>>> dnsseed.bluematt.me bitseed.xf2.org`
>>>> ...
>>>> Nmap done: 48 IP addresses (25 hosts up) scanned in 9.80 seconds
>>>>
>>>> $ grep -c 'closed' /tmp/x
>>>> 6
>>>>
>>>> So of 48 IPs returned only 19 are actually usable. This is slowing down
>>>> peer bringup for the Android apps, which don't currently save the addresses
>>>> of last-used peers (yes, I know we should fix this).
>>>>
>>>> I was talking to a friend a few days ago about Bitcoin, he seemed
>>>> interested. I'm hoping he might take on DNS seeding as a project. A custom
>>>> DNS server that watches the network to find long-lived peers that run the
>>>> latest version would be helpful for resolving this kind of thing.
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
>>>> The must-attend event for mobile developers. Connect with experts.
>>>> Get tools for creating Super Apps. See the latest technologies.
>>>> Sessions, hands-on labs, demos & much more. Register early & save!
>>>> http://p.sf.net/sfu/rim-blackberry-1
>>>> _______________________________________________
>>>> Bitcoin-development mailing list
>>>> Bitcoin-development@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>>>>
>>>>
>>>
>>
>
>
> ------------------------------------------------------------------------------
> BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
> The must-attend event for mobile developers. Connect with experts.
> Get tools for creating Super Apps. See the latest technologies.
> Sessions, hands-on labs, demos & much more. Register early & save!
> http://p.sf.net/sfu/rim-blackberry-1
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

--00504502cc3423e34904a99acff4
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I&#39;m curious whether my Non-Blocking network stack (BitDroid) isn&#39;t =
better suited for detecting and tracking available peers. I have implemente=
d several benchmarks, including a simple peer counter listener, which would=
 have to be adapted to fit the DNS needs (open and check if a real peer is =
listening). Being non-blocking it can open several hundreds of connections =
to check reachability of the peers and at the same time keep a pool of peer=
s connected to listen for address broadcasts, with minimal overhead (single=
 thread, close to no context switches).<br>

<br>Just an idea :-)<br><br>Regards,<br>Chris<br><br><div class=3D"gmail_qu=
ote">On Wed, Aug 3, 2011 at 4:18 PM, Rick Wesson <span dir=3D"ltr">&lt;<a h=
ref=3D"mailto:rick@support-intelligence.com">rick@support-intelligence.com<=
/a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Starting from bitcoinj, I have plenty of wa=
ys to publish DNS. Why sort them by version? Ordering from highest to lowes=
t?=A0<div>

<br></div><div>how about publishing addresses under <a href=3D"http://versi=
on.example.com" target=3D"_blank">version.example.com</a> if you version ha=
s a perfrence?</div>
<div><br></div><font color=3D"#888888"><div>-rick</div></font><div><div></d=
iv><div class=3D"h5"><div><br><br><div class=3D"gmail_quote">On Wed, Aug 3,=
 2011 at 7:10 AM, Mike Hearn <span dir=3D"ltr">&lt;<a href=3D"mailto:mike@p=
lan99.net" target=3D"_blank">mike@plan99.net</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
There&#39;s no project currently :-)=A0<div><br></div><div>Starting from Ma=
tts code is probably the way to go. It&#39;s written in PHP. Alternatively,=
 you could write a Java app for it, as there are drop-in DNS serving librar=
ies you could link with BitCoinJ+sqlite. It probably wouldn&#39;t be that h=
ard. You&#39;d want to sort nodes by version, how long they&#39;ve been obs=
erved to exist, the last polling time, etc.</div>


<div><div></div><div>
<div><br><div class=3D"gmail_quote">On Wed, Aug 3, 2011 at 4:00 PM, Rick We=
sson <span dir=3D"ltr">&lt;<a href=3D"mailto:rick@support-intelligence.com"=
 target=3D"_blank">rick@support-intelligence.com</a>&gt;</span> wrote:<br><=
blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px=
 #ccc solid;padding-left:1ex">



Mike,<div><br></div><div>I think I can=A0contribute=A0to your DNS seeding p=
roject. Could you help define long-lived peers?=A0</div><div><br></div><div=
>-rick</div><div><br><br><div class=3D"gmail_quote"><div><div></div><div>
On Wed, Aug 3, 2011 at 3:04 AM, Mike Hearn <span dir=3D"ltr">&lt;<a href=3D=
"mailto:mike@plan99.net" target=3D"_blank">mike@plan99.net</a>&gt;</span> w=
rote:<br>
</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>This is exp=
ected to happen from time to time of course as it&#39;s inherently racy, bu=
t there are a <i>lot</i>=A0of bad nodes appearing in the DNS seeds.<div>




<br></div><div><div><div><font face=3D"&#39;courier new&#39;, monospace">$ =
nmap -oG /tmp/x -p 8333 `dig +short <a href=3D"http://bitseed.bitcoin.org.u=
k" target=3D"_blank">bitseed.bitcoin.org.uk</a> <a href=3D"http://dnsseed.b=
luematt.me" target=3D"_blank">dnsseed.bluematt.me</a> <a href=3D"http://bit=
seed.xf2.org" target=3D"_blank">bitseed.xf2.org</a>`</font></div>





</div></div><div><font face=3D"&#39;courier new&#39;, monospace">...</font>=
</div><div><div><font face=3D"&#39;courier new&#39;, monospace">Nmap done: =
48 IP addresses (25 hosts up) scanned in 9.80 seconds</font></div>
</div><div><font face=3D"&#39;courier new&#39;, monospace"><br></font></div=
><div><font face=3D"&#39;courier new&#39;, monospace">$ grep -c &#39;closed=
&#39; /tmp/x</font></div>
<div><font face=3D"&#39;courier new&#39;, monospace">6<br></font><br></div>=
<div>So of 48 IPs returned only 19 are actually usable. This is slowing dow=
n peer bringup for the Android apps, which don&#39;t currently save the add=
resses of last-used peers (yes, I know we should fix this).</div>





<div><br></div><div>I was talking to a friend a few days ago about Bitcoin,=
 he seemed interested. I&#39;m hoping he might take on DNS seeding as a pro=
ject. A custom DNS server that watches the network to find long-lived peers=
 that run the latest version would be helpful for resolving this kind of th=
ing.</div>





<br></div></div><div>------------------------------------------------------=
------------------------<br>
BlackBerry&amp;reg; DevCon Americas, Oct. 18-20, San Francisco, CA<br>
The must-attend event for mobile developers. Connect with experts.<br>
Get tools for creating Super Apps. See the latest technologies.<br>
Sessions, hands-on labs, demos &amp; much more. Register early &amp; save!<=
br>
<a href=3D"http://p.sf.net/sfu/rim-blackberry-1" target=3D"_blank">http://p=
.sf.net/sfu/rim-blackberry-1</a><br>_______________________________________=
________<br>
Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net" target=3D"_bla=
nk">Bitcoin-development@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
<br></div></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div><br>-----------------------------------------------------------=
-------------------<br>
BlackBerry&amp;reg; DevCon Americas, Oct. 18-20, San Francisco, CA<br>
The must-attend event for mobile developers. Connect with experts.<br>
Get tools for creating Super Apps. See the latest technologies.<br>
Sessions, hands-on labs, demos &amp; much more. Register early &amp; save!<=
br>
<a href=3D"http://p.sf.net/sfu/rim-blackberry-1" target=3D"_blank">http://p=
.sf.net/sfu/rim-blackberry-1</a><br>_______________________________________=
________<br>
Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-develo=
pment@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
<br></blockquote></div><br>

--00504502cc3423e34904a99acff4--