@@ -143,33 +143,83 @@ Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo],
143143[ Lightning BLIPs] [ blips repo ] , [ Bitcoin Inquisition] [ bitcoin inquisition
144144repo] , and [ BINANAs] [ binana repo ] ._
145145
146- - [ Bitcoin Core #29575 ] [ ] net_processing: make any misbehavior trigger immediate discouragement
147-
148- - [ Bitcoin Core #28984 ] [ ] Cluster size 2 package rbf
149-
150- - [ Core Lightning #7388 ] [ ] no longer allow creation of old
151- (experimental-only!) non-zero-fee anchor channels. [ ...] We still
152- support existing ones, though we were the only implementation which
153- ever did, and only in experimental mode, so we should be able to
154- upgrade them and avoid a forced close, with a bit of engineering...
155-
156- Harding notes: there's a lot of updates in this PR. I think we've
157- discussed most of them in the past, so a quick mention for them is
158- fine but what I think is really worth announcing in this item are the
159- changes in commit
160- https://github.com/ElementsProject/lightning/pull/7388/commits/27a846a133832b6629231440b72f085c096e28d5
161-
162- - [ LND #8734 ] [ ] routing: cancelable payment loop
163-
164- - [ LDK #3127 ] [ ] Implement non-strict forwarding
165-
166- - [ Rust Bitcoin #2794 ] [ ]
167-
168- - [ BDK #1395 ] [ ] Remove ` rand ` dependency from ` bdk `
169-
170- - [ BIPs #1620 ] [ ] and [ #1622 ] [ bips #1622 ] BIP-352: handle invalid privkey / pubkey sums for sending / scanning, add changelog / BIP-352: generate ` input_hash ` after summing up keys (simplification)
171-
172- - [ BOLTs #869 ] [ ] BOLT 2: quiescence protocol (feature 34/35) option_quiesce
146+ - [ Bitcoin Core #29575 ] [ ] simplifies the peer misbehavior scoring system to only
147+ use two increments: 100 points (results in immediate disconnection and
148+ discouragement) and 0 points (allowed behavior). Most types of misbehaviors
149+ are avoidable and have been bumped to a score of 100, while two
150+ behaviors that honest and correctly functioning nodes might perform
151+ under certain circumstances have been reduced to 0. This PR also
152+ removes the heuristic that only considers P2P ` headers ` messages
153+ containing a maximum of eight block headers as a possible [ BIP130] [ ]
154+ announcement of a new block. Bitcoin Core now treats all ` headers `
155+ messages that don't connect to a block tree known by the node as
156+ potential new block announcements and requests any missing blocks.
157+
158+ - [ Bitcoin Core #28984 ] [ ] adds support for a limited version of
159+ [ replace-by-fee] [ topic rbf ] for [ packages] [ topic package relay ]
160+ with clusters of size two (one parent, one child), including
161+ Topologically Restricted Until Confirmation ([ TRUC] [ topic v3 transaction
162+ relay] ) transactions (aka v3 transactions). These clusters can only replace an
163+ existing cluster of the same size or smaller. See [ Newsletter #296 ] [ news296
164+ packagerbf] for related context.
165+
166+ - [ Core Lightning #7388 ] [ ] removes the ability to create non-zero-fee
167+ [ anchor-style] [ topic anchor outputs ] channels to conform to changes in
168+ the BOLT specification made in 2021 (see [ Newsletter #165 ] [ news165
169+ anchors] ), while maintaining support for existing channels. Core
170+ Lightning was the only implementation fully add this, and only in
171+ experimental mode, before it was discovered to be insecure (see
172+ [ Newsletter #115 ] [ news115 anchors ] ) and replaced with zero-fee anchor
173+ channels. Other updates include rejecting ` encrypted_recipient_data `
174+ containing both ` scid ` and ` node ` , parsing LaTeX formatting added to
175+ the onion specification,
176+ and other BOLT specification changes mentioned in Newsletters [ #259 ] [ news259
177+ bolts] and [ #305 ] [ news305 bolts ] .
178+
179+ - [ LND #8734 ] [ ] improves the payment route estimation abort process when a user
180+ interrupts the ` lncli estimateroutefee ` RPC command by making the payment loop
181+ aware of the client's streaming context. Previously, interrupting this command
182+ would cause the server to continue [ payment probing] [ topic payment probes ]
183+ routes unnecessarily. See Newsletter [ #293 ] [ news293 routefee ] for a previous
184+ reference to this command.
185+
186+ - [ LDK #3127 ] [ ] implements non-strict forwarding to improve payment reliability,
187+ as specified in [ BOLT4] [ ] , allowing [ HTLCs] [ topic htlc ] to be forwarded to a
188+ peer through channels other than the one specified by ` short_channel_id ` in
189+ the onion message. Channels with the least amount of outbound liquidity that
190+ can pass the HTLC are selected to maximize the probability of success for
191+ subsequent HTLCs.
192+
193+ - [ Rust Bitcoin #2794 ] [ ] implements the enforcement of the redeem script size
194+ limit of 520 bytes for P2SH and of the witness script size limit of 10,000
195+ bytes for P2WSH by adding fallible constructors to ` ScriptHash ` and
196+ ` WScriptHash ` .
197+
198+ - [ BDK #1395 ] [ ] removes the ` rand ` dependency in both explicit and implicit
199+ usage, replacing it with ` rand-core ` to simplify dependencies, avoid the added
200+ complexity of ` thread_rng ` and ` getrandom ` , and provide greater flexibility by
201+ allowing users to pass their own Random Number Generators (RNGs).
202+
203+ - [ BIPs #1620 ] [ ] and [ BIPs #1622 ] [ ] add changes to [ BIP352] [ ]
204+ specification of [ silent payments] [ topic silent payments ] .
205+ Discussions in the PR implementing silent payments in the ` secp256k1 ` library
206+ recommend adding corner-case handling to [ BIP352] [ ] , specifically to handle
207+ invalid private/public key sums for sending and scanning: fail if private key
208+ sum is zero (for sender), and fail if public key sum is point at infinity (for
209+ receiver). In #1622 , BIP352 is changed to calculate ` input_hash `
210+ after key aggregation, not before, to reduce redundancy and make the process
211+ clearer for both sender and receiver.
212+
213+ - [ BOLTs #869 ] [ ] introduces a new channel quiescence protocol on BOLT2, which
214+ aims to make [ protocol upgrades] [ topic channel commitment upgrades ]
215+ and major changes to payment channels safer and
216+ more efficient by ensuring a stable channel state during the process. The
217+ protocol introduces a new message type, ` stfu ` (SomeThing Fundamental is
218+ Underway), which can only be sent if the ` option_quiesce ` has been negotiated.
219+ Upon sending ` stfu ` , the sender stops all update messages. The receiver should
220+ then stop sending updates and respond with ` stfu ` if possible, so that the
221+ channel becomes completely quiescent. See Newsletters [ #152 ] [ news152
222+ quiescence] and [ #262 ] [ news262 quiescence ] .
173223
174224{% assign four_days_after_posting = page.date | date: "%s" | plus: 345600 | date: "%Y-%m-%d 14:30" %}
175225{% include snippets/recap-ad.md when=four_days_after_posting %}
@@ -179,3 +229,11 @@ repo], and [BINANAs][binana repo]._
179229[ pickhardt feasible1 ] : https://delvingbitcoin.org/t/estimating-likelihood-for-lightning-payments-to-be-in-feasible/973
180230[ pickhardt feasible2 ] : https://delvingbitcoin.org/t/estimating-likelihood-for-lightning-payments-to-be-in-feasible/973/4
181231[ lnd v0.18.1-beta ] : https://github.com/lightningnetwork/lnd/releases/tag/v0.18.1-beta
232+ [ news296 packagerbf ] : /en/newsletters/2024/04/03/#bitcoin-core-29242
233+ [ news259 bolts ] : /en/newsletters/2024/05/31/#bolts-1092
234+ [ news305 bolts ] :/en/newsletters/2023/07/12/#ln-specification-clean-up-proposed
235+ [ news293 routefee ] : /en/newsletters/2024/03/13/#lnd-8136
236+ [ news152 quiescence ] : /en/newsletters/2021/06/09/#c-lightning-4532
237+ [ news262 quiescence ] :/en/newsletters/2023/08/02/#eclair-2680
238+ [ news115 anchors ] : /en/newsletters/2020/09/16/#stealing-onchain-fees-from-ln-htlcs
239+ [ news165 anchors ] : /en/newsletters/2021/09/08/#bolts-824
0 commit comments