Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 35586273 for ; Mon, 22 Jun 2015 19:54:29 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-la0-f47.google.com (mail-la0-f47.google.com [209.85.215.47]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 671A4E3 for ; Mon, 22 Jun 2015 19:54:28 +0000 (UTC) Received: by laka10 with SMTP id a10so116697771lak.0 for ; Mon, 22 Jun 2015 12:54:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=QB7Fr7YLfMFd5df4/PQWzUSLod3YF+n3aH9+H7VkxeM=; b=R2wthFLfM0b7yAXxFUhxmvkyQJMgMzqyeV64mRyUs7gOq+eTIzYc0lWxoGEp7rGUtV XB974C6fIyLBzj5eJdPaT2RiRvU4pyTEXSk/Jhy2Vbm5Zd6BeRXqHVukdw6kb4Yl6yqn HVXznbvkacsSEkgHtnveVDMM1VOwRnwmlR0DM3/ez1VSXrlejlXYRd7A42gCFSR8b6bA JMhyiiwAC9fzcGKRHKa5Q57PE6mDq5f1imDM827QmP2jdtYFdUWvxYDc0ICjpt4HkNLK 58Wfs/MdghgniDoWRjnusWYRjXLdMPBTwjkWCYhQDDcQfLj1mipnI2LjCyWJVpsVn73c CirQ== MIME-Version: 1.0 X-Received: by 10.152.115.199 with SMTP id jq7mr3766420lab.113.1435002866689; Mon, 22 Jun 2015 12:54:26 -0700 (PDT) Received: by 10.25.90.75 with HTTP; Mon, 22 Jun 2015 12:54:26 -0700 (PDT) In-Reply-To: References: <55885DB0.9040709@gmail.com> Date: Mon, 22 Jun 2015 15:54:26 -0400 Message-ID: From: Gavin Andresen To: Tier Nolan Content-Type: multipart/alternative; boundary=001a11c2588e1eee7b051920a499 X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: bitcoin-dev@lists.linuxfoundation.org Subject: Re: [bitcoin-dev] Draft BIP : fixed-schedule block size increase X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Jun 2015 19:54:29 -0000 --001a11c2588e1eee7b051920a499 Content-Type: text/plain; charset=UTF-8 As Tier says, the current network message limit is 2MB (reduced from 32MB in the... uhh, 0.10? release). I think keeping the consensus rules distinct from limitations of the p2p network makes sense-- we are already seeing different protocols for announcing transactions and blocks (Matt's relay network is, essentially, a separate protocol). I could write a separate BIP describing the change to the p2p network protocol, but that feels like busy-work to me. RE: setting the DoS size check farther than 2 hours into the future: the block, itself, will be rejected if it has a timestamp more than 2 hours in the future. That is already a consensus rule. RE: what happens if block timestamps are not in chronological order: Nothing. The activation counting happens in block-height-order, so timestamps on all but the "activating" block are all that matters. Code that looks for the activation condition must properly handle re-orgs around the activation block, of course. RE: testnet parameters: big blocks can be tested in -regtest mode with arbitrary timestamps in the past or future. Testing maximum-8MB-blocks mined "in the past" on testnet will just result in a testnet that is even more useless for ordinary testing of products or services being developed -- part of what makes testnet useful for things like testing transaction creation code is it syncs quickly. That said, I have thought for a while now somebody should take a fresh look at the testnet, talk to people who might be customers for a reset testnet or testnets (we probably want separate testnets for people testing mining and people testing transaction creation, for example), and implement testnets designed to make it easy to test what people need testing. RE: scraping together money to run a few hundred full-load full-nodes: hardware is cheap, people are expensive. You seem to expect that companies will be willing to invest the time of their people testing something that may never happen (8MB of transactions every ten minutes). Maybe they would, but most companies are very busy trying to stay in business by attracting customers to their products or services. Scaling up is a good problem to have, and, in my experience, the way to be successful scaling up is to tackle problems as they occur. Because there's no use spending a bunch of person-hours hyper-optimizing for 8MB blocks stored in MySQL if a year from now you find out your customers don't actually want your product or MySQL 5.11 comes out and is 100 times faster.... -- -- Gavin Andresen --001a11c2588e1eee7b051920a499 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
As Tier says, the current network message limit is 2MB (re= duced from 32MB in the... uhh, 0.10? release).

I think k= eeping the consensus rules distinct from limitations of the p2p network mak= es sense-- we are already seeing different protocols for announcing transac= tions and blocks (Matt's relay network is, essentially, a separate prot= ocol). I could write a separate BIP describing the change to the p2p networ= k protocol, but that feels like busy-work to me.

RE:= setting the DoS size check farther than 2 hours into the future: the block= , itself, will be rejected if it has a timestamp more than 2 hours in the f= uture. That is already a consensus rule.

RE:= what happens if block timestamps are not in chronological order: Nothing.<= /div>

The activation counting happens in block-height-or= der, so timestamps on all but the "activating" block are all that= matters.

Code that looks for the activation condi= tion must properly handle re-orgs around the activation block, of course.


RE: testnet parameters: =C2=A0big bl= ocks can be tested in -regtest mode with arbitrary timestamps in the past o= r future. Testing maximum-8MB-blocks mined "in the past" on testn= et will just result in a testnet that is even more useless for ordinary tes= ting of products or services being developed -- part of what makes testnet = useful for things like testing transaction creation code is it syncs quickl= y.

That said, I have thought for a while now someb= ody should take a fresh look at the testnet, talk to people who might be cu= stomers for a reset testnet or testnets (we probably want separate testnets= for people testing mining and people testing transaction creation, for exa= mple), and implement testnets designed to make it easy to test what people = need testing.
RE: scraping together money to run a few= hundred full-load full-nodes: =C2=A0hardware is cheap, people are expensiv= e. You seem to expect that companies will be willing to invest the time of = their people testing something that may never happen (8MB of transactions e= very ten minutes). Maybe they would, but most companies are very busy tryin= g to stay in business by attracting customers to their products or services= . Scaling up is a good problem to have, and, in my experience, the way to b= e successful scaling up is to tackle problems as they occur.

Because there's = no use spending a bunch of person-hours hyper-optimizing for 8MB blocks sto= red in MySQL if a year from now you find out your customers don't actua= lly want your product or MySQL 5.11 comes out and is 100 times faster....

--
--
Gavin Andresen
--001a11c2588e1eee7b051920a499--