Skip to content

Commit 4edf419

Browse files
committed
News62: edits for feedback (thanks everyone!)
1 parent f91f3d9 commit 4edf419

File tree

1 file changed

+26
-28
lines changed

1 file changed

+26
-28
lines changed

_posts/en/newsletters/2019-09-04-newsletter.md

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ lang: en
99
---
1010
This week's newsletter relays a security announcement for LN
1111
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.
1313

1414
{% comment %}<!-- include references.md below the fold but above any Jekyll/Liquid variables-->{% endcomment %}
1515
{% include references.md %}
@@ -20,24 +20,24 @@ notes a few changes in popular Bitcoin Infrastructure projects.
2020
to be disclosed at the end of this month affect older LN
2121
implementations. If you are using any of the following software
2222
versions, upgrading to a more recent version is [strongly
23-
recommended:][cve ln]
23+
recommended][cve ln]:
2424

2525
- C-Lightning < 0.7.1
2626
- LND < 0.7
2727
- Eclair <= 0.3
2828

2929
## News
3030

31-
- **SNICKER proposed:** Adam Gibson posted to the Bitcoin-Dev mailing
31+
- **SNICKER proposed:** Adam Gibson [posted][snicker email] to the Bitcoin-Dev mailing
3232
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:
4141

4242
1. Coinjoin output to Alice
4343

@@ -57,24 +57,18 @@ notes a few changes in popular Bitcoin Infrastructure projects.
5757
also be able to derive from Alice's public key. With the shared
5858
secret and Bob's public key, Alice is able to create a new public key
5959
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
6161
can tell the difference between the addresses, ensuring privacy for
6262
the coinjoin.
6363

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-
7064
With information about the inputs and the outputs, Alice creates a
7165
[BIP174][] Partially-Signed Bitcoin Transaction (PSBT) containing the
7266
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).
7468
This completes the proposer step in SNICKER.
7569

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
7872
anyone like Alice has sent him a proposed PSBT. If so, Bob can
7973
evaluate the PSBT to ensure it's correct, add his signature for his
8074
UTXO to finalize it, and broadcast the transaction to complete the
@@ -88,18 +82,20 @@ notes a few changes in popular Bitcoin Infrastructure projects.
8882
people via a variety of servers, selecting whichever proposal he
8983
prefers (or none at all). Either party can also spend their UTXO
9084
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
9387
SNICKER exchange server.
9488

9589
The main downside of the proposal is that it requires the proposer
9690
(Alice) know the public key of the receiver (Bob). Almost all
9791
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]
9993
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
10195
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].
10399

104100
## Notable code and documentation changes
105101

@@ -114,7 +110,7 @@ notes a few changes in popular Bitcoin Infrastructure projects.
114110
as described in [last week's newsletter][bolts608].
115111

116112
- [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
118114
arrived after a certain time or which have a different checksum than
119115
those the node has already seen.
120116

@@ -127,5 +123,7 @@ notes a few changes in popular Bitcoin Infrastructure projects.
127123
[cve ln]: https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-August/002130.html
128124
[bolts608]: /en/newsletters/2019/08/28/#bolts-608
129125
[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
131127
[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

Comments
 (0)