Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Newsletters: add 85 (2020-02-19) #346

Merged
merged 3 commits into from Feb 19, 2020

Conversation

harding
Copy link
Contributor

@harding harding commented Feb 17, 2020

Copy link
Collaborator

@jonatack jonatack left a comment

Wow -- great work @harding.

- **Help test C-Lightning 0.8.1rc3:** this [release candidate][cl 0.8.1] adds
several new features (including those described in the *notable
changes* section below) and provides multiple bug fixes. Experienced
users are encouraged to help test.
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe s/help test/test it/

developers who preferred to remain anonymous (so we'll call them Anon)
wrote a [criticism][anon reflowed] of taproot as compared to
alternative approaches that enable [MAST][topic mast] and [schnorr
signatures][topic schnorr signatures] in Bitcoin. Anon concludes
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first and last sentences of this taproot-Anon section are written in past tense whereas the rest of the section is in present tense. I think it works but a consistent tense may be preferable. The past tense makes sense but is a bit heavier to read; the present tense is dynamic/punchier.

Copy link
Contributor Author

@harding harding Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think there's anything I can do about the predicate in the opening sentence (though I can tweak some of the auxiliary verbs and the final sentence). I'd prefer to keep the present tense for the rest of the section, as I think it helps make this 750-word "summary" a bit easier to read (as you mention, punchier).

Copy link

@ajtowns ajtowns Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could make the verbs slightly less past tense and say "have written", "has not reached a conclusion".

threshold signing (e.g. k-of-n), or adaptor signatures. Yet only
with taproot can the anonymity set also practically extend to
cases where spenders prefer to use single-sig but want the option
to fallback to using scripts if they can't generate the necessary
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/to fallback/to fall back/

single signature. If MAST and schnorr were to be done separately,
single-sig users would need to pay more to spend a UTXO than they
do now, and so it's unlikely many of them would join the
anonymity set that covers fallback script users.
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if there's a better description than "fallback script users" but I don't have a better idea.

opening a channel with you, learn one or more of your UTXOs, and then
abandon the channel setup process before signing a transaction and
paying any fees. A proposed solution to this problem is to require
channel open proposals contain a Proof of Discrete Log Equivalence
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps s/Log/Logarithm/

Copy link

@ajtowns ajtowns Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"discrete log" sounds way more normal than "discrete logarithm" to me, ymmv

binaries are no longer being distributed by the project due to a
lack of use and hands-on developer testing.

- [C-Lightning #3488][] Bitcoin backend generalization FIXME:adamjonas
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TIL about c-lightning's Optech Make Me Famous! label

Copy link
Contributor Author

@harding harding Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:-)

- [C-Lightning #3488][] Bitcoin backend generalization FIXME:adamjonas

- [C-Lightning #3500][] implements a simple solution to a problem that
could cause channels to become stuck with neither party able to sends
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/sends/send/ (or just "use it")

attachments to other hooks in the future. For the `htlc_accepted`
hook, this allows a plugin to either reject the HTLC, resolve the HTLC
(i.e. claim any payment by returning the preimage), or pass the HTLC
onto the next plugin bound to the hook.
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/onto/on to/

Copy link
Contributor Author

@harding harding Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TIL:

  • onto =~ upon
  • on to =~ to the next

Nice catch!

will be sent in the node's [BOLT1][] `init` message, the [BOLT7][]
`node_announcement` message, or the [BOLT11][] invoice's feature bits
field (field `9`). This allows a plugin to signal to other programs
its node can handle the advertised features.
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion s/its/that its/


- [C-Lightning #3477][] allows plugins to register feature flags that
will be sent in the node's [BOLT1][] `init` message, the [BOLT7][]
`node_announcement` message, or the [BOLT11][] invoice's feature bits
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

@jonatack jonatack left a comment

ACK mod a pair of additional nits; feel free to ignore

single signature. If MAST and schnorr were to be done separately,
single-sig users would need to pay more to spend a UTXO than they
do now, and so it's unlikely many of them would join the
anonymity set that covers fallback script users.
anonymity set that covers users of fallback script.
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(should script be plural here? not sure)

[3][taplearn3]).

4. {:#tap4} Anon asks, "couldn't we forego the [Nothing Up My
Sleeve] NUMS point requirement and be able to check if it's a
Copy link
Collaborator

@jonatack jonatack Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there supposed to be a url for Nothing Up My Sleeve?

Copy link
Contributor Author

@harding harding Feb 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the bracketed text is an editorial insertion. However, a link would probably be a good idea; I'll add that.

@moneyball
Copy link
Contributor

@moneyball moneyball commented Feb 17, 2020

I read through the newsletter and LGTM.

@harding
Copy link
Contributor Author

@harding harding commented Feb 18, 2020

Pushed some small edits and updates (e.g. C-Lightning released), but also a 90% rewrite of the first taproot discussion bullet point because I was very unhappy with the previous version's readability. My apologies to people who already reviewed (both for wasting your time and because you had to read that technobable). See 929808b

Copy link
Contributor

@jnewbery jnewbery left a comment

Looks good. Just a few small nits inline.

---
This week's newsletter requests help testing release candidates for
Bitcoin Core and C-Lightning, summarizes a discussion about taproot
versus implementing MAST and schnorr separately, describes new ideas for
Copy link
Contributor

@jnewbery jnewbery Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/schnorr/schnorr signatures/

as the backend. This pull request is part of a larger project to allow more
freedom for how C-Lightning interacts with the Bitcoin backend as proposed
in [C-Lightning #3354][]. Keeping the backend interactions general and
unassuming allows for plugins to either make standard RPC calls, combine
Copy link
Contributor

@jnewbery jnewbery Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think unassuming (which usually means 'modest' or 'unpretentious') is quite the right word here. I think 'general and unassuming' could be replaced with 'generic'

RPCs into more abstract methods, or even create notifications. While
`bitcoind` interaction through `bitcoin-cli` remains the default, this project
works towards opening up possibilities for mobile integration (see
[C-Lightning #3484][]) or allowing users to share a full-node like an
Copy link
Contributor

@jnewbery jnewbery Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand what's meant by "a full-node like an esplora instance". Esplora isn't a full node, or have I entirely misunderstood the meaning of the sentence?

- **BTCPay Vault using HWI for signing:** [BTCPay Vault][btcpay vault blog] is
a desktop application that uses [HWI][topic hwi] to coordinate signing
transactions with a variety of hardware wallets. While BTCPay Server created
BTCPay Vault, the software can be repuposed for use in other applications.
Copy link
Collaborator

@jonatack jonatack Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/repuposed/repurposed/


- **CKBunker using PSBTs for an HSM:** [CKBunker][coinkite bunker] allows users
to configure rule-based spending conditions for an online, Tor-enabled Coldcard
hardware wallet. The Coldcard then functions like an HSM, signing
Copy link
Collaborator

@jonatack jonatack Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps "an HSM (Hardware Security Module)"

@harding
Copy link
Contributor Author

@harding harding commented Feb 18, 2020

Pushed an edit for @jnewbery and @jonatack feedback to my sections (thanks!), and also a separate commit editing @adamjonas's bullet based on @jnewbery's feedback (hope that's ok!).

@harding
Copy link
Contributor Author

@harding harding commented Feb 18, 2020

ACK @bitschmidty's section and @adamjonas's PR summary.

Copy link
Contributor

@bitschmidty bitschmidty left a comment

@harding great one this week, thank you!

couple small suggestions

- **Upgrade to C-Lightning 0.8.1:** this [release][cl 0.8.1] adds
several new features (including those described in the *notable
changes* section below) and provides multiple bug fixes. See the
[changelog][cl changelog] for detailed list of updates.
Copy link
Contributor

@bitschmidty bitschmidty Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/for detailed list/for a detailed list

authorization pattern." Towns shows that single-sig spends
currently represent more than 57% of all transaction outputs (and
possibly much more, given the frequent use of P2SH-wrapped
P2WPKH). The number of users satisfied with single-sig will
Copy link
Contributor

@bitschmidty bitschmidty Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"users satisfied with" sounds off to me. Perhaps "transactions satisfied with" or "transactions using" or other?

Taproot eliminates that divide by allowing cheap single-sig
spends that are identical in appearance to those of users who can
use single-sig but who also have fallback scripts (though
actually using a fallback script will be identifiable onchain).
Copy link
Contributor

@bitschmidty bitschmidty Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps for clarity: s/identifiable onchain/identifiable onchain when spending

shows that taproot actually only adds about 33 bytes in the
script-path spending case, making the cost-benefit analysis
asymmetric in favor of taproot. David Harding [notes][harding
tap] that the extra cost (which translates to 8.25 vbytes) is
Copy link
Contributor

@bitschmidty bitschmidty Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/cost/size

@bitschmidty
Copy link
Contributor

@bitschmidty bitschmidty commented Feb 19, 2020

Added a small commit to clarify that c-lightning was an update and not RC and a couple smaller fixups.

Squashed.

@bitschmidty bitschmidty merged commit 6655532 into bitcoinops:master Feb 19, 2020
2 checks passed
@bitschmidty
Copy link
Contributor

@bitschmidty bitschmidty commented Feb 19, 2020

@harding thanks for authoring as always and to @adamjonas for contributing the PR along with @jonatack @jnewbery and @ajtowns for the reviews!

[3][taplearn3]).

4. {:#tap4} Anon asks, "couldn't we forego the [Nothing Up My
Sleeve]<!-- prevent link --> [NUMS][] point requirement and be able to check if it's a
Copy link
Collaborator

@jonatack jonatack Feb 19, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When viewing the newletter online, I'm seeing

Anon asks, “couldn’t we forego the [Nothing Up My Sleeve] NUMS point requirement...

is the formatting correct?

Copy link
Contributor

@jnewbery jnewbery Feb 19, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"[Nothing Up My Sleeve]" is an editorial interpolation from @harding. The original is "couldn't we forego the NUMS point requirement" so the formatting is correct.

Copy link
Collaborator

@jonatack jonatack Feb 20, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"[Nothing Up My Sleeve]" is an editorial interpolation from @harding. The original is "couldn't we forego the NUMS point requirement" so the formatting is correct.

Thanks, John!

@jnewbery
Copy link
Contributor

@jnewbery jnewbery commented Feb 19, 2020

Another great newsletter. Thanks Dave!

@jnewbery jnewbery added the newsletters label Mar 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
newsletters
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants