Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id AC0562C for ; Wed, 22 Mar 2017 08:47:42 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from zinan.dashjr.org (zinan.dashjr.org [192.3.11.21]) by smtp1.linuxfoundation.org (Postfix) with ESMTP id 250A5141 for ; Wed, 22 Mar 2017 08:47:42 +0000 (UTC) Received: from ishibashi.localnet (unknown [IPv6:2001:470:5:265:a45d:823b:2d27:961c]) (Authenticated sender: luke-jr) by zinan.dashjr.org (Postfix) with ESMTPSA id 60D8E38ABEBA for ; Wed, 22 Mar 2017 08:47:32 +0000 (UTC) X-Hashcash: 1:25:170322:bitcoin-dev@lists.linuxfoundation.org::zZ39H3jal2Y3sCnv:aDgsh From: Luke Dashjr To: bitcoin-dev@lists.linuxfoundation.org Date: Wed, 22 Mar 2017 08:47:30 +0000 User-Agent: KMail/1.13.7 (Linux/4.4.45-gentoo; KDE/4.14.28; x86_64; ; ) X-PGP-Key-Fingerprint: E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F X-PGP-Key-ID: BD02942421F4889F X-PGP-Keyserver: hkp://pgp.mit.edu MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <201703220847.31303.luke@dashjr.org> X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [bitcoin-dev] Fraud proofs for block size/weight 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: Wed, 22 Mar 2017 08:47:42 -0000 Despite the generalised case of fraud proofs being likely impossible, there have recently been regular active proposals of miners attacking with simply oversized blocks in an attempt to force a hardfork. This specific attack can be proven, and reliably so, since the proof cannot be broken without also breaking their attempted hardfork at the same time. While ideally all users ought to use their own full node for validation (even when using a light client for their wallet), many bitcoin holders still do not. As such, they are likely to need protection from these attacks, to ensure they remain on the Bitcoin blockchain. I've written up a draft BIP for fraud proofs and how light clients can detect blockchains that are simply invalid due to excess size and/or weight: https://github.com/luke-jr/bips/blob/bip-sizefp/bip-sizefp.mediawiki I believe this draft is probably ready for implementation already, but if anyone has any idea on how it might first be improved, please feel free to make suggestions. Luke