|
| 1 | +--- |
| 2 | +title: 'Bitcoin Optech Newsletter #153' |
| 3 | +permalink: /en/newsletters/2021/06/16/ |
| 4 | +name: 2021-06-16-newsletter |
| 5 | +slug: 2021-06-16-newsletter |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: en |
| 9 | +--- |
| 10 | +This week's newsletter celebrates the lock-in of the taproot soft fork, |
| 11 | +describes a draft BIP for improving transaction |
| 12 | +privacy by varying the fields used to implement anti fee sniping, and |
| 13 | +features an article about the challenges of combining transaction |
| 14 | +replacement with payment batching. Also included are our regular |
| 15 | +sections with announcements of new software releases and release |
| 16 | +candidates, plus notable changes to popular Bitcoin infrastructure |
| 17 | +software. |
| 18 | + |
| 19 | +## News |
| 20 | + |
| 21 | +- **🟩 Taproot locked in:** the [taproot][topic taproot] soft fork and |
| 22 | + related changes specified in BIPs [340][bip340], [341][bip341], and |
| 23 | + [342][bip342] were locked in by signaling miners last weekend. |
| 24 | + Taproot will be safe to use after block 709,632, which is expected in |
| 25 | + early or mid November. The delay gives time for users to upgrade |
| 26 | + their nodes to a release (such as Bitcoin Core 0.21.1 or later) that will |
| 27 | + enforce taproot's rules, ensuring that funds received to taproot |
| 28 | + scripts after block 709,632 are safe even if there's a problem with |
| 29 | + miners. |
| 30 | + |
| 31 | + Developers are encouraged to start [implementing taproot][taproot |
| 32 | + uses] so they can |
| 33 | + be ready to take advantage of greater efficiency, privacy, and |
| 34 | + fungibility as soon as the activation is complete. |
| 35 | + |
| 36 | + Readers celebrating the lock-in of taproot may also wish to read a |
| 37 | + [short thread][wuille taproot] about taproot's origins and history by |
| 38 | + developer Pieter Wuille. |
| 39 | + |
| 40 | +- **BIP proposed for wallets to set nSequence by default on taproot transactions:** |
| 41 | + Chris Belcher [posted][belcher post] a draft BIP to the Bitcoin-Dev |
| 42 | + mailing list suggesting an alternative way wallets can implement [anti |
| 43 | + fee sniping][topic fee sniping]. The alternative method would enhance |
| 44 | + the privacy and fungibility of transactions made by single-sig users, |
| 45 | + [multisignature][topic multisignature] users, and users of certain |
| 46 | + contract protocols such as taproot-enabled LN or advanced |
| 47 | + [coinswaps][topic coinswap]. |
| 48 | + |
| 49 | + Anti fee sniping is a technique some wallets implement to discourage |
| 50 | + miners from trying to steal fees from each other in a way that would |
| 51 | + reduce the amount of proof of work expended on securing Bitcoin and |
| 52 | + limit users' ability to rely on confirmation scores. All wallets |
| 53 | + that implement anti fee sniping today use nLockTime height locks, |
| 54 | + but it's also possible to implement the same protection using |
| 55 | + [BIP68][] nSequence height locks. This wouldn't be any more |
| 56 | + effective at preventing fee sniping, but it would provide a good |
| 57 | + reason for regular wallets to set their nSequence values to the same |
| 58 | + values that are required for transactions in certain |
| 59 | + multisignature-based contract protocols, such as ideas for coinswaps |
| 60 | + and taproot-enabled LN. This helps make regular wallet transactions |
| 61 | + look like contract protocol transactions and vice versa. |
| 62 | + |
| 63 | + Belcher's proposal suggests wallets randomly choose between using |
| 64 | + either nLockTime or nSequence with 50% probability when both options |
| 65 | + are available. Overall, if the proposal is implemented, it will |
| 66 | + allow users of regular single-sig transactions or uncomplicated |
| 67 | + multisignatures to join together with users of contract protocols to |
| 68 | + mutually improve each others' privacy and fungibility. |
| 69 | + |
| 70 | +## FIXME:article |
| 71 | + |
| 72 | +FIXME:harding to rebase on #582 on Tuesday |
| 73 | + |
| 74 | +## Releases and release candidates |
| 75 | + |
| 76 | +*New releases and release candidates for popular Bitcoin infrastructure |
| 77 | +projects. Please consider upgrading to new releases or helping to test |
| 78 | +release candidates.* |
| 79 | + |
| 80 | +- [Rust Bitcoin 0.26.2][] is the project's latest minor release. |
| 81 | + Compared to the previous major version, it contains a several API |
| 82 | + improvements and bug fixes. See the [changelog][rb changelog] for |
| 83 | + details. |
| 84 | + |
| 85 | +- [Rust-Lightning 0.0.98][] is a minor release containing several |
| 86 | + improvements and bug fixes. <!-- there's no release notes or |
| 87 | + changelog I can see, so not much to say here. --> |
| 88 | + |
| 89 | +- [LND 0.13.0-beta.rc5][LND 0.13.0-beta] is a release candidate that |
| 90 | + adds support for using a pruned Bitcoin full node, allows receiving |
| 91 | + and sending payments using Atomic MultiPath ([AMP][topic multipath payments]), |
| 92 | + and increases its [PSBT][topic psbt] capabilities, among other improvements |
| 93 | + and bug fixes. |
| 94 | + |
| 95 | +## Notable code and documentation changes |
| 96 | + |
| 97 | +*Notable changes this week in [Bitcoin Core][bitcoin core repo], |
| 98 | +[C-Lightning][c-lightning repo], [Eclair][eclair repo], [LND][lnd repo], |
| 99 | +[Rust-Lightning][rust-lightning repo], [libsecp256k1][libsecp256k1 |
| 100 | +repo], [Hardware Wallet Interface (HWI)][hwi repo], |
| 101 | +[Rust Bitcoin][rust bitcoin repo], [BTCPay Server][btcpay server repo], |
| 102 | +[Bitcoin Improvement Proposals (BIPs)][bips repo], and [Lightning |
| 103 | +BOLTs][bolts repo].* |
| 104 | + |
| 105 | +- [Bitcoin Core GUI #4][] UI external signer support (e.g. hardware wallet) FIXME:dongcarl |
| 106 | + |
| 107 | +- [Bitcoin Core #21573][] updates the version of libsecp256k1 included |
| 108 | + in Bitcoin Core. The most notable change is the use of the |
| 109 | + optimized modular inverse code described in Newsletters [#136][news136 |
| 110 | + safegcd] and [#146][news146 safegcd]. Performance evaluations posted |
| 111 | + to the PR found it accelerated old block verification by about 10%. |
| 112 | + |
| 113 | +- [C-Lightning #4591][] bech32m support FIXME: Xekyo |
| 114 | + |
| 115 | +{% include references.md %} |
| 116 | +{% include linkers/issues.md issues="4,21573,4591" %} |
| 117 | +[Rust Bitcoin 0.26.2]: https://github.com/rust-bitcoin/rust-bitcoin/releases/tag/0.26.2 |
| 118 | +[Rust-Lightning 0.0.98]: https://github.com/rust-bitcoin/rust-lightning/releases/tag/v0.0.98 |
| 119 | +[LND 0.13.0-beta]: https://github.com/lightningnetwork/lnd/releases/tag/v0.13.0-beta.rc5 |
| 120 | +[belcher post]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-June/019048.html |
| 121 | +[news136 safegcd]: /en/newsletters/2021/02/17/#faster-signature-operations |
| 122 | +[news146 safegcd]: /en/newsletters/2021/04/28/#libsecp256k1-906 |
| 123 | +[taproot uses]: https://en.bitcoin.it/wiki/Taproot_Uses |
| 124 | +[wuille taproot]: https://twitter.com/pwuille/status/1403725170993336322 |
| 125 | +[rb changelog]: https://github.com/rust-bitcoin/rust-bitcoin/blob/master/CHANGELOG.md#0262---2021-06-08 |
0 commit comments