summaryrefslogtreecommitdiff
path: root/d0/5b7fd7b473d8b33b53f9b1e84d48d795b97948
blob: ca3982d6fc427cc9bf8331023761b1ba3ec3696a (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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
Return-Path: <pete@petertodd.org>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 014C8273
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 29 Jun 2015 05:07:34 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from outmail148099.authsmtp.net (outmail148099.authsmtp.net
	[62.13.148.99])
	by smtp1.linuxfoundation.org (Postfix) with ESMTP id C4BAC7C
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 29 Jun 2015 05:07:32 +0000 (UTC)
Received: from mail-c235.authsmtp.com (mail-c235.authsmtp.com [62.13.128.235])
	by punt18.authsmtp.com (8.14.2/8.14.2/) with ESMTP id t5T57UOG015376;
	Mon, 29 Jun 2015 06:07:30 +0100 (BST)
Received: from savin.petertodd.org (75-119-251-161.dsl.teksavvy.com
	[75.119.251.161]) (authenticated bits=128)
	by mail.authsmtp.com (8.14.2/8.14.2/) with ESMTP id t5T57R01066085
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO);
	Mon, 29 Jun 2015 06:07:29 +0100 (BST)
Date: Mon, 29 Jun 2015 01:07:26 -0400
From: Peter Todd <pete@petertodd.org>
To: bitcoin-dev@lists.linuxfoundation.org
Message-ID: <20150629050726.GA502@savin.petertodd.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="X1bOJ3K7DJ5YkBrT"
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Server-Quench: be07ca33-1e1c-11e5-b396-002590a15da7
X-AuthReport-Spam: If SPAM / abuse - report it at:
	http://www.authsmtp.com/abuse
X-AuthRoute: OCd2Yg0TA1ZNQRgX IjsJECJaVQIpKltL GxAVKBZePFsRUQkR
	aAdMdAsUEkAaAgsB AmMbW1JeUFp7WmM7 bA9PbARUfEhLXhtr
	VklWR1pVCwQmRRll Axl8UhhycQNGcHs+ ZEFrX3MVDhF6chUs
	QU1JFDgHNnphaTUa TRJbfgVJcANIexZF O1F6ACIKLxd+BnBw
	MRI3O3gLMC1bIS9Y BwscaHwfTA4HEyY4 QAEHEDMzVVYORyg/ MhgrQl4B
X-Authentic-SMTP: 61633532353630.1023:706
X-AuthFastPath: 0 (Was 255)
X-AuthSMTP-Origin: 75.119.251.161/587
X-AuthVirus-Status: No virus detected - but ensure you scan with your own
	anti-virus system.
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,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
Subject: [bitcoin-dev] BIP: Full Replace-by-Fee deployment schedule
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: Mon, 29 Jun 2015 05:07:34 -0000


--X1bOJ3K7DJ5YkBrT
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Gregory: Please assign a BIP #

https://github.com/petertodd/bips/blob/bip-full-rbf-deadline/bip-full-rbf-d=
eadline.mediawiki

<pre>
  BIP: ??
  Title: Full Replace-by-Fee Deployment Schedule
  Author: Peter Todd <pete@petertodd.org>
  Status: Draft
  Type: Standards Track
  Created: 2015-06-29
</pre>

=3D=3DSummary=3D=3D

This BIP proposes a deployment schedule for full replace-by-fee (full-RBF)
functionality, with an automatic activation of Tuesday April 5th, 2016, at =
3pm
UTC upon which supporting relay nodes and miners will enable full-RBF mempo=
ol
behavior on mainnet. Prior to the activation deadline supporting nodes and
miners will support first-seen-safe(1) replace-by-fee (FSS-RBF) mempool beh=
avior.


=3D=3DMotivation=3D=3D

Full-RBF has significant efficiency advantages(2) over alternatives such as
FSS-RBF and Child-Pays-For-Parent for a wide variety of common transaction
patterns such as fee-bumping and multiple sequential payments, as well as s=
mart
contract protocols such as payment channels and auctions. Miner support wou=
ld
let the wider Bitcoin community use the blockchain more efficiently, suppor=
ting
more transactions per second in less blockchain space.

While full-RBF does allow users to "undo" transactions after they have been
sent, the ability of decentralized wallets to protect users from double-spe=
nds
has proven to be near-zero.(3) Centralized services have had some success in
doing so, albeit at the cost of having to sybil attack the network, a strat=
egy
that cannot scale to more than a small handful of payment processing
companies.(3)

Even then success is not assured. Worryingly large payment providers have s=
hown
willingness(4) to consider extreme measures such as entering into legal
contracts directly with large miners to ensure their transactions get mined.
This is a significant centralization risk and it is not practical or even
possible for small miners to enter into these contracts, leading to a situa=
tion
where moving your hashing power to a larger pool will result in higher prof=
its
=66rom hashing power contracts; if these payment providers secure a majorit=
y of
hashing power with these contracts inevitably there will be a temptation to
kick non-compliant miners off the network entirely with a 51% attack.

It does not make sense for the whole Bitcoin community to incur higher
transaction costs, sybil attacks, and centralization risk for the sake of a
small handful of companies. However an orderly, planned, upgrade is still
desirable.


=3D=3DImplementation=3D=3D

As full-RBF usage patterns, unlike first-seen-dependent zeroconf, does not
depend on mempool syncronization this BIP won't specify detailed relay node
behavior. However the following implementation is reasonable and well-tested
with considerations such as DoS attacks taken into account:

    https://github.com/bitcoin/bitcoin/pull/6352

To maximize engineer availability the deadline date was chosen to be toward=
s,
but not at, the start of the week, and away from any public holidays. 3pm U=
TC
was chosen as a compromise between Pacific West Coast and European timezone=
s;
miners in the Asian timezones may choose to manually set their exact switch=
over
date a few hours ahead with little risk to themselves. Nine months into the
future was chosen on the basis of allowing time for affected companies to p=
lan
for the upgrade, without pushing the upgrade unnecessarily far into the fut=
ure.


=3D=3DCredits=3D=3D

Thanks goes to Jeff Garzik for suggesting the idea of a full-RBF deployment
deadline.


=3D=3DReferences=3D=3D

1) "First-Seen-Safe Replace-by-Fee",
Peter Todd, Bitcoin-development mailing list, May 25th 2015,
http://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/msg=
07829.html

2) "Cost savings by using replace-by-fee, 30-90%",
Peter Todd, Bitcoin-development mailing list, May 25th 2015,
http://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/msg=
07813.html

3) "F2Pool has enabled full replace-by-fee",
Peter Todd, Bitcoin-development mailing list, June 19th 2015,
http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg08=
422.html

4) "F2Pool has enabled full replace-by-fee",
Adrian Macneil, Director of Engineering, Coinbase,
Bitcoin-development mailing list, June 19th 2015,
http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg08=
443.html

=3D=3DCopyright=3D=3D

This document is placed in the public domain.

--=20
'peter'[:-1]@petertodd.org
000000000000000002b9facd4d17c9e3f1f494f9336f7dc5dae35d8918852890

--X1bOJ3K7DJ5YkBrT
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature

-----BEGIN PGP SIGNATURE-----

iQGrBAEBCACVBQJVkNKJXhSAAAAAABUAQGJsb2NraGFzaEBiaXRjb2luLm9yZzAw
MDAwMDAwMDAwMDAwMDAwMmI5ZmFjZDRkMTdjOWUzZjFmNDk0ZjkzMzZmN2RjNWRh
ZTM1ZDg5MTg4NTI4OTAvFIAAAAAAFQARcGthLWFkZHJlc3NAZ251cGcub3JncGV0
ZUBwZXRlcnRvZC5vcmcACgkQJIFAPaXwkfuQnQf+NMxge0GQW4Dj/TSwB4MwEhFq
Mt1kLoBlWQ+5N8bsGtu83Xs1z+vrSqdAX/SYfCr91QUl3ZF4HEyXMz19mApBWP5y
zyjno4kxFHc+IdupiN/d0ZYhChLlfgP624sBNJ6taTlIdSCV6N6FB7szWBcwsT+h
yA2iXxc5xP/9y/Ru88sX1KvNZTIHOKiusB5L6DPsd4NEOBdWxTtzw8WIdakDdwRl
kTlzmOEqkj/KPmlMBtefOK2b88tz24Y9kQJEJf/jezwTlrBT3IQJS7KuCFTtHxuc
OgEGFno4f6TnRJ4sB2F9h9UsTxPco2jXFtAx9eKR5rVSWR4GnDlFMCGGFrQlww==
=sitE
-----END PGP SIGNATURE-----

--X1bOJ3K7DJ5YkBrT--