9
9
---
10
10
This week's newsletter relays a security announcement for LN
11
11
implementations, describes a non-interactive coinjoin proposal, and
12
- notes a few changes in popular Bitcoin Infrastructure projects.
12
+ notes a few changes in popular Bitcoin infrastructure projects.
13
13
14
14
{% comment %}<!-- include references.md below the fold but above any Jekyll/Liquid variables--> {% endcomment %}
15
15
{% include references.md %}
@@ -20,24 +20,24 @@ notes a few changes in popular Bitcoin Infrastructure projects.
20
20
to be disclosed at the end of this month affect older LN
21
21
implementations. If you are using any of the following software
22
22
versions, upgrading to a more recent version is [ strongly
23
- recommended: ] [ cve ln ]
23
+ recommended] [ cve ln ] :
24
24
25
25
- C-Lightning < 0.7.1
26
26
- LND < 0.7
27
27
- Eclair <= 0.3
28
28
29
29
## News
30
30
31
- - ** SNICKER proposed:** Adam Gibson posted to the Bitcoin-Dev mailing
31
+ - ** SNICKER proposed:** Adam Gibson [ posted] [ snicker email ] to the Bitcoin-Dev mailing
32
32
list with a [ proposal] [ snicker ] for * Simple Non-Interactive Coinjoin
33
- with Keys for Encryption Reused* (SNICKER), a two-step method for
34
- allowing wallets to create coinjoins non-interactively. In the first
35
- step---the * proposer* step--Alice's wallet uses the block chain to
36
- create a map of addresses to public keys. The wallet then checks the
37
- UTXO set to determine whether any of those addresses have a current
38
- balance smaller than the amount Alice controls. If a satisfactory
39
- UTXO is found, Alice creates a proposed coinjoin moving funds from
40
- that address's UTXO and one or more of Alice 's UTXOs to three outputs:
33
+ with Keys for Encryption Reused* (SNICKER), a method for
34
+ allowing wallets to create coinjoins non-interactively in two steps, a
35
+ * proposer step * and a * receiver step* . In the proposer step,
36
+ Alice's wallet uses the block chain and UTXO set to find UTXOs for
37
+ which she knows (or can infer) the owner's public key.
38
+ She selects one of those UTXOs whose value is less than the amount
39
+ controlled by her wallet and creates a proposed coinjoin between that
40
+ UTXO and her wallet 's UTXOs, producing three outputs:
41
41
42
42
1 . Coinjoin output to Alice
43
43
@@ -57,24 +57,18 @@ notes a few changes in popular Bitcoin Infrastructure projects.
57
57
also be able to derive from Alice's public key. With the shared
58
58
secret and Bob's public key, Alice is able to create a new public key
59
59
that only Bob can sign for. That new public key is used to create the
60
- new address for Bob's coinjoin output. Nobody besides Alice and Bob
60
+ new address for Bob's coinjoin output. No one besides Alice and Bob
61
61
can tell the difference between the addresses, ensuring privacy for
62
62
the coinjoin.
63
63
64
- {% comment %}<!-- Note: the proposal as written assumes the PSBT will
65
- be encrypted. However, I (harding) chatted with Gibson and arubi on
66
- IRC about making the PSBTs unencrypted as part of a mechanism to avoid
67
- server spam, so the text says "perhaps encrypted" below to leave open
68
- both possibilities.-->{% endcomment %}
69
-
70
64
With information about the inputs and the outputs, Alice creates a
71
65
[ BIP174] [ ] Partially-Signed Bitcoin Transaction (PSBT) containing the
72
66
signatures for her UTXO or UTXOs. She can then upload this PSBT to a
73
- public server, perhaps encrypted so that only Bob can decrypt it.
67
+ public server (and she can encrypt it so that only Bob can decrypt it) .
74
68
This completes the proposer step in SNICKER.
75
69
76
- If Bob participates in the scheme, his wallet can begin the second
77
- step ( * receiver* step) by periodically checking the server to see if
70
+ If Bob participates in the scheme, his wallet can begin the
71
+ receiver by periodically checking the server to see if
78
72
anyone like Alice has sent him a proposed PSBT. If so, Bob can
79
73
evaluate the PSBT to ensure it's correct, add his signature for his
80
74
UTXO to finalize it, and broadcast the transaction to complete the
@@ -88,18 +82,20 @@ notes a few changes in popular Bitcoin Infrastructure projects.
88
82
people via a variety of servers, selecting whichever proposal he
89
83
prefers (or none at all). Either party can also spend their UTXO
90
84
normally at any time, automatically invalidating any pending proposals
91
- without any harm done. The PSBTs can be exchanged using any medium,
92
- such as a via a simple FTP server, making it easy for anyone to host a
85
+ without any harm done. The PSBTs can be exchanged using any medium that doesn't require users identify themselves ,
86
+ such as a via a simple FTP server over Tor , making it easy for anyone to host a
93
87
SNICKER exchange server.
94
88
95
89
The main downside of the proposal is that it requires the proposer
96
90
(Alice) know the public key of the receiver (Bob). Almost all
97
91
transactions today pay an address that doesn't include a public key,
98
- although that may to change if the proposed [ taproot] [ bip-taproot ]
92
+ although that may change if the proposed [ taproot] [ bip-taproot ]
99
93
soft fork is activated and becomes widely adopted. In the meantime,
100
- the SNICKER proposal suggests using reused addresses where public keys
94
+ the SNICKER proposal suggests scanning for reused addresses where public keys
101
95
have been revealed via the block chain, or by using a public key
102
- from the input of a transaction that creates a UTXO.
96
+ from the input of a transaction that creates a UTXO. For a more
97
+ detailed overview of the proposal, see [ Gibson's blog post] [ snicker
98
+ blog] .
103
99
104
100
## Notable code and documentation changes
105
101
@@ -114,7 +110,7 @@ notes a few changes in popular Bitcoin Infrastructure projects.
114
110
as described in [ last week's newsletter] [ bolts608 ] .
115
111
116
112
- [ Eclair #899 ] [ ] implements extended queries as proposed in [ BOLTs
117
- #557 ] [ ] , allowing an LN node to only request gossip updates that
113
+ #557 ] [ ] , allowing an LN node to request only gossip updates that
118
114
arrived after a certain time or which have a different checksum than
119
115
those the node has already seen.
120
116
@@ -127,5 +123,7 @@ notes a few changes in popular Bitcoin Infrastructure projects.
127
123
[ cve ln ] : https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-August/002130.html
128
124
[ bolts608 ] : /en/newsletters/2019/08/28/#bolts-608
129
125
[ bolts ] : https://github.com/lightningnetwork/lightning-rfc/
130
- [ snicker ] : https://gist.github.com/AdamISZ/2c13fb5819bd469ca318156e2cf25d79#storage-of-keys
126
+ [ snicker ] : https://gist.github.com/AdamISZ/2c13fb5819bd469ca318156e2cf25d79
131
127
[ ecdh ] : https://en.wikipedia.org/wiki/Elliptic_curve_Diffie-Hellman
128
+ [ snicker email ] : https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-September/017283.html
129
+ [ snicker blog ] : https://joinmarket.me/blog/blog/snicker/
0 commit comments