|
| 1 | +--- |
| 2 | +title: "Bitcoin Optech Newsletter #21" |
| 3 | +permalink: /en/newsletters/2018/11/13/ |
| 4 | +name: 2018-11-13-newsletter |
| 5 | +type: newsletter |
| 6 | +layout: newsletter |
| 7 | +lang: en |
| 8 | +--- |
| 9 | +This week's newsletter summarizes a few discussions on the Lightning-Dev |
| 10 | +mailing list and suggests an opportunity to develop a new tool some |
| 11 | +users would find helpful. Several notable code changes in popular |
| 12 | +Bitcoin infrastructure projects are also described. |
| 13 | + |
| 14 | +## Action items |
| 15 | + |
| 16 | +None this week. |
| 17 | + |
| 18 | +## News |
| 19 | + |
| 20 | +- **LN developer summit and mailing list activity:** before, during, and |
| 21 | + after a planned meeting among Lightning Network protocol developers, |
| 22 | + the [Lightning-Dev mailing list][] saw a surge of new proposals and |
| 23 | + discussion about earlier proposals. Below are some highlights: |
| 24 | + |
| 25 | + - **Advertising node liquidity:** Lisa Neigut [proposes][neigut |
| 26 | + liquidity] allowing LN nodes advertise that they're willing to |
| 27 | + provide incoming capacity in exchange for a certain level of fees. |
| 28 | + Merchants need their payment channels to have incoming capacity in |
| 29 | + order to be able receive secure offchain payments from |
| 30 | + customers---the current alternatives are either requiring some of |
| 31 | + their customers to wait for several onchain confirmations to open |
| 32 | + a new channel or making manual channel liquidity arrangements with |
| 33 | + other merchants. Although solving this problem would be highly |
| 34 | + advantageous for merchant adoption of LN, it does pose some |
| 35 | + technical challenges that discussion participants attempt to solve |
| 36 | + both in this thread and in a [related thread][zmn liquidity]. |
| 37 | + |
| 38 | + - **Making path probing more convenient:** Anthony Towns |
| 39 | + [proposes][probe cancel] a method for allowing all the nodes along |
| 40 | + a path to forget about a small-value payment if one of the nodes |
| 41 | + on the path is offline. This reduces the resources required in |
| 42 | + the case of a routing failure by a node that proactively probes |
| 43 | + its available payment paths to determine which are the fastest and |
| 44 | + most reliable for sending payments. |
| 45 | + |
| 46 | +- **Opportunity available for providing utility functions outside of |
| 47 | + Bitcoin Core:** Bitcoin Core's RPC interface currently provides over |
| 48 | + 100 methods and there are often proposals to add even more for utility |
| 49 | + functions that don't require access to the internal state of the node |
| 50 | + or wallet. During last week's developer IRC [meeting][core dev |
| 51 | + meeting], members of the project reaffirmed their commitment to not |
| 52 | + provide any new utility functions for things that can just as easily |
| 53 | + be done outside Bitcoin Core and that are unrelated to normal user |
| 54 | + workflows. This will help keep the project focused on its main |
| 55 | + objectives. |
| 56 | + |
| 57 | + This does provide a nice opportunity for an independent developer or |
| 58 | + other third-party to create a separate project for a library, local |
| 59 | + program, or RPC interface that provides a stable interface to |
| 60 | + utility functions that work well in conjunction with Bitcoin Core, |
| 61 | + and which perhaps even provides some of the utility functions that |
| 62 | + Bitcoin Core already supports for users not running a node. Some |
| 63 | + ideas for how to implement such a tool were discussed both during |
| 64 | + and [after][core dev log] the meeting. |
| 65 | + |
| 66 | +## Notable code changes |
| 67 | + |
| 68 | +*Notable code changes this week in [Bitcoin Core][core commits], |
| 69 | +[LND][lnd commits], [C-lightning][cl commits], and [libsecp256k1][secp |
| 70 | +commits].* |
| 71 | + |
| 72 | +{% include linkers/github-log.md |
| 73 | + refname="core commits" |
| 74 | + repo="bitcoin/bitcoin" |
| 75 | + start="742ee213499194f97e59dae4971f1474ae7d57ad" |
| 76 | + end="e70a19e7132dac91b7948fcbfac086f86fec3d88" |
| 77 | +%} |
| 78 | +{% include linkers/github-log.md |
| 79 | + refname="lnd commits" |
| 80 | + repo="lightningnetwork/lnd" |
| 81 | + start="6b19df162a161079ab794162b45e8f4c7bb8beec" |
| 82 | + end="d4b042dc1946ece8b60d538ade8e912f035612fe" |
| 83 | +%} |
| 84 | +{% include linkers/github-log.md |
| 85 | + refname="cl commits" |
| 86 | + repo="ElementsProject/lightning" |
| 87 | + start="d5bb536ef0c08a813f767b3fb016eb20292de4dd" |
| 88 | + end="62e6a9ff542e40364b67a7aa419e33ed72b96a42" |
| 89 | +%} |
| 90 | +{% include linkers/github-log.md |
| 91 | + refname="secp commits" |
| 92 | + repo="bitcoin-core/secp256k1" |
| 93 | + start="1086fda4c1975d0cad8d3cad96794a64ec12dca4" |
| 94 | + end="1086fda4c1975d0cad8d3cad96794a64ec12dca4" |
| 95 | +%} |
| 96 | + |
| 97 | +- [Bitcoin Core #14410][] adds an `ischange` field to the |
| 98 | + [getaddressinfo][rpc getaddressinfo] RPC indicating whether the wallet |
| 99 | + used the address in a change output. |
| 100 | + |
| 101 | +- [Bitcoin Core #14060][] makes configurable the maximum number of |
| 102 | + messages the [ZeroMQ][] (ZMQ) interface will queue for a client. The |
| 103 | + default High-Water Mark (HWM) allows up to 1,000 messages to be queued |
| 104 | + before some messages are dropped. A new HWM may be chosen by setting |
| 105 | + one of the following configuration options to the desired maximum |
| 106 | + number of queued messages (or the maximum queue size may be made |
| 107 | + unlimited by setting it to `0`): `zmqpubhashtxhwm`, |
| 108 | + `zmqpubhashblockhwm`, `zmqpubrawblockhwm`, and `zmqpubrawtxhwm`. |
| 109 | + The greater the queue size, the more memory the program will use. |
| 110 | + |
| 111 | +- [LND #1782][] adds a `num_inactive_channels` field to the `getinfo` RPC |
| 112 | + with the number of the node's inactive channels (similar to the |
| 113 | + existing counts of pending and active channels). |
| 114 | + |
| 115 | +- [LND #1944][] adds a `pub_key` field to the `sendtoroute` RPC so that |
| 116 | + LND doesn't need to get the pubkey from an external source. This |
| 117 | + allows routing payments through private channels that are not listed |
| 118 | + on the public network. |
| 119 | + |
| 120 | +{% include references.md %} |
| 121 | +{% include linkers/issues.md issues="14410,14060,1782,1944" %} |
| 122 | + |
| 123 | +[lightning-dev mailing list]: https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev |
| 124 | +[neigut liquidity]: https://lists.linuxfoundation.org/pipermail/lightning-dev/2018-November/001532.html |
| 125 | +[zmn liquidity]: https://lists.linuxfoundation.org/pipermail/lightning-dev/2018-November/001555.html |
| 126 | +[walletless opens]: https://lists.linuxfoundation.org/pipermail/lightning-dev/2018-November/001539.html |
| 127 | +[eltoo protocol]: https://blockstream.com/eltoo.pdf |
| 128 | +[probe cancel]: https://lists.linuxfoundation.org/pipermail/lightning-dev/2018-November/001554.html |
| 129 | +[core dev meeting]: http://www.erisian.com.au/meetbot/bitcoin-core-dev/2018/bitcoin-core-dev.2018-11-08-19.00.log.html#l-49 |
| 130 | +[core dev log]: http://www.erisian.com.au/bitcoin-core-dev/log-2018-11-08.html#l-668 |
| 131 | +[zeromq]: http://zeromq.org/ |
0 commit comments