Skip to content

Commit 910b632

Browse files
committed
Newsletters: add #14 (2018-09-25)
1 parent d975b5d commit 910b632

File tree

2 files changed

+209
-0
lines changed

2 files changed

+209
-0
lines changed

_includes/references.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
[BIP158]: https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki
2222
[BIP174]: https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
2323

24+
{% comment %}<!-- BOLTs in order lowest to highest -->{% endcomment %}
25+
[BOLT2]: https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md
26+
[BOLT7]: https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md
27+
[BOLT11]: https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md
28+
2429
{% comment %}<!-- old newsletters (variables & links) in date order earliest to latest -->{% endcomment %}
2530
{% assign news0 = "/en/newsletters/2018/06/08/" %}
2631
[newsletter #0]: {{news0}}
Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
---
2+
title: 'Bitcoin Optech Newsletter #14'
3+
permalink: /en/newsletters/2018/09/25/
4+
name: 2018-09-25-newsletter
5+
type: newsletter
6+
layout: newsletter
7+
lang: en
8+
---
9+
This week's newsletter includes action items and news related to last week's
10+
security release of Bitcoin Core 0.16.3 and Bitcoin Core 0.17RC4, popular
11+
questions and answers from the Bitcoin StackExchange over the past
12+
month, and short descriptions of notable merges made to popular Bitcoin
13+
infrastructure projects.
14+
15+
- **Upgrade to Bitcoin Core 0.16.3 to fix CVE-2018-17144:** as widely
16+
reported early Friday (UTC), the denial-of-service vulnerability
17+
described in last week's Optech newsletter is now known to allow
18+
miners to trick affected systems into accepting invalid bitcoins.
19+
20+
As of this writing, it's believed that a majority of large Bitcoin
21+
services and miners have upgraded, likely ensuring that any blocks
22+
exploiting the bug will be quickly reorganized out of the most
23+
proof-of-work chain---reducing the risk for SPV clients and
24+
non-upgraded nodes.
25+
26+
If you don't plan to upgrade or if you use an SPV client, you should
27+
consider waiting for more confirmations than you usually do (30
28+
confirmations---about 5 hours worth---is a normal
29+
[recommendation][reorg risk recommendation] in these sort of
30+
situations, as that's enough time for people to notice a problem and
31+
get warnings published). Otherwise, upgrading to one of the
32+
following versions remains highly recommended for any system,
33+
especially those systems handling money:
34+
35+
- [0.16.3][] (current stable)
36+
37+
- [0.17.0RC4][bcc 0.17] (release candidate for next major version)
38+
39+
- [0.15.2][] (backport to old version, may have other issues)
40+
41+
- [0.14.3][] (backport to old version, may have other issues)
42+
43+
- **Allocate time to test Bitcoin Core 0.17RC4:** Bitcoin Core has
44+
uploaded [binaries][bcc 0.17] for 0.17 Release Candidate (RC) 4.
45+
Testing is greatly appreciated and can help ensure the quality of the
46+
final release.
47+
48+
## News
49+
50+
- **CVE-2018-17144:** the initial and subsequent disclosures of
51+
information about this bug were the only significant news this week.
52+
For more information, we suggest reading the following sources:
53+
54+
- [Bitcoin Core full disclosure][]
55+
56+
- [Original confidential report][], now public
57+
58+
- [Additional technical information][bse 79484] by Andrew Chow (also described below)
59+
60+
- [CVE-2018-17144][], National Vulnerability Database (NVE) entry
61+
being updated by Luke Dashjr
62+
63+
We're aware of several very insightful people currently reflecting
64+
upon the bug, its ultimate causes, and possible methods for reducing
65+
the risk of future serious bugs. An especially good venue for
66+
Bitcoin Core internal discussion will be during the October 8th
67+
though 10th [CoreDev.tech][] meetings following the Tokyo Scaling
68+
Bitcoin conference. We plan to follow up with links to any
69+
significant conclusions that are published.
70+
71+
Optech thanks the original reporter, Awemany, for his responsible
72+
disclosure as well as the following developers who unhesitatingly
73+
made the time to quickly confirm the issue, address it, and quietly
74+
provide round-the-clock monitoring for attempts to exploit the
75+
then-undisclosed inflation risk: Pieter Wuille, Gregory Maxwell,
76+
Wladimir van der Laan, Cory Fields, Suhas Daftuar, Alex Morcos, and
77+
Matt Corallo.
78+
79+
## Selected Q&A from Bitcoin StackExchange
80+
81+
{% comment %}<!-- https://bitcoin.stackexchange.com/search?tab=votes&q=created%3a1m..%20is%3aanswer -->{% endcomment %}
82+
83+
*[Bitcoin StackExchange][bitcoin.se] is one of the first places Optech
84+
contributors look for answers to their questions---or when we have a
85+
few spare moments of time to help answer other people's questions. In
86+
this monthly feature, we highlight some of the top voted questions and
87+
answers made since our last update.*
88+
89+
- [How does CVE-2018-17144 work?][bse 79484] Andrew Chow provides a
90+
detailed explanation of how Bitcoin Core can be crashed or tricked
91+
into accepting multiple spends of the same input in versions
92+
vulnerable to this bug.
93+
94+
- [Why doesn't Bitcoin use UDP instead of TCP?][bse 79175] Gregory
95+
Maxwell describes a case where important Bitcoin software does already
96+
use UDP and then details the reasons why UDP support isn't implemented
97+
in popular full node software. He concludes with a description of
98+
some potential benefits that might be available if UDP support was
99+
implemented.
100+
101+
- [How likely are you to get blacklisted by an exchange if you use
102+
Wasabi wallet's CoinJoin mixing?][bse 78654] Wasabi Wallet author
103+
Adam Ficsor explains that nothing stops exchanges from refusing funds
104+
mixed through Wasabi, but that several features of Wasabi (such as a
105+
required anonymity set of 100) can help make blocking users bad for
106+
business. Alternatively, he links to a tool that may allow users to
107+
circumvent an address blacklist.
108+
109+
- [What's the minimum number for a Bitcoin private key?][bse 79472]
110+
Answers from Mark Erhardt and Gregory Maxwell were provided within a
111+
minute of each other, but a humorous rephrasing of Maxwell's answer by
112+
Nate Eldredge has more upvotes than either answer as of this writing.
113+
114+
## Notable commits
115+
116+
*Notable commits this week in [Bitcoin Core][core commits], [LND][lnd
117+
commits], and [C-lightning][cl commits]. Reminder: new merges to
118+
Bitcoin Core are made to its master development branch and are unlikely
119+
to become part of the upcoming 0.17 release---you'll probably have to
120+
wait until version 0.18 in about six months from now.*
121+
122+
{% include linkers/github-log.md
123+
refname="core commits"
124+
repo="bitcoin/bitcoin"
125+
start="c53e083a49291b611d278a8db24ff235c1202e43"
126+
end="920c090f63f4990bf0f3b3d1a6d3d8a8bcd14ba0"
127+
%}
128+
{% include linkers/github-log.md
129+
refname="lnd commits"
130+
repo="lightningnetwork/lnd"
131+
start="3b2c807288b1b7f40d609533c1e96a510ac5fa6d"
132+
end="f4305097e1638f6f8958dfa9eec941d8bf80246e"
133+
%}
134+
{% include linkers/github-log.md
135+
refname="cl commits"
136+
repo="ElementsProject/lightning"
137+
start="36eab5de26e203311ceeb65c94ec5beb9c94ff5d"
138+
end="3ce53ab9eddd397d57b6afc5faefe6703e56ac26"
139+
%}
140+
141+
- [Bitcoin Core #13152][]: when connected to the peer-to-peer network,
142+
nodes share the IP addresses of other nodes they've heard about and
143+
these addresses are stored in a database that Bitcoin Core queries
144+
when it wants to open a new connection. This PR adds a new RPC command,
145+
`getnodeaddresses`, that returns one or more of these addresses. This
146+
can be useful in conjunction with tools like [bitcoin-submittx][].
147+
148+
- [LND #1738][]: the logic for validating channel updates has been
149+
moved to the routing package so that it's available both in routing
150+
(to handle failed payment sessions) and the gossiper (where it was
151+
handled before). This fixes issue [#1707][LND #1707] (and implements
152+
a test case for it) that may have allowed a node to trick one of its
153+
peers into believing a different peer had a routing failure, thus
154+
possibly redirecting traffic to the malicious node.
155+
156+
- C-Lightning now provides a `gossipwith` tool that allows you to
157+
receive gossip from a node independently of lightningd or even to send
158+
the remote node a message. This tool is used for additional testing
159+
of lightningd's gossip component.
160+
161+
- C-Lightning now complies with updates to [BOLT7][bolt7] by
162+
splitting the previous `flags` field for the `listchannels` RPC into
163+
two new fields: `message_flags` and `channel_flags`. Also code
164+
comments and references to [BOLT2][] and [BOLT11][] have been updated.
165+
166+
- C-Lightning has significantly expanded the in-code documentation of
167+
its secrets module. The documentation is remarkably good (and, at
168+
times, quite humorous). See [hsmd.c][]. The code comments even
169+
document other code comments:
170+
171+
```c
172+
/*~ You'll find FIXMEs like this scattered through the code.
173+
* Sometimes they suggest simple improvements which someone like
174+
* yourself should go ahead an implement. Sometimes they're deceptive
175+
* quagmires which will cause you nothing but grief. You decide! */
176+
177+
/* FIXME: We should cache these. */
178+
get_channel_seed(&c->id, c->dbid, &channel_seed);
179+
derive_funding_key(&channel_seed, &funding_pubkey, &funding_privkey);
180+
```
181+
182+
- C-Lightning can now make multiple requests in parallel to bitcoind,
183+
speeding up operations on slow systems or on nodes performing long-running
184+
operations.
185+
186+
{% include references.md %}
187+
{% include linkers/issues.md issues="13152,1738,1707" %}
188+
189+
{% assign bse = "https://bitcoin.stackexchange.com/a/" %}
190+
[bse 79484]: {{bse}}79484
191+
[bse 79175]: {{bse}}79175
192+
[bse 78654]: {{bse}}78654
193+
[bse 79472]: {{bse}}79472
194+
[0.16.3]: https://bitcoincore.org/en/2018/09/18/release-0.16.3/
195+
[0.15.2]: https://github.com/bitcoin/bitcoin/releases/tag/v0.15.2
196+
[0.14.3]: https://github.com/bitcoin/bitcoin/releases/tag/v0.14.3
197+
[reorg risk recommendation]: https://btcinformation.org/en/you-need-to-know#instant
198+
[bitcoin core full disclosure]: https://bitcoincore.org/en/2018/09/20/notice/
199+
[original confidential report]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-September/016424.html
200+
[cve-2018-17144]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17144
201+
[bcc 0.17]: https://bitcoincore.org/bin/bitcoin-core-0.17.0/
202+
[coredev.tech]: https://coredev.tech/
203+
[hsmd.c]: https://github.com/ElementsProject/lightning/blob/master/hsmd/hsmd.c
204+
[bitcoin-submittx]: https://github.com/laanwj/bitcoin-submittx

0 commit comments

Comments
 (0)