Skip to content

Commit d975b5d

Browse files
authored
Merge pull request bitcoinops#67 from harding/2018-09-18-newsletter
Newsletters: add #13 (2018-09-18)
2 parents cb12599 + 9dc561d commit d975b5d

File tree

2 files changed

+203
-0
lines changed

2 files changed

+203
-0
lines changed

_includes/references.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
[output script descriptors]: https://gist.github.com/sipa/e3d23d498c430bb601c5bca83523fa82
99

1010
{% comment %}<!-- BIPs in order lowest to highest -->{% endcomment %}
11+
[BIP21]: https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki
1112
[BIP37]: https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki
13+
[BIP61]: https://github.com/bitcoin/bips/blob/master/bip-0061.mediawiki
1214
[BIP70]: https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki
1315
[BIP125]: https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki
1416
[BIP133]: https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
---
2+
title: 'Bitcoin Optech Newsletter #13'
3+
permalink: /en/newsletters/2018/09/18/
4+
name: 2018-09-18-newsletter
5+
type: newsletter
6+
layout: newsletter
7+
lang: en
8+
---
9+
This week's newsletter includes action items related to the security
10+
release of Bitcoin Core 0.16.3 and Bitcoin Core 0.17RC4, the
11+
newly-proposed BIP322, and Optech's upcoming Paris workshop; a link to
12+
the C-Lightning 0.6.1 release, more information about BIP322, and some
13+
details about the Bustapay proposal; plus brief descriptions of notable
14+
merges in popular Bitcoin infrastructure projects.
15+
16+
## Action items
17+
18+
- **Upgrade to Bitcoin Core 0.16.3 to fix denial-of-service
19+
vulnerability:** a bug introduced in Bitcoin Core 0.14.0 and affecting
20+
all subsequent versions through to 0.16.2 will cause Bitcoin Core to
21+
crash when attempting to validate a block containing a transaction
22+
that attempts to spend the same input twice. Such blocks would be
23+
invalid and so can only be created by miners willing to lose the
24+
allowed income from having created a block (at least 12.5 XBT or
25+
$80,000 USD).
26+
27+
Patches for [master][dup txin master] and [0.16][dup txin 0.16]
28+
branches were submitted for public review yesterday, the 0.16.3
29+
release has been tagged containing the patch, and binaries will
30+
be available for [download][core download] as soon as a sufficient
31+
number of well-known contributors have reproduced the deterministic
32+
build---probably later today (Tuesday). Immediate upgrade is
33+
highly recommended.
34+
35+
- **Allocate time to test Bitcoin Core 0.17RC4:** Bitcoin Core will soon
36+
be uploading [binaries][bcc 0.17] for 0.17 Release Candidate (RC) 4
37+
containing the same patch for the DoS vulnerability described above.
38+
All testers of previous release candidates should upgrade. Testing is
39+
greatly appreciated and can help ensure the quality of the final
40+
release.
41+
42+
- **Review proposed BIP322 for generic message signing:** this
43+
[recently-proposed][BIP322 proposal] BIP will allow users to create
44+
signed messages for all currently-used types of Bitcoin addresses,
45+
including P2PKH, P2SH, P2SH-wrapped segwit, P2WPKH, and P2WSH. It has
46+
the potential to become an industry standard that will be implemented
47+
by nearly all wallets and may be used by many services (such as
48+
peer-to-peer marketplaces) as well as for customer support, so Optech
49+
encourages allocating some engineering time to ensure the proposal is
50+
compatible with your organization's needs. See the News section below
51+
for additional details.
52+
53+
- **[Optech Paris workshop][workshop] November 12-13:** member
54+
companies should [send us an email][optech email] to reserve spots for
55+
your engineers. Planned topics include a comparison of two methods
56+
for bumping transaction fees, discussion of partially-signed Bitcoin
57+
transactions ([BIP174][]), an introduction to output script
58+
descriptors, suggestions for Lightning Network wallet integration, and
59+
approaches to efficient coin selection (including output
60+
consolidation).
61+
62+
## News
63+
64+
- **C-Lightning 0.6.1 released:** this minor update brings several
65+
improvements, including "fewer stuck payments, better routing, fewer
66+
spurious closes, and several annoying bugs fixed." The [release
67+
announcement][c-lightning 0.6.1] contains details and links to
68+
downloads.
69+
70+
- **BIP322 generic signed message format:** since 2011, users of many
71+
wallets have had the ability to sign an arbitrary message using the
72+
public key associated with a P2PKH address in their wallet. However,
73+
there's no standardized way for users to do the same using a P2SH
74+
address or any of the different types of segwit addresses (although
75+
there are some implemented [non-standard methods][trezor p2wpkh
76+
message signing] with limited functionality). Picking up a
77+
Bitcoin-Dev mailing list discussion from several months ago,
78+
Karl-Johan Alm has [proposed][BIP322 proposal] a BIP that could work
79+
for any address (although it's not yet described how it would work for
80+
P2SH or P2WSH addresses involving an OP_CLTV or OP_CSV timelock).
81+
82+
The basic mechanism is that the authorized spender or spenders for
83+
an address generate scriptSigs and witness data (including
84+
their signatures) in much the same way they would if they were
85+
spending the funds---except instead of signing the spending
86+
transaction, they sign their arbitrary message instead (plus some
87+
predetermined extra data to ensure they can't be tricked into
88+
signing an actual transaction). The verifier's software then
89+
validates this information the same way it would to determine
90+
whether a spending transaction was valid. This allows the message
91+
signing facility to be exactly as flexible as Bitcoin scripts
92+
themselves.
93+
94+
Currently, discussion appears to be most active on the BIP
95+
proposal's [pull request][BIP322 PR].
96+
97+
- **Bustapay discussion:** a simplified alternative to the proposed
98+
Pay-to-Endpoint (P2EP) protocol [described in newsletter #8][news8
99+
news], Bustapay provides improved privacy for both spenders and
100+
receivers---and also allows receivers to accept payments without
101+
increasing the number of their spendable outputs, a form of automatic
102+
UTXO consolidation. Although [proposed][bustapay proposal] to the
103+
Bitcoin-Dev mailing list a few weeks ago, several aspects of the
104+
proposal were [discussed][bustapay sjors] this week.
105+
106+
Although P2EP and Bustapay could end up being implemented by only a
107+
few wallets and services similar to the [BIP70][] payment protocol,
108+
there's also chance they could end up being becoming as widely
109+
adopted as wallet support for [BIP21][] URI handlers. Even if they
110+
don't see general adoption, their privacy advantage means they could
111+
end up well deployed among niche users. In either case, it may be
112+
worth dedicating some engineering time towards tracking the
113+
proposals and proof of concept implementations to ensure your
114+
organization can easily adopt them if desirable.
115+
116+
## Notable commits
117+
118+
*Notable commits this week in [Bitcoin Core][core commits], [LND][lnd
119+
commits], and [C-lightning][cl commits]. Reminder: new merges to
120+
Bitcoin Core are made to its master development branch and are unlikely
121+
to become part of the upcoming 0.17 release---you'll probably have to
122+
wait until version 0.18 in about six months from now.*
123+
124+
{% include linkers/github-log.md
125+
refname="core commits"
126+
repo="bitcoin/bitcoin"
127+
start="cb25cd6aa18c69918176d68e36e26f7e373aa48c"
128+
end="c53e083a49291b611d278a8db24ff235c1202e43"
129+
%}
130+
{% include linkers/github-log.md
131+
refname="lnd commits"
132+
repo="lightningnetwork/lnd"
133+
start="1941353fb28755a170793e43595601d75c8f3dda"
134+
end="3b2c807288b1b7f40d609533c1e96a510ac5fa6d"
135+
%}
136+
{% include linkers/github-log.md
137+
refname="cl commits"
138+
repo="ElementsProject/lightning"
139+
start="634f19a7b230edc686be56ab950b80784e56252c"
140+
end="36eab5de26e203311ceeb65c94ec5beb9c94ff5d"
141+
%}
142+
143+
- [Bitcoin Core #14054][]: this PR prevents the node from sending
144+
[BIP61][] peer-to-peer protocol [reject messages][p2p reject] by
145+
default. These messages were implemented to make it easier for
146+
developers of lightweight clients to get feedback on connection and
147+
transaction relay problems. However, there's no requirement (or way
148+
to require) that nodes send a reject message or an accurate reject
149+
message, so the messages arguably only end up wasting bandwidth.
150+
151+
It's recommended that developers connect their test clients to their
152+
own nodes and inspect their nodes' logs for error messages in case
153+
of problems (perhaps after enabling debug logging). Users who still
154+
need to send `reject` messages can use the `-enablebip61`
155+
configuration option, although it's possible that `reject`
156+
messages will be removed altogether in a release after 0.18.
157+
158+
- [Bitcoin Core #7965][]: this long-standing issue tracked the removal
159+
of code in the libbitcoin_server component to handle whether the wallet is
160+
compiled or not. The issue was finally closed this week by the merge of
161+
[Bitcoin Core #14168][]. This issue, along with a number of other issues such
162+
as [Bitcoin Core #10973][] (Refactor: separate wallet from node) and [Bitcoin
163+
Core #14180][] (Run all tests even if wallet is not compiled) are part of a
164+
long-term effort to disentangle the wallet code from the server code. Doing so
165+
provides a number of benefits including easier code maintenance, better
166+
opportunities for testing individual components, and potentially more secure
167+
software if the wallet component is moved to its own process.
168+
169+
- [LND #1843][]: a configuration option intended only for testing
170+
(`--noencryptwallet`) has been renamed to `--noseedbackup`, been
171+
marked as deprecated, and had its help text updated and changed to
172+
mostly uppercase warning text. Developers are worried that ordinary
173+
users are enabling this option without realizing that it puts them
174+
only one failure away from permanently losing money.
175+
176+
- [LND #1516][]: thanks to updates in the upstream Tor daemon, this
177+
patch makes it possible for LND to automatically create and set up v3
178+
onion services in addition to its existing v2 automation. For the
179+
automation to work, users must already have Tor installed and running
180+
as a service.
181+
182+
- C-Lightning: for testing, an RPC proxy is now used to simplify mocking
183+
responses to various RPC calls, making it easier to test lightningd's
184+
handling of things such as fee estimates and crashes of bitcoind.
185+
186+
{% include references.md %}
187+
{% include linkers/issues.md issues="14054,1843,1516,7965,14168,10973,14180" %}
188+
189+
[bcc 0.17]: https://bitcoincore.org/bin/bitcoin-core-0.17.0/
190+
[workshop]: /workshops
191+
[news8 news]: {{news8}}#news
192+
[c-lightning 0.6.1]: https://github.com/ElementsProject/lightning/releases/tag/v0.6.1
193+
[BIP322 proposal]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-September/016393.html
194+
[BIP322 PR]: https://github.com/bitcoin/bips/pull/725
195+
[trezor p2wpkh message signing]: https://github.com/trezor/trezor-mcu/issues/169
196+
[bustapay proposal]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-August/016340.html
197+
[bustapay sjors]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-September/016383.html
198+
[p2p reject]: https://btcinformation.org/en/developer-reference#reject
199+
[dup txin master]: https://github.com/bitcoin/bitcoin/pull/14247
200+
[dup txin 0.16]: https://github.com/bitcoin/bitcoin/pull/14249
201+
[core download]: https://bitcoincore.org/en/download

0 commit comments

Comments
 (0)