Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 9EDF6FE4 for ; Fri, 12 Feb 2016 16:09:02 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-ig0-f171.google.com (mail-ig0-f171.google.com [209.85.213.171]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 4B884168 for ; Fri, 12 Feb 2016 16:09:02 +0000 (UTC) Received: by mail-ig0-f171.google.com with SMTP id y8so13334342igp.1 for ; Fri, 12 Feb 2016 08:09:02 -0800 (PST) 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:cc :content-type; bh=H+LsTY8utWjT7ZgZdMrlk04rVBrcQR39i0OiTeCnVdQ=; b=xohLvWVJA7NMC0roX+zUkuFpaE49OWqNe5636ly0z1k2I8WP1LG23gpGYI8Vxe1Tkr /814P/065fV84a7PWtb98zzljM/fdu+LacwpREtYQZP/50ZM3A8QtzcdiEQfhE9HZ8FR /pmUpbU3dfbXxU2YbD6VMvYG/RVABLnYb7TYbvIvZI9X/QWIBhSXxqSckyW8iVM7hzSQ Co23mGy/5cjqi9homNcR44T9JxzJjwsKwpkcera2Vea2M7ZtHKJbNkGX3ssGuDZtA8n9 qnqi/14ZClNsX6AGNpUu77cALDv6cS5iQipy1K0lbfqPb3lDmp8I/5Q0isIaiti1IjXG CtBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:cc:content-type; bh=H+LsTY8utWjT7ZgZdMrlk04rVBrcQR39i0OiTeCnVdQ=; b=el3c7vFxPLpDP0otXQ3zBNeelQi7l5ICcXGomhA8Zn/qWYzrA9ZNFnOU8wiXOz/CHe NiBQi3v2MXg3/2QQuNmP0vYj8f9udEE2562OMJYqevqZgbY4/5yz5v1Cyph8WMS+zZis +arrmSuPpUxXYDyFWgvp+YHuQ8WhcAULb/3AbUD0iD5t6SrPPihy0LnHvt3wS7aK4sX5 9mjoEHjFtWXYWRvu/O3rxNdcwJoP3KlAk79oFQ1q7DdXeNGXXc/ApikJkKfWHF/jccKD ljpCvdkzn1WHaz/1MTmr+mHS3Zz/Gk6X1yznPUidMaToRgqFx/7t9BqsoG6dEvkBtfZR 7H9w== X-Gm-Message-State: AG10YOSSenSPl4muOFzRXooMj5FfZ/Be2Sk0OnODzki/oAAS7oNcJsSMZCTFe3XWaF4ojPT9KuL0wwlaCCZ2iw== MIME-Version: 1.0 X-Received: by 10.50.143.4 with SMTP id sa4mr5059028igb.26.1455293341684; Fri, 12 Feb 2016 08:09:01 -0800 (PST) Received: by 10.79.77.65 with HTTP; Fri, 12 Feb 2016 08:09:01 -0800 (PST) In-Reply-To: <20160212153453.GA4976@savin.petertodd.org> References: <20160212153453.GA4976@savin.petertodd.org> Date: Fri, 12 Feb 2016 16:09:01 +0000 Message-ID: From: Tier Nolan Cc: Bitcoin Dev Content-Type: multipart/alternative; boundary=001a1134bce2acefae052b94e229 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MISSING_HEADERS, RCVD_IN_DNSWL_LOW autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] Soft fork fix for block withholding attacks 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: Fri, 12 Feb 2016 16:09:02 -0000 --001a1134bce2acefae052b94e229 Content-Type: text/plain; charset=UTF-8 If clients were designed to warn their users when a soft fork happens, then it could be done reasonably safely. The reference client does this (or is it just for high POW softforks?), but many SPV clients don't. If there was a delay between version number changing and the rule activation, at least nodes would get a warning recommending that they update. * At each difficulty interval, if 950 of the last 1000 blocks have the new version number, reject the old version blocks from then on. * Start new target at 255, the least significant byte must be less than or equal to the target * Update target at each difficulty re-targetting T = ((T << 3) - T) >> 3 This increases the difficulty by around 12.5% per fortnight. After 64 weeks, the target would reach 0 and stay there meaning that the difficulty would be 256 times higher than what is given in the header. An attacker with 2% of the network power could create 5 blocks for every block produced by the rest of the network. --001a1134bce2acefae052b94e229 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
If clients were d= esigned to warn their users when a soft fork happens, then it could be done= reasonably safely.=C2=A0 The reference client does this (or is it just for= high POW softforks?), but many SPV clients don't.

If= there was a delay between version number changing and the rule activation,= at least nodes would get a warning recommending that they update.

* At each difficulty interval, if 950 of the last 1000= blocks have the new version number, reject the old version blocks from the= n on.

* Start new target at 255, the least si= gnificant byte must be less than or equal to the target

*= Update target at each difficulty re-targetting

T =3D ((T= << 3) - T) >> 3

This increases the di= fficulty by around 12.5% per fortnight.=C2=A0=C2=A0 After 64 weeks, the tar= get would reach 0 and stay there meaning that the difficulty would be 256 t= imes higher than what is given in the header.

An attacker= with 2% of the network power could create 5 blocks for every block produce= d by the rest of the network.
--001a1134bce2acefae052b94e229--