This week’s newsletter links to a website that tracks miner support for
taproot activation, announces a new organization funding Bitcoin
research and development, and includes our regular sections with popular
questions and answers from the Bitcoin StackExchange, announcements of
releases and release candidates, and notable changes to popular Bitcoin
infrastructure software.
Action items
None this week.
News
-
● Website listing miner support for taproot activation: Bitcoin
mining pool Poolin has created a website
to help track miner support for activating
taproot (including schnorr signatures and tapscript). As of this writing,
all pools listed on the site—who represent more than half of the
current network hash rate—have indicated that they will support
activation. If this is reflective of the opinions of the remaining
pools, then it should be easy to accomplish the activation of taproot
after its implementation has been released and adopted by a moderate
number of users. For additional information about the creation of the
website, see Bitcoin Magazine’s article. -
● New research and development organization announced: Brink, a
new organization for “funding, education, and mentoring” of Bitcoin
contributors was announced on Twitter this week. The
organization is seeking applicants for both its fellowship
program for helping newer contributors break into
full-time Bitcoin development and its grant program for
funding established contributors. (Note: Brink was founded by Optech
contributors and received initial funding from John Pfeffer and Wences
Casares, who also provided initial funding for Optech.)
Selected Q&A from Bitcoin StackExchange
Bitcoin StackExchange is one of the first places Optech
contributors look for answers to their questions—or 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.
-
● What is fuzz testing?
Michael Folkson summarizes fuzz testing, a technique of feeding a program like
Bitcoin Core varying malformed inputs for purposes of finding bugs. -
● Adding instead of concatenating hashes in Merkle trees
Pieter Wuille breaks down a variety of issues to consider regarding the idea
of combining hashes in a merkle tree using an operation such as
addition instead of the concatenation that Bitcoin currently uses. -
● How will the migration tool from a Bitcoin Core legacy wallet to a descriptor wallet work?
Michael Folkson outlines how a tool that migrates existing legacy wallets to
descriptor wallets might work.
Releases and release candidates
New releases and release candidates for popular Bitcoin infrastructure
projects. Please consider upgrading to new releases or helping to test
release candidates.
- ● C-Lightning 0.9.2 is the release for
the next maintenance version of C-Lightning. It contains “new CLI-level
notifications, better channel state reporting, and stable plugin-hook
call ordering” in addition to other new features and bug fixes. The
release notes do warn that PSBTs generated by this
version of C-Lightning will be rejected by some older versions of
Bitcoin Core (versions 0.20.0 and earlier); this is a consequence of a
change made to the PSBT specification and Bitcoin
Core to defend against a possible fee overpayment
attack.
Notable code and documentation changes
Notable changes this week in Bitcoin Core,
C-Lightning, Eclair, LND,
Rust-Lightning, libsecp256k1,
Hardware Wallet Interface (HWI), Bitcoin Improvement Proposals
(BIPs), and Lightning BOLTs.
Note: some commits to Bitcoin Core mentioned below apply to its
development branch and so those changes will likely not be released
until version 0.22, about six months after the release of the upcoming
version 0.21.
-
● Bitcoin Core #20305 starts shifting RPC feerate units to satoshis
per vbyte (sat/vB) rather than BTC per 1,000 vbytes (BTC/kvB) by introducing a
fee_rate
parameter to thesendtoaddress
,
sendmany
,fundrawtransaction
, andwalletcreatefundedpsbt
RPCs as well as
to the experimental newsend
RPC. In addition, thebumpfee
RPCfee_rate
option is changed from BTC/kB to sat/vB. Users are warned that the latter is a
breaking API change, but it should be relatively benign. The legacyfeeRate
option in RPCsfundrawtransaction
and
walletcreatefundedpsbt
still exists for setting a feerate in BTC/kvB; it is
expected to be deprecated soon to avoid confusion.The PR also removes the
unreleased ability to pass an explicit feerate by overloading the
conf_target
andestimate_mode
parameters (see Newsletter #104),
updates the feerate error message units for these RPCs from
BTC/kB to sat/vB (and from BTC/kB to BTC/kvB elsewhere), and updates thesend
andsendtoaddress
RPC examples to aid users in creating transactions with
explicit feerates. -
● Bitcoin Core #20145 adds a
getcoins.py
script that can be used
to request testing coins from a faucet for signet. -
● Bitcoin Core #20223 removes the leading
0
from Bitcoin Core’s
version number for major releases after 0.21.0. This means Bitcoin
Core’s next release will be 0.21.0; incremental releases during the
subsequent months (perhaps including a taproot
release) will be 0.21.1 to 0.21.x; and the following major release
will be 22.0 (expected mid-2021).