Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 3A026C4E for ; Tue, 15 Oct 2019 07:20:13 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-40136.protonmail.ch (mail-40136.protonmail.ch [185.70.40.136]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 6EEB08BF for ; Tue, 15 Oct 2019 07:20:12 +0000 (UTC) Date: Tue, 15 Oct 2019 07:20:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=default; t=1571124010; bh=flwwwS5T6cW5WSZ4duswZDqTH5gkAEVIqG/xYPCiydY=; h=Date:To:From:Reply-To:Subject:In-Reply-To:References:Feedback-ID: From; b=aBtahUyylF3gMYknVdXUyhJYiBA3cAWwNMylM99IRtR8O5mfgSLlMAIwtBbvGH63o f8xocaF14HEotE3aEAkpRj+GpZdGXESW8t2jb6369xln6VA/4rI8a0Dgb5+Ne67WpK 1HDMdGQz3SG30uh2vrz2djOrDoDsLBQfRrPhDEbY= To: Braydon Fuller , Bitcoin Protocol Discussion From: =?UTF-8?Q?Joachim_Str=C3=B6mbergson?= Reply-To: =?UTF-8?Q?Joachim_Str=C3=B6mbergson?= Message-ID: In-Reply-To: <93649df9-27ab-abaf-00f3-da6c528344cc@purse.io> References: <42cd5ffd-63e8-b738-c4ea-13d0699b1268@purse.io> <93649df9-27ab-abaf-00f3-da6c528344cc@purse.io> Feedback-ID: rtGq1wInl4cYyZOA2iZwaHP-4FBFY67Qt3DcVBMZh8YR1tV-3hijnv7SxpdDwGlNdSPgHEykKLn6PcHDKa0D8A==:Ext:ProtonMail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, 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 X-Mailman-Approved-At: Tue, 15 Oct 2019 15:54:56 +0000 Subject: Re: [bitcoin-dev] Chain width expansion X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Oct 2019 07:20:13 -0000 > > [...] First you provide proof of your best block height via coinbase [.= ..] > > So I don't think you can use the height in the coinbase for that > purpose, as it's not possible to validate it without the previous > headers. That's common for more than just the height. You can fake it of course, but it means you are spending money for PoW and = I can't see viable attack here. You can commit to either lower height than = actual or higher height, if you are malicious. If it is lower, then your ch= ain will look weaker with some heuristic based on PoW of the tip and the ch= ain length. So you are not going to do that. It thus seem it only makes sen= se to commit to higher than actual height. OK, this could convince me to be= interested in your chain over others. So let's say the real chain is 600k = blocks, you claim 1m blocks, and you prove 1m height block to me. So I can = ask you about 1) 2000 headers from the tip down 2) AND another proof of height for the block at 1m-2000. To be able to provide that you need to have such a chain and you can reuse = any real subchain from mainnet. It's still possible that you can deliver th= at, but not for high difficulty. Now if time warp attack is blocked, you will have pretty hard time to creat= e such a chain that would look strongest in cumulative work. I don't have a= ctual numbers though, so I can't say this would mitigate everything. > > [...] to generate much longer chain with superslow timestamp increase (= ~5 blocks in 1 second) without increasing difficulty (i.e. staying at min. = diff.). [...] > > In that case, it would take about 7 minutes of block time seconds for > the next retarget period, every 2016 blocks, and the difficulty would > adjust. The difficulty would adjust in that case as if 2 weeks of blocks > had been mined in 7 minutes. For the difficulty to remain the same the > time between blocks needs to be 10 minutes. This calculation does not apply under time warp attack. You can fake timest= amps of all blocks except for those relevant to the retarget calculation. T= hose are only the first and the last block in the 2016 block window.