1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
Return-Path: <tier.nolan@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
[172.17.192.35])
by mail.linuxfoundation.org (Postfix) with ESMTPS id 9EDF6FE4
for <bitcoin-dev@lists.linuxfoundation.org>;
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 <bitcoin-dev@lists.linuxfoundation.org>;
Fri, 12 Feb 2016 16:09:02 +0000 (UTC)
Received: by mail-ig0-f171.google.com with SMTP id y8so13334342igp.1
for <bitcoin-dev@lists.linuxfoundation.org>;
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: <CAL7-sS0NdZ4E7qwSs9TQdvsyqrzY0q847oM2cnwEYA3ciXCs4g@mail.gmail.com>
<CAL7-sS3QFGg_uj0UN+vPSE1Y3-XTj3HeCaPxERznpMfhvaj28A@mail.gmail.com>
<CAL7-sS2DqPF0Y7+UT7qGp==MJBmHmbQW5em+XFY8ZkVPuzCPcQ@mail.gmail.com>
<CAL7-sS2TMUg1KTPgitzMq61-4+ppzpZ7E_aEsbLXOuBYqU_q-g@mail.gmail.com>
<CAL7-sS1JhXAJ_hjUpLvnPWiwsf2hOwsaZdrq9negDPZiGs4nmg@mail.gmail.com>
<CAL7-sS2vb5Aid-pTHHgJ0N9O8QYP=OR3HE1bVGw32LPm6W9SUA@mail.gmail.com>
<20160212153453.GA4976@savin.petertodd.org>
Date: Fri, 12 Feb 2016 16:09:01 +0000
Message-ID: <CAE-z3OWAbu=02=90-MUgccV-VoC-R3qSv_Q5TpJFKmarFAudXw@mail.gmail.com>
From: Tier Nolan <tier.nolan@gmail.com>
Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
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 <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=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
<div dir=3D"ltr"><div><div><div><div><div><div><div></div>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.<br><br></div><div>If=
there was a delay between version number changing and the rule activation,=
at least nodes would get a warning recommending that they update.<br></div=
><div><br></div><div>* 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.<br></div><br></div></div><div>* Start new target at 255, the least si=
gnificant byte must be less than or equal to the target<br><br></div><div>*=
Update target at each difficulty re-targetting<br><br></div><div>T =3D ((T=
<< 3) - T) >> 3<br></div></div><br></div>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.<br><br></div><div>An attacker=
with 2% of the network power could create 5 blocks for every block produce=
d by the rest of the network.<br></div></div>
--001a1134bce2acefae052b94e229--
|