Skip to content

Commit be93f75

Browse files
committed
Meetings: add 2018-06-28
1 parent 7c95eb2 commit be93f75

File tree

2 files changed

+232
-0
lines changed

2 files changed

+232
-0
lines changed

_includes/references.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
[BIP34]: https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki
7373
[BIP35]: https://github.com/bitcoin/bips/blob/master/bip-0035.mediawiki
7474
[BIP37]: https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki
75+
[BIP39]: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
7576
[BIP42]: https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki
7677
[BIP50]: https://github.com/bitcoin/bips/blob/master/bip-0050.mediawiki
7778
[BIP61]: https://github.com/bitcoin/bips/blob/master/bip-0061.mediawiki
Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
---
2+
title: IRC meeting summary for 2018-06-28
3+
lang: en
4+
permalink: /en/meetings/2018/06/28/
5+
name: 2016-06-28-meeting
6+
layout: page
7+
type: meetings
8+
version: 1
9+
---
10+
{% include toc.html %}
11+
{% include references.md %}
12+
13+
- View this week's log on [BotBot.me][bbm log] or [MeetBot][mb log]
14+
- [Meeting minutes by MeetBot][mb minutes]
15+
16+
---
17+
18+
Topics discussed during this weekly meeting included what pull requests
19+
members of the project would like reviewers to focus on during the
20+
upcoming week, a draft specification for a new [BIP39][]-like seed
21+
format, documenting how Bitcoin Core uses the [BIP32][] HD wallet
22+
standard, an update on progress towards implementing [BIP151][]
23+
encrypted peer-to-peer connections, and discussion surrounding a new way
24+
to describe to wallet software what output scripts they should consider
25+
part of the user's wallet.
26+
27+
## High priority for review
28+
29+
**Background:** each meeting, Bitcoin Core developers discuss which Pull
30+
Requests (PRs) the meeting participants think most need review in the
31+
upcoming week. Some of these PRs are related to code that contributors
32+
especially want to see in the next release; others are PRs that are
33+
blocking further work or which require significant maintenance (rebasing)
34+
to keep in a pending state. Any capable reviewers are encouraged to
35+
visit the project's list of [current high-priority
36+
PRs][].
37+
38+
**Discussion ([log][log hipri]):** the only PR specifically discussed
39+
was [#12196][], which adds a `scantxoutset` RPC to allow applications to
40+
search all current Unspent Transaction Outputs (UTXOs) for those that match a
41+
particular address, public key, private key, or HD wallet extended
42+
public key (xpub).
43+
44+
Pieter Wuille suggested that the PR's author, Jonas Schnelli, remove
45+
xpub support from `scantxoutset` for now and Wuille would later PR an
46+
update to `scantxoutset` that adds support for the output script
47+
descriptors described later in these meeting notes. If Wuille is
48+
delayed in doing so, Schnelli can just add the previously-written xpub
49+
support back in before the Bitcoin Core 0.17 feature freeze. Schnelli
50+
agreed.
51+
52+
*Note: extended discussion of output script descriptors during this part
53+
of the meeting has been moved to a [separate section](#output-script-descriptors).*
54+
55+
## Cipherseed
56+
57+
**Background:** (Part of the discussion.)
58+
59+
**Discussion ([log][log cipherseed]):** Jonas Schnelli requested and
60+
introduced the topic, "I have a [specification draft][draft bip
61+
cipherseed] for a new seed format similar to BIP39 with some neat
62+
properties and---before sending [it] to the mailing list---would
63+
appreciate feedback."
64+
65+
**Conclusion:** Schnelli said it was "more an announcement than a topic"
66+
and so discussion was deferred until people had a chance to read the
67+
draft.
68+
69+
## Core's BIP32 derivation "standard"
70+
71+
**Background:** the HD wallet specification, [BIP32][], defines how a
72+
set of private keys and public keys (and, therefore, addresses) can be
73+
derived from a 128-bit to 512-bit random seed.
74+
75+
**Discussion ([log][log core hd]):** Jonas Schnelli requested and
76+
introduced the topic, "It came up today in a discussion [that] Core's
77+
BIP32 derivation scheme is not specified in a BIP. Some people think
78+
it's vanilla/native BIP32, but it's not, while other [wallets] do native
79+
BIP32."
80+
81+
Wladimir van der Laan agreed "it would be good if the difference would
82+
be documented somewhere." Luke Dashjr opposed it being a BIP and Pieter
83+
Wuille agreed, with Andrew Chow suggesting that "just documenting the
84+
derivation in the [documentation repository][docs repo] is sufficient."
85+
86+
*Note: extended discussion of output script descriptors during this part
87+
of the meeting has been moved to a [separate section](#output-script-descriptors).*
88+
89+
## P2Plink ephemeral encryption
90+
91+
**Background:** [BIP151][] specifies a method to allow Bitcoin nodes
92+
and clients to send their data over encrypted connections to prevent
93+
eavesdroppers from directly monitoring which particular transactions and
94+
blocks are being transmitted. This can enhance certain aspects of
95+
privacy, such as by making it harder for someone to determine which
96+
IP address was the first to transmit a particular transaction (maybe
97+
indicating that someone at that IP address created the transaction). In
98+
the BIP151 specification, both parties to the connection generate keys
99+
for just that connection and that session---destroying the keys after
100+
the connection is closed; these keys are described as "ephemeral".
101+
Since ephemeral keys are not reused, it's not possible to use them to
102+
identify the same node operating on different networks (e.g. Tor) or
103+
after the node changes IP addresses.
104+
105+
**Discussion ([log][log link encryption]):** Gregory Maxwell requested
106+
the topic and opened discussion with a question, "Has there been any
107+
progress towards implementing P2P link ephemeral encryption lately? I
108+
know we were kinda waiting for some other networking refactors."
109+
110+
Jonas Schnelli said, "Armory has implemented it and has plans to PR it
111+
to Core (not sure how soon and in what quality)."
112+
113+
Cory Fields said, "I've had to put the network [refactor] stuff on the
114+
back burner for now, so certainly don't wait for that. I'm happy to
115+
help with the implementation [of BIP151]. I was thinking we were
116+
waiting on the authentication stuff."
117+
118+
Schnelli, Maxwell, and Pieter Wuille all agreed that BIP151
119+
implementation shouldn't be waiting on a proposal for authentication.
120+
121+
Further discussion focused on whether or not the setup protocol for the
122+
encryption (the initial handshake) should be made harder to detect and
123+
so also harder to block. However, Maxwell said, "I think we thought the
124+
benefits [of the approach considered] were too dubious, especially since
125+
traffic patterns will identify Bitcoin peer-to-peer links very clearly.
126+
[...] So I think we're good to implement, and the only changes that
127+
might be proposed would be ones that arose as a side effect of
128+
implementing and benchmarking."
129+
130+
**Conclusion:** Schnelli said, "If no one else wants to work on the
131+
implementation, I will continue then with [my] BIP151 implementation."
132+
133+
[draft bip cipherseed]: https://gist.github.com/jonasschnelli/245f35894f6ff585b3f3d33c6f208991
134+
135+
## Output script descriptors
136+
137+
*Note: this was not a tagged topic, but it was discussed during two
138+
other topics in the meeting. For easier reading, those separate
139+
discussions have been extracted from where they occurred and unified
140+
into a single topic here.*
141+
142+
**Background:** Pieter Wuille has been working on a [redesign][gist
143+
wallet redesign] of how the Bitcoin Core wallet identifies which
144+
transactions belong to a particular user's wallet.
145+
146+
**Discussion ([log part 1][log out desc scantxoutset], [log part 2][log
147+
out desc bip32]):** As part of his wallet redesign, Pieter Wuille said
148+
that he has been working on a related [design][gist output script
149+
descriptors] for human-readable descriptions of sets of scriptPubKeys
150+
that provides "a general language that encodes all information about how
151+
to spend a whole set of keys with associated addresses/scripts/private
152+
keys/... into one string, including support for multisig etc..."
153+
154+
This supports the proposed wallet redesign by allowing "import/export
155+
[to] operate at the level of those descriptors, instead of individual
156+
keys/scripts/pubkeys/HD [wallet key] chains. [The] importmulti [RPC] is
157+
already compatible with that design, for a large extent. The entirety of
158+
that idea is certainly not for [the next major Bitcoin Core version,]
159+
0.17, but that doesn't mean it can't be used already in relatively small
160+
scoped things [like] `scantxoutset`."
161+
162+
This lead Wuille to suggest that PR [#12196][] temporarily remove its
163+
extended public key support so that Wuille can allow the new `scantxoutset`
164+
RPC to use the output script descriptors instead.
165+
166+
Jonas Schnelli asked, "how would [output script descriptors] interact
167+
with the keypool, flexible keypaths, and extended public keys?" The
168+
keypool is a set of keys belonging to the user's wallet; Bitcoin Core
169+
looks for transactions affecting those keys and adds them to the user's
170+
wallet. Flexible keypaths refers to the [BIP32][] key derivation path
171+
for an HD wallet.
172+
173+
Wuille said that the "keypool goes away [...] In practice, [the
174+
descriptor] contains the expanded pubkeys. [For] flexible keypath, the
175+
descriptor just contains the path; you can change it to whatever you'd
176+
like (but default wallets would, of course, pick some standard scheme)."
177+
178+
**Conclusion:** Wuille will continue working on output script
179+
descriptors, including a plan to open a PR adding them to the
180+
`scantxoutset` RPC.
181+
182+
[gist wallet redesign]: https://gist.github.com/sipa/125cfa1615946d0c3f3eec2ad7f250a2
183+
[gist output script descriptors]: https://gist.github.com/sipa/e3d23d498c430bb601c5bca83523fa82
184+
185+
## Participants
186+
187+
| IRC nick | Name/Nym |
188+
|-----------------|---------------------------|
189+
| jonasschnelli | [Jonas Schnelli][] |
190+
| sipa | [Pieter Wuille][] |
191+
| wumpus | [Wladimir van der Laan][] |
192+
| gmaxwell | [Gregory Maxwell][] |
193+
| cfields | [Cory Fields][] |
194+
| promag | [Joao Barbosa][] |
195+
| luke-jr | [Luke Dashjr][] |
196+
| achow101 | [Andrew Chow][] |
197+
| meshcollider | [Samuel Dobson][] |
198+
| instagibbs | [Gregory Sanders][] |
199+
| kanzure | [Bryan Bishop][] |
200+
| jnewbery | [John Newbery][] |
201+
202+
## Disclaimer
203+
204+
This summary was compiled without input from any of the participants in
205+
the discussion, so any errors are the fault of the summary author and
206+
not the discussion participants. In particular, quotes taken from the
207+
discussion had their capitalization, punctuation, and spelling modified
208+
to produce consistent sentences. Bracketed words and fragments, as well
209+
as background narratives and exposition, were added by the author of
210+
this summary and may have accidentally changed the meaning of some
211+
sentences. If you believe any quote was taken out of context, please
212+
[open an issue](https://github.com/bitcoin-core/bitcoincore.org/issues/new)
213+
and we will correct the mistake.
214+
215+
[bbm log]: https://botbot.me/freenode/bitcoin-core-dev/msg/101580174/
216+
[mb minutes]: http://www.erisian.com.au/meetbot/bitcoin-core-dev/2018/bitcoin-core-dev.2018-06-28-19.00.html
217+
[current high-priority PRs]: https://github.com/bitcoin/bitcoin/projects/8
218+
219+
220+
{% assign log = "http://www.erisian.com.au/meetbot/bitcoin-core-dev/2018/bitcoin-core-dev.2018-06-28-19.00.log.html" %}
221+
[mb log]: {{log}}
222+
[log hipri]: {{log}}#l-15
223+
[log cipherseed]: {{log}}#l-85
224+
[log core hd]: {{log}}#l-92
225+
[log link encryption]: {{log}}#l-149
226+
[log out desc scantxoutset]: {{log}}#l-33
227+
[log out desc bip32]: {{log}}#l-124
228+
229+
[docs repo]: https://github.com/bitcoin-core/docs
230+
231+
{% include link-to-issues.md issues="12196" %}

0 commit comments

Comments
 (0)