Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1R3Ua6-0003lm-R0 for bitcoin-development@lists.sourceforge.net; Tue, 13 Sep 2011 15:07:26 +0000 Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.161.47 as permitted sender) client-ip=209.85.161.47; envelope-from=gavinandresen@gmail.com; helo=mail-fx0-f47.google.com; Received: from mail-fx0-f47.google.com ([209.85.161.47]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1R3Ua1-0007wx-3v for bitcoin-development@lists.sourceforge.net; Tue, 13 Sep 2011 15:07:26 +0000 Received: by fxi1 with SMTP id 1so848035fxi.34 for ; Tue, 13 Sep 2011 08:07:14 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.5.76 with SMTP id 12mr2087994fau.103.1315926397782; Tue, 13 Sep 2011 08:06:37 -0700 (PDT) Received: by 10.152.25.105 with HTTP; Tue, 13 Sep 2011 08:06:37 -0700 (PDT) Date: Tue, 13 Sep 2011 11:06:37 -0400 Message-ID: From: Gavin Andresen To: Bitcoin Dev Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -1.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 (gavinandresen[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -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: 1R3Ua1-0007wx-3v Subject: [Bitcoin-development] Difficulty adjustment / time issues 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: Tue, 13 Sep 2011 15:07:26 -0000 Background: Timejacking: http://culubas.blogspot.com/2011/05/timejacking-bitcoin_802.html And a recent related exploit launched against the low-difficulty alternative chains: https://bitcointalk.org/index.php?topic=43692.msg521772#msg521772 Seems to me there are two fundamental problems: 1) Bitcoin should be overlapping the ranges of block timestamps that it uses to calculate difficulty adjustments. 2) Bitcoin's "what time is it" code is kind of a hack. Fixing (1) would mean a potential block-chain split; before considering doing that I'd like to consider second-best solutions. Fixing (2) is easier; incorporating a ntp library and/or simply removing the bitcoin mining code from the client but requiring pools and miners to have accurate-to-within-a-minute system clocks (or their blocks will be "discouraged") seems reasonable to me. If you want to produce blocks that the rest of the network will accept, run ntp on your system. I THINK that fixing (2) will make (1) a non-issue-- if miners can't mess around with block times very much then it will be very difficult for them to manipulate the difficulty for their benefit. -- -- Gavin Andresen