summaryrefslogtreecommitdiff
path: root/4c/100013c44d54ffaaa2a19b976cc518dc04919a
blob: 18e032fb76f65719b81d4ea027f384b648d25d68 (plain)
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&#39;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=
 &lt;&lt; 3) - T) &gt;&gt; 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--