{"id":16333,"date":"2021-05-26T17:30:20","date_gmt":"2021-05-26T17:30:20","guid":{"rendered":"http:\/\/ci02841229d0002467"},"modified":"2021-05-26T17:30:20","modified_gmt":"2021-05-26T17:30:20","slug":"bitcoin-optech-celebrating-optech","status":"publish","type":"post","link":"https:\/\/bitcoinmagazine.com\/technical\/bitcoin-optech-celebrating-optech","title":{"rendered":"Bitcoin Optech #150: Libera.Chat And Celebrating 150 Editions"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p><em>The Bitcoin Optech newsletter provides readers with a top-level summary of the most important technical news happening in Bitcoin, along with resources that help them learn more. To help our readers stay up-to-date with Bitcoin, we&#8217;re republishing the latest issue of this newsletter below. Remember to subscribe to receive this content straight to your inbox.<\/em><\/p>\n<p>This week\u2019s newsletter announces a change of networks for several IRC channels and celebrates Optech\u2019s 150th newsletter. Also included are our regular sections with popular questions and answers from the Bitcoin Stack Exchange, new software releases and release candidates, and notable changes to popular Bitcoin infrastructure projects.<\/p>\n<h2>News<\/h2>\n<ul>\n<li>IRC channels moving to Libera.Chat: in the weekly Bitcoin Core developer meeting, it was <a href=\"http:\/\/www.erisian.com.au\/bitcoin-core-dev\/log-2021-05-20.html#l-582\" target=\"_blank\" rel=\"noopener\">decided<\/a> that the meeting on Thursday, May 27th, will be the last meeting held on the Freenode network. Bots, logging, other infrastructure, future meetings, and general discussion will be moved to #bitcoin-core-dev on the <a href=\"https:\/\/libera.chat\/\" target=\"_blank\" rel=\"noopener\">Libera.Chat<\/a> network. Actions by the Freenode administrators occurring shortly before publication of this newsletter seem to have forced the move to occur early Wednesday morning (UTC). Several other channels related to Bitcoin and LN are also moving. For help finding the current network for various channels, see the Bitcoin Wiki\u2019s <a href=\"https:\/\/en.bitcoin.it\/wiki\/IRC_channels\" target=\"_blank\" rel=\"noopener\">list of IRC channels<\/a>. If you operate a channel that\u2019s moving and don\u2019t have a Wiki account to update that list yourself, please let the editors know in #bitcoin-wiki on Libera.<\/li>\n<\/ul>\n<h2>Celebrating Optech Newsletter #150<\/h2>\n<p><em>by <\/em><a href=\"https:\/\/twitter.com\/jfnewbery\" target=\"_blank\" rel=\"noopener\"><em>John Newbery<\/em><\/a><em>, Founder, Optech<\/em><\/p>\n<p>This is the 150th regular Optech weekly newsletter that we\u2019ve written for the Bitcoin technical community. Pausing only for short breaks around the Christmas holidays, we\u2019ve published digests of the most important events in Bitcoin and Lightning development every week since June 2018.<\/p>\n<p>Optech was started with some very simple goals: to help Bitcoin businesses adopt technologies that allow Bitcoin to scale, and to highlight the amazing technical work happening in the open source Bitcoin community. Although we couldn\u2019t foresee exactly what form that would take three years ago, it\u2019s a mission that we continue to believe in, and that guides all the work we do. Since June 2018, we\u2019ve:<\/p>\n<ul>\n<li>Published 150 <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/\" target=\"_blank\" rel=\"noopener\">newsletters<\/a>, numerous <a href=\"https:\/\/bitcoinops.org\/en\/blog\/\" target=\"_blank\" rel=\"noopener\">blog posts<\/a> and field reports, a <a href=\"https:\/\/bitcoinops.org\/en\/bech32-sending-support\/\" target=\"_blank\" rel=\"noopener\">special series on bech32<\/a>, and an <a href=\"https:\/\/bitcoinops.org\/en\/schorr-taproot-workshop\/\" target=\"_blank\" rel=\"noopener\">interactive taproot workshop<\/a>. In total, we\u2019ve published around 250,000 words \u2013 enough to fill around 700 printed pages.<\/li>\n<li>Reached 4,100 email subscribers and almost 11,000 twitter followers.<\/li>\n<li>Started seeing some of our newsletters translated into <a href=\"https:\/\/bitcoinops.org\/ja\/publications\/\" target=\"_blank\" rel=\"noopener\">Japanese<\/a> and <a href=\"https:\/\/bitcoinops.org\/es\/publications\/\" target=\"_blank\" rel=\"noopener\">Spanish<\/a> by members of the community.<\/li>\n<li>Produced and maintained a <a href=\"https:\/\/bitcoinops.org\/en\/topics\/\" target=\"_blank\" rel=\"noopener\">topics index<\/a> \u2013 a single location where readers can track the evolution of Bitcoin and Lightning proposals and improvements.<\/li>\n<\/ul>\n<p>The newsletters are the work of many contributors. Foremost amongst them is <a href=\"https:\/\/dtrt.org\/\" target=\"_blank\" rel=\"noopener\">Dave Harding<\/a>, who writes the majority of our content. To say that Dave is prolific is an understatement \u2013 week after week, he produces concise, clear summaries of the enormously varied research and development happening across the Bitcoin ecosystem. We\u2019re lucky to have someone of his breadth of knowledge, dedication and humility documenting Bitcoin. The extensive body of work that he\u2019s produced for Optech and other projects is a huge asset for all present and future Bitcoiners.<\/p>\n<p>The supporting roles are filled by other Optechers. <a href=\"https:\/\/twitter.com\/bitschmidty\" target=\"_blank\" rel=\"noopener\">Mike Schmidt<\/a> writes our regular sections on Stack Exchange Q&amp;As and Notable Changes to Bitcoin Software and Infrastructure, and makes sure that the newsletter arrives in everyone\u2019s inbox on time. <a href=\"https:\/\/twitter.com\/jonatack\" target=\"_blank\" rel=\"noopener\">Jon Atack<\/a> contributes our regular summary of Bitcoin Core PR Review Club. As well as Mike and Jon, <a href=\"https:\/\/twitter.com\/carl_dong\" target=\"_blank\" rel=\"noopener\">Carl Dong<\/a>, <a href=\"https:\/\/twitter.com\/adamcjonas\" target=\"_blank\" rel=\"noopener\">Adam Jonas<\/a>, <a href=\"https:\/\/twitter.com\/murchandamus\" target=\"_blank\" rel=\"noopener\">Mark Erhardt<\/a> and I contribute occasional PR summaries and review each week\u2019s newsletter to try to ensure the content we produce is accurate and clear.<\/p>\n<p>Special thanks to <a href=\"https:\/\/github.com\/azuchi\" target=\"_blank\" rel=\"noopener\">Shigeyuki Azuchi<\/a>, who translates our newsletters into Japanese, and <a href=\"https:\/\/github.com\/AkioNak\" target=\"_blank\" rel=\"noopener\">Akio Nakamura<\/a> who has also translated and reviewed our Japanese material.<\/p>\n<p>Thanks to all the members of the Bitcoin community \u2013 too numerous to name individually \u2013 who have reviewed our newsletters, helped us understand concepts, and opened issues and PRs when we\u2019ve made mistakes.<\/p>\n<p>All of this work is made possible by our generous <a href=\"https:\/\/bitcoinops.org\/#supporters\" target=\"_blank\" rel=\"noopener\">supporters<\/a>, primarily our <a href=\"https:\/\/bitcoinops.org\/about\/#founding-sponsors\" target=\"_blank\" rel=\"noopener\">founding sponsors<\/a> &#8211; Wences Casares, John Pfeffer and Alex Morcos.<\/p>\n<p>Finally, thank you, our readers. We love being part of this community and contributing to this ecosystem. Knowing how valuable this resource is to so many people, and hearing feedback from our readers is hugely rewarding for us. If you want to contribute, or have suggestions for how we can improve, please don\u2019t hesitate to contact us at info@bitcoinops.org.<\/p>\n<h2>Selected Q&amp;A from Bitcoin Stack Exchange<\/h2>\n<p><a href=\"https:\/\/bitcoin.stackexchange.com\/\" target=\"_blank\" rel=\"noopener\"><em>Bitcoin Stack Exchange<\/em><\/a><em> is one of the first places Optech contributors look for answers to their questions\u2014or when we have a few spare moments to help curious or confused users. In this monthly feature, we highlight some of the top-voted questions and answers posted since our last update.<\/em><\/p>\n<ul>\n<li><a href=\"https:\/\/bitcoin.stackexchange.com\/a\/105831\" target=\"_blank\" rel=\"noopener\">Why are there more than two transaction outputs in a coinbase transaction?<\/a> Andrew Chow explains some common outputs in a coinbase transaction:<\/li>\n<ul>\n<li>a single miner block reward payment<\/li>\n<li>multiple payments, as with a mining pool paying miners<\/li>\n<li><a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0141.mediawiki#commitment-structure\" target=\"_blank\" rel=\"noopener\">BIP141<\/a>\u2019s OP_RETURN witness commitment<\/li>\n<li>additional OP_RETURN commitments, as in <a href=\"https:\/\/bitcoin.stackexchange.com\/questions\/273\/how-does-merged-mining-work\" target=\"_blank\" rel=\"noopener\">merge mining<\/a> and other protocols<\/li>\n<\/ul>\n<li><a href=\"https:\/\/bitcoin.stackexchange.com\/a\/105811\" target=\"_blank\" rel=\"noopener\">fundrawtransaction &#8211; what is it?<\/a> Pieter Wuille illustrates what the fundrawtransaction RPC does by providing 4 examples of how to send coins using the RPC.<\/li>\n<li><a href=\"https:\/\/bitcoin.stackexchange.com\/a\/106000\" target=\"_blank\" rel=\"noopener\">What previously existing technologies made Bitcoin possible?<\/a> Murch provides a summary, based on the <a href=\"https:\/\/queue.acm.org\/detail.cfm?id=3136559\" target=\"_blank\" rel=\"noopener\">Bitcoin\u2019s Academic Pedigree paper<\/a>, of the existing technological ingredients that were combined to create Bitcoin. These technologies are linked timestamping\/verifiable logs, byzantine fault tolerance, proof of work, digital cash, and public keys as identities.<\/li>\n<li><a href=\"https:\/\/bitcoin.stackexchange.com\/a\/105853\" target=\"_blank\" rel=\"noopener\">How can I follow the progress of miner signaling for Taproot activation?<\/a> In addition to Hampus Sj\u00f6berg\u2019s <a href=\"https:\/\/taproot.watch\/\" target=\"_blank\" rel=\"noopener\">https:\/\/taproot.watch<\/a> website, Bitcoin Core users can use getblockchaininfo to get a count of signaling blocks and getblock\u2019s versionhex field, where the signaling version bits reside, to observe signaling.<\/li>\n<\/ul>\n<h2>Releases and release candidates<\/h2>\n<p><em>New releases and release candidates for popular Bitcoin infrastructure projects. Please consider upgrading to new releases or helping to test release candidates.<\/em><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/ACINQ\/eclair\/releases\/tag\/v0.6.0\" target=\"_blank\" rel=\"noopener\">Eclair 0.6.0<\/a> is a new release that with several improvements that enhance user security and privacy. It also provides compatibility with future software that may use <a href=\"https:\/\/bitcoinops.org\/en\/topics\/taproot\/\" target=\"_blank\" rel=\"noopener\">taproot<\/a> addresses.<\/li>\n<li><a href=\"https:\/\/github.com\/lightningnetwork\/lnd\/releases\/tag\/v0.13.0-beta.rc3\" target=\"_blank\" rel=\"noopener\">LND 0.13.0-beta.rc3<\/a> is a release candidate that adds support for using a pruned Bitcoin full node, allows receiving and sending payments using Atomic MultiPath (<a href=\"https:\/\/bitcoinops.org\/en\/topics\/multipath-payments\/\" target=\"_blank\" rel=\"noopener\">AMP<\/a>), and increases its <a href=\"https:\/\/bitcoinops.org\/en\/topics\/psbt\/\" target=\"_blank\" rel=\"noopener\">PSBT<\/a> capabilities, among other improvements and bug fixes.<\/li>\n<\/ul>\n<h2>Notable code and documentation changes<\/h2>\n<p><em>Notable changes this week in <\/em><a href=\"https:\/\/github.com\/bitcoin\/bitcoin\" target=\"_blank\" rel=\"noopener\"><em>Bitcoin Core<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/ElementsProject\/lightning\" target=\"_blank\" rel=\"noopener\"><em>C-Lightning<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/ACINQ\/eclair\" target=\"_blank\" rel=\"noopener\"><em>Eclair<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/lightningnetwork\/lnd\/\" target=\"_blank\" rel=\"noopener\"><em>LND<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/rust-bitcoin\/rust-lightning\" target=\"_blank\" rel=\"noopener\"><em>Rust-Lightning<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/bitcoin-core\/secp256k1\" target=\"_blank\" rel=\"noopener\"><em>libsecp256k1<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/bitcoin-core\/HWI\" target=\"_blank\" rel=\"noopener\"><em>Hardware Wallet Interface (HWI)<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/rust-bitcoin\/rust-bitcoin\" target=\"_blank\" rel=\"noopener\"><em>Rust Bitcoin<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/btcpayserver\/btcpayserver\/\" target=\"_blank\" rel=\"noopener\"><em>BTCPay Server<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/bitcoin\/bips\/\" target=\"_blank\" rel=\"noopener\"><em>Bitcoin Improvement Proposals (BIPs)<\/em><\/a><em>, and <\/em><a href=\"https:\/\/github.com\/lightningnetwork\/lightning-rfc\/\" target=\"_blank\" rel=\"noopener\"><em>Lightning BOLTs<\/em><\/a><em>.<\/em><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/bitcoin\/bitcoin\/issues\/21843\" target=\"_blank\" rel=\"noopener\">Bitcoin Core #21843<\/a> adds a network argument to the getnodeaddresses RPC. When getnodeaddresses is called with this argument set to a supported network type (ipv4, ipv6, onion or i2p), it will only return known addresses on the specified network. When called without the network argument, getnodeaddresses will return known addresses from all networks.<\/li>\n<li><a href=\"https:\/\/github.com\/ACINQ\/eclair\/issues\/1810\" target=\"_blank\" rel=\"noopener\">Eclair #1810<\/a> makes it mandatory for peers to signal and comply with the payment_secret feature bit. The payment secrets feature thwarts <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2019\/12\/04\/#c-lightning-3259\" target=\"_blank\" rel=\"noopener\">a recipient de-anonymization attack<\/a> and provides additional protection against <a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-26896\" target=\"_blank\" rel=\"noopener\">improper image revelation<\/a>. The feature is supported across all major implementations and is mandatory for payments to <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2020\/12\/02\/#lnd-4752\" target=\"_blank\" rel=\"noopener\">LND<\/a> and <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2021\/05\/05\/#rust-lightning-893\" target=\"_blank\" rel=\"noopener\">Rust-Lightning<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/ACINQ\/eclair\/issues\/1774\" target=\"_blank\" rel=\"noopener\">Eclair #1774<\/a> extends Java\u2019s built-in SecureRandom() <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cryptographically-secure_pseudorandom_number_generator\" target=\"_blank\" rel=\"noopener\">CSPRNG<\/a> function with a secondary source of weaker randomness. The weaker randomness is hashed and the hash digest xored with the primary randomness so that, even if SecureRandom() produces predictable results due to some bug discovered in the future, there\u2019s a chance Eclair will continue to have enough entropy so that its cryptographic operations remain unexploitable.<\/li>\n<li><a href=\"https:\/\/github.com\/bitcoin\/bips\/issues\/1089\" target=\"_blank\" rel=\"noopener\">BIPs #1089<\/a> assigns <a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0087.mediawiki\" target=\"_blank\" rel=\"noopener\">BIP87<\/a> to a proposal previously <a href=\"https:\/\/lists.linuxfoundation.org\/pipermail\/bitcoin-dev\/2021-March\/018630.html\" target=\"_blank\" rel=\"noopener\">discussed on the mailing list<\/a> for creating a standardized set of <a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0032.mediawiki\" target=\"_blank\" rel=\"noopener\">BIP32<\/a> paths for multisig wallets regardless of their multisig parameters, what address type they use, or other script-level details. Instead, users of the proposed standard store those details in an <a href=\"https:\/\/bitcoinops.org\/en\/topics\/output-script-descriptors\/\" target=\"_blank\" rel=\"noopener\">output script descriptor<\/a>. This eliminates the need for wallets to implement multiple different standards for slight variations on multisig (e.g. <a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0045.mediawiki\" target=\"_blank\" rel=\"noopener\">BIP45<\/a> and the m\/48&#8242; standard) or create new standards for things that can be handled by descriptors. Although using a descriptor rather than a standardized script does mean more data needs to be backed up, the actual difference is small\u2014most of the data in a typical multisig descriptor will be the extended public keys (xpubs) that need to be backed up by each party to a multisig anyway, so the additional information about the script template and the descriptor\u2019s checksum only add a small amount of overhead by comparison.<\/li>\n<li><a href=\"https:\/\/github.com\/bitcoin\/bips\/issues\/1025\" target=\"_blank\" rel=\"noopener\">BIPs #1025<\/a> assigns <a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0088.mediawiki\" target=\"_blank\" rel=\"noopener\">BIP88<\/a> to the standardized format described in <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2020\/07\/08\/#proposed-bip-for-bip32-path-templates\" target=\"_blank\" rel=\"noopener\">Newsletter #105<\/a> for describing what BIP32 key derivation paths a wallet should support. Path templates provide a compact way for the user to specify which paths they want to use. The compactness of path templates makes it easy to back up the template along with the seed, helping prevent users from losing funds. An additional feature of the proposed path templates is the ability to describe derivation limits (e.g. that a wallet should derive no more than 50,000 keys in a particular path), which can make it practical for a recovery procedure to scan for bitcoins received to all possible wallet keys, eliminating concerns about gap limits in HD wallets.<\/li>\n<li><a href=\"https:\/\/github.com\/bitcoin\/bips\/issues\/1097\" target=\"_blank\" rel=\"noopener\">BIPs #1097<\/a> assigns <a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0129.mediawiki\" target=\"_blank\" rel=\"noopener\">BIP129<\/a> to the Bitcoin Secure Multisig Setup (BSMS) described in <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2021\/02\/17\/#securely-setting-up-multisig-wallets\" target=\"_blank\" rel=\"noopener\">Newsletter #136<\/a>, which explains how wallets, particularly hardware signing devices, can securely exchange the information necessary to become signers for a multisig wallet. The information that needs to be exchanged includes the script template to use (e.g. P2WSH with 2-of-3 keys required to sign) and each signer\u2019s <a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0032.mediawiki\" target=\"_blank\" rel=\"noopener\">BIP32<\/a> extended public key (xpub) at the key path it plans to use for signing. The protocol uses a coordinator to collect the required information and create an output script descriptor, which the individual signers then verify to ensure it properly includes their key.<\/li>\n<\/ul>\n<p>Find the <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2021\/05\/26\/\" target=\"_blank\" rel=\"noopener\">original post here.<\/a> <\/p>\n<p>Please <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/\" target=\"_blank\" rel=\"noopener\">subscribe to the Bitcoin Optech newsletter<\/a> directly to receive this content straight to your inbox every month.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week\u2019s newsletter features a letter from John Newbery, founder of Bitcoin Optech, information about IRC channel updates and more.<\/p>\n","protected":false},"author":3246,"featured_media":10844,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[2887,3008,3009],"class_list":["post-16333","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technical","tag-bitcoin-optech","tag-irc","tag-john-newbery"],"author_data":{"id":3246,"name":"Bitcoin Optech","nicename":"bitcoin-optech","avatar_url":"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2024\/12\/optech-notext-96x96.png"},"featured_image_url":"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2024\/11\/cybersecurity-firm-reports-all-fortune-500-companies-exposed-on-the-dark-web.jpg","_links":{"self":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts\/16333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/users\/3246"}],"replies":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/comments?post=16333"}],"version-history":[{"count":0,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts\/16333\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/media\/10844"}],"wp:attachment":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/media?parent=16333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/categories?post=16333"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/tags?post=16333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}