Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1SOvIv-0008Ad-0q for bitcoin-development@lists.sourceforge.net; Mon, 30 Apr 2012 18:26:33 +0000 Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.210.46 as permitted sender) client-ip=209.85.210.46; envelope-from=laanwj@gmail.com; helo=mail-pz0-f46.google.com; Received: from mail-pz0-f46.google.com ([209.85.210.46]) by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1SOvIu-000240-4B for bitcoin-development@lists.sourceforge.net; Mon, 30 Apr 2012 18:26:32 +0000 Received: by dadz9 with SMTP id z9so4993280dad.33 for ; Mon, 30 Apr 2012 11:26:26 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.241.70 with SMTP id wg6mr5050776pbc.126.1335810386315; Mon, 30 Apr 2012 11:26:26 -0700 (PDT) Received: by 10.142.217.1 with HTTP; Mon, 30 Apr 2012 11:26:26 -0700 (PDT) In-Reply-To: References: Date: Mon, 30 Apr 2012 20:26:26 +0200 Message-ID: From: Wladimir To: "Rebroad (sourceforge)" Content-Type: multipart/alternative; boundary=047d7b3395a5904b2504bee997fb X-Spam-Score: -0.6 (/) 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 (laanwj[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message -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: 1SOvIu-000240-4B Cc: bitcoin-development@lists.sourceforge.net Subject: Re: [Bitcoin-development] BIP to improve the availability of blocks X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Apr 2012 18:26:33 -0000 --047d7b3395a5904b2504bee997fb Content-Type: text/plain; charset=UTF-8 On Mon, Apr 30, 2012 at 6:40 PM, Rebroad (sourceforge) < rebroad+sourceforge.net@gmail.com> wrote: > > My proposal is that in addition to the size (which is advertised in > the header), the hash is also advertised in the header (of a block). > This would help nodes to determine whether they wanted to reject the > download. (e.g. if it already had a block matching that hash). This of > course wouldn't prevent a rogue node from sending an incorrect hash, > but this would aid in saving bandwidth amongst behaving nodes. > I suppose it would make sense for clients to be able to reject blocks that they already have, if that's not currently possible. The other part of the proposal is to allow nodes to request upload and > download blocks that have already been partially downloaded. > > This could be done by modifying the existing methods of upload, > download, or by adding a new method, perhaps even using HTTP/HTTPS or > something similar. This would also help nodes to obtain the blockchain > who have restrictive ISPs, especially if they are being served on port > 80 or 443. This could perhaps also allow web caches to keep caches of > the blockchain, thereby making it also more available also. > You don't need a BIP if you want to somehow fetch the (initial) block chain outside the bitcoin protocol. You could download it from some http server or even pass it along on an USB stick. Then with a simple client change you can import it: https://github.com/bitcoin/bitcoin/pull/883 . Currently, without this functionality, nodes with restrictive (or > slow) internet have some options, such as going via a tor proxy, but > due to the latency, the problem with multiple receptions of the same > block still occur. > If you're behind such a slow internet connection, and concerned about every bit of bandwidth, it is better to run a lightweight node. For example, Electrum. Even if you could reduce the wasted bandwidth a bit by puzzling around with partial blocks, the download will still be substantial (and that's going to get worse before it gets better). Wladimir --047d7b3395a5904b2504bee997fb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, Apr 30, 2012 at 6:40 PM, Rebroad (sourceforge) &l= t;re= broad+sourceforge.net@gmail.com> wrote:

My proposal is that in addition to the size (which is advertised in
the header), the hash is also advertised in the header (of a block).
This would help nodes to determine whether they wanted to reject the
download. (e.g. if it already had a block matching that hash). This of
course wouldn't prevent a rogue node from sending an incorrect hash, but this would aid in saving bandwidth amongst behaving nodes.

I suppose it would make sense for clients to be able to reject= blocks that they already have, if that's not currently possible.

The other part of the proposal is to allow nodes to request upload and
download blocks that have already been partially downloaded.

This could be done by modifying the existing methods of upload,
download, or by adding a new method, perhaps even using HTTP/HTTPS or
something similar. This would also help nodes to obtain the blockchain
who have restrictive ISPs, especially if they are being served on port
80 or 443. This could perhaps also allow web caches to keep caches of
the blockchain, thereby making it also more available also.

You don't need a BIP if you want to somehow fetch the (initia= l) block chain=20 outside the bitcoin protocol. You could download it from some http=20 server or even pass it along on an USB stick. Then with a simple client cha= nge you can import it: https://github.com/bitcoin/bitcoin/pull/883 .

Currently, without this=C2=A0functionality, nodes with restrictive (or
slow) internet have some options, such as going via a tor proxy, but
due to the latency, the problem with multiple receptions of the same
block still occur.

If you're behind such a slo= w internet connection, and concerned about=20 every bit of bandwidth, it is better to run a lightweight node. For example= , Electrum.

Even if you could reduce the wasted bandwidth a bit by puzzling=20 around with partial blocks, the download will still be substantial (and tha= t's going to get worse before it gets better).

Wladimir

=
--047d7b3395a5904b2504bee997fb--