Topics
Alphabetically | By date | By category
December 2024
- Anchor outputs
- Covenants
- Offers
- Responsible disclosures
- Channel commitment upgrades
- LND #8270 implements the channel quiescence protocol designed in part for channel upgrades π
- Channel factories
- Channel factories may make more payments feasible and reduce the rate of channel depletion π
- Consensus cleanup soft fork
- Discussion about fixing Murch-Zawy time warp and duplicate transactions in consensus cleanup π
- Duplicate transactions
- Discussion about fixing remaining duplicate transaction vulnerabilities in consensus cleanup fork π
- Fee sourcing
- Vulnerability allowing theft from LN channels using variable endogenous fees π
- HTLC endorsement
- LND #8390 introduces support for setting and relaying an experimental HTLC endorsement π
- OP_CHECKSIGFROMSTACK
- BIP348 merged with specification of OP_CSFS π
- Output script descriptors
- Bitcoin Core #30708 adds
getdescriptoractivity
RPC command π
- Bitcoin Core #30708 adds
- Splicing
- LND #8270 implements the channel quiescence protocol designed in part for splicing π
- Time warp
- Discussion about fixing Murch-Zawy time warp in consensus cleanup π
- Timelocks
- Discussion about the impact of time warp attacks on timelocks π
- Trampoline payments
- LDK #3446 adds support for including a trampoline payment flag in a BOLT12 invoice π
November 2024
- Basic Bitcoin Lisp Language (bll)
- Channel factories
- Ephemeral anchors
- OP_CAT
- Timeout trees
- Cluster mempool
- Bitcoin Core #31122 allows computing the effect of a set of changes on the state of the mempool π
- Covenants
- Idea to add covenants to Bitcoin without consensus changes using hash grinding π
- Discrete log equivalency (DLEQ)
- Draft BIP for DLEQ proofs π
- Dual funding
- LDK #3137 adds support for accepting peer-initiated dual-funded channels π
- Duplex micropayment channels
- SuperScalar timeout tree channel factories using duplex micropayment channels π
- Eltoo
- Post and website examining LN-Symmetry testing on the default signet π
- LN-Penalty
- Superscalar: a timeout tree channel factory proposal with leaves using LN-Penalty π
- Multipath payments
- Core Lightning #7799 introduces the
xpay
plugin to send optimal multipath payments π
- Core Lightning #7799 introduces the
- Offers
- Core Lightning #7833 enables the offers protocol by default π
- OP_CHECKTEMPLATEVERIFY
- Post and website examining
OP_CHECKTEMPLATEVERIFY
testing on the default signet π
- Post and website examining
- Replace-by-fee (RBF)
- Bitcoin Core #30592 removes the
mempoolfullrbf
setting π
- Bitcoin Core #30592 removes the
- SIGHASH_ANYPREVOUT
- Post and website examining
SIGHASH_ANYPREVOUT
testing on the default signet π
- Post and website examining
- Signet
- Post and website examining soft fork testing on the default signet π
- Silent payments
- Draft BIP for DLEQ proofs to support multiple signing with silent payments π
- Simplicity
- Flexible coin earmarks probably compatible with Simplicity π
- Splicing
- Core Lightning #7719 achieves interoperability with Eclair for splicing π
- Statechains
- Spark statechain-like protocol announced π
- Taproot
- Core Lightning #7800 sets P2TR as the default script for anchor output spends and unilateral closes π
- Uneconomical outputs
- Bitcoin Core PR Review Club about exempting ephemeral anchors from the dust limit π
October 2024
- Pooled mining
- Version 3 transaction relay
- Channel announcements
- Ephemeral anchors
- Liquidity advertisements
- Responsible disclosures
- Splicing
- Adaptor signatures
- LN developer discussion of variations of signature adaptors for adding PTLC support π
- Ark
- Implementation of Ark demonstrated on mainnet π
- Client-side validation
- LND #8960 adds custom channel functionality for taproot assets π
- Compact block relay
- CVE-2024-35202 remote crash vulnerability exploiting compact block reconstruction π
- Dual funding
- Eclair #2861 implements on-the-fly funding using liquidity ads with either dual-funding or splicing π
- Kindred replace by fee
- Guide for Wallets Employing Bitcoin Core 28.0 Policies: sibling replacement π
- MuSig
- Libsecp256k1 adds MuSig2 BIP340-compatible multisig as specified in BIP327 π
- Offers
- BOLTs #798 merges the offers protocol specification which introduces BOLT12 π
- Package relay
- Guide for Wallets Employing Bitcoin Core 28.0 Policies: one parent one child (1P1C) package relay π
- Partially signed bitcoin transactions
- Draft BIP for sending silent payments with PSBTs π
- Point Time Locked Contracts (PTLCs)
- LN developer discussion of upgrade paths to using PTLCs π
- Silent payments
- Draft BIP for sending silent payments with PSBTs π
- Simple taproot channels
- Updated channel announcements that include support for simple taproot channels π
- Testnet
- Rust Bitcoin #2945 introduces support for testnet4 π
- Version 2 P2P transport
- Benefits of BIP324 decoy packets π
September 2024
- Async payments
- Channel announcements
- Client-side validation
- Pooled mining
- Accountable Computing Contracts
- BitVM may allow bidirectional bridging of tokens when used with Shielded CSV π
- Anonymity networks
- DNS seeding for nodes on anonymity networks π
- AssumeUTXO
- Bitcoin Core #30807 has assumeUTXO nodes during background sync signal NODE_NETWORK_LIMITED π
- Channel jamming attacks
- Testing of hybrid jamming mitigation and addition of bidirectional reputation π
- Cluster mempool
- Bitcoin Core #30286 optimizes the candidate search algorithm used in cluster linearizations π
- Coin selection
- BDK #1581 allows a customizable fallback algorithm in branch-and-bound coin selection π
- Consensus cleanup soft fork
- Discussion about mitigating merkle tree vulnerabilities in the proposed consensus cleanup soft fork π
- Discreet Log Contracts (DLCs)
- Lava Loans: DLC-based loan contract execution π
- Fee estimation
- LDK #3268 adds a more conservative fee estimation method for dust calculations π
- HTLC endorsement
- Testing of hybrid jamming mitigation and addition of bidirectional reputation π
- Merkle tree vulnerabilities
- Discussion about mitigating merkle tree vulnerabilities π
- Offers
- LDK #3140 adds support for paying static BOLT12 invoices to send async payments π
- Onion messages
- Eclair #2865 enables waking up a disconnected mobile peer for async payments or onion messages π
- OP_CAT
OP_CAT
research fund π
- Output script descriptors
- Bitcoin Core #22838 implements multiple derivation path descriptors (BIP389) π
- Partially signed bitcoin transactions
- BIP353 adds a new standard field to PSBT outputs for DNSSEC proofs π
- Responsible disclosures
- David Jaenson and Braydon Fuller independently disclose headers DoS attack against Bitcoin Core π
- Sidechains
- Discussion about affect on sidechains of mitigating merkle tree vulnerabilities π
- Silent payments
- BitBox02 hardware signing device adds silent payment support π
- Uneconomical outputs
- LDK #3268 adds a more conservative fee estimation method for dust calculations π
August 2024
- Testnet
- Cluster mempool
- Ephemeral anchors
- Offers
- AssumeUTXO
- Channel commitment upgrades
- Exfiltration-resistant signing
- HTLC endorsement
- Pooled mining
- Rendez-vous routing
- Replace-by-fee (RBF)
- Accountable Computing Contracts
- Optimistic verification of zero-knowledge proofs using CAT, MATT, and Elftrace π
- Block withholding
- Block withholding attacks and potential solutions π
- Client-side validation
- Taproot Assets v0.4.0-alpha released π
- Compact block relay
- Recent statistics on the success rate of compact block reconstruction π
- Erlay
- Announcement of new Hyperion network simulator intended for eventual testing of Erlay π
- Fee estimation
- Bitcoin Core #30275 updates
estimatesmartfee
RPC default from conservative to economical π
- Bitcoin Core #30275 updates
- Inbound forwarding fees
- LND #8886 updates the BuildRoute function to support inbound forwarding fees π
- Merkle tree vulnerabilities
- LDK #3215 rejects transactions less than 65 bytes to protect against merkle tree vulnerabilites π
- Onion messages
- Discussion of onion denial-of-service risk with proposed mitigations π
- Replacement cycling
- Replacement cycle attack against pay-to-anchor π
- Responsible disclosures
- Lloyd Fournier, Nick Farrow, and Robin Linus disclosed Dark Skippy fast seed exfiltration attack π
- Threshold signature
- BIP proposed for creating FROST scriptless threshold signatures for Bitcoin π
- Time warp
- New time warp vulnernability affecting testnet4 despite previous time warp fixes π
July 2024
- Cluster mempool
- CVEs (various)
- Free relay
- Offers
- Onion messages
- Pooled mining
- AssumeUTXO
- Bitcoin Core #30320 only loads a AssumeUTXO snapshot if itβs the ancestor of the most-PoW chain π
- Async payments
- LDK #3125 introduces support for encoding and parsing messages needed for async payments π
- HD key generation
- BIP328 added with a specifications BIP32-compatible MuSig2 key derivation π
- Just-In-Time (JIT) channels
- BLIPs #25 allows accepting underfunded HTLCs in support of JIT channel creation π
- Miniscript
- BIP379 added with a specification for Miniscript π
- MuSig
- BIPs 328, 390, and 373 added with specifications for MuSig2 key derivation, descriptors, and PSBTs π
- Output script descriptors
- BIPs 328, 390, and 373 added with specifications for MuSig2 key derivation, descriptors, and PSBTs π
- Partially signed bitcoin transactions
- BIPs 328, 390, and 373 added with specifications for MuSig2 key derivation, descriptors, and PSBTs π
- Rendez-vous routing
- Proposed BLIP for adding a blinded path field to BOLT11 invoices π
- Replace-by-fee (RBF)
- Question: why does RBF rule #3 exist? π
- Responsible disclosures
- Peter Todd responsibly disclosed a free relay attack exploiting RBF policy differences π
- Testnet
- Bitcoin Core PR Review Club about testnet4 π
- Threshold signature
- ChillDKG distributed key generation protocol for FROST π
- Time warp
- Question: how many blocks per second can sustainably be created using a time warp attack? π
- Timelocks
- BIP46 added for timelocked fidelity bonds π
- Version 3 transaction relay
- Criticism of motivations for preferring TRUC over replace-by-feerate as a pinning solution π
June 2024
- Offers
- Onion messages
- Rendez-vous routing
- Silent payments
- Version 3 transaction relay
- Anchor outputs
- Core Lightning #7388 removes the ability to create old non-zero-fee anchor-style channels π
- Channel commitment upgrades
- BOLTs #869 introduces a new channel quiescence protocol, in part for channel upgrades π
- CLTV expiry delta
- LND #8491 adds a
cltv_expiry
flag on the lncli RPC commandsaddinvoice
andaddholdinvoice
π
- LND #8491 adds a
- Coin selection
- Effect of SubtractFeeFromOutputs on coin selection in Bitcoin Core π
- Covenants
- Idea to add covenants to Bitcoin without consensus changes using functional encryption π
- Discrete log equivalency (DLEQ)
- Continued discussion of PSBTs for silent payments with DLEQ proofs to verify correct ECDH generation π
- Fee estimation
- LND #8730 introduces an RPC command
lncli wallet estimatefee
π
- LND #8730 introduces an RPC command
- OP_CAT
OP_CAT
script to validate proof of work π
- Package relay
- Bitcoin Core #28984 adds support for a limited version of package replace-by-fee π
- Payment probes
- LDK #3103 begins using data collected from frequent probing in its testing benchmarks π
- Partially signed bitcoin transactions
- Continued discussion about using PSBTs with silent payments π
- Quantum resistance
- Draft BIP for quantum-safe address format π
- Replace-by-fee (RBF)
- Bitcoin Core #28984 adds support for a limited version of package replace-by-fee π
- Responsible disclosures
- Matt Morehouse responsibly disclosed vulnerability affecting LND onion packet parsing π
- Testnet
- BIP and experimental implementation of testnet4 π
- Time warp
- Draft BIP for testnet4 includes fix for time warp attack π
- Version 2 P2P transport
- Rust Bitcoin #2644 adds HKDF component in support of a BIP324 implementation π
- X-only public keys
- Should an even Y coordinate be enforced after every key-tweak operation, or only at the end? π
May 2024
- Output script descriptors
- Package relay
- Silent payments
- Onion messages
- OP_CAT
- OP_CHECKTEMPLATEVERIFY
- Accountable Computing Contracts
- BitVMX: an alternative to BitVM for verification of program execution π
- AssumeUTXO
- Notes from Bitcoin developer discussion about assumeUTXO for mainnet π
- Async payments
- LDK #2973 adds support for intercepting onion messages to facilitate async payments π
- Channel announcements
- New anonymous usage tokens proposed that could be used to improve channel announcement privacy π
- Channel commitment upgrades
- Analysis of multiple proposals for upgrading LN channels π
- Codex32
- Penlock proposed as an alternative to codex32 that provides BIP39 seed phrase splitting π
- Coin selection
- Notes from Bitcoin developer discussion about coin selection π
- Consensus cleanup soft fork
- Notes from Bitcoin developer discussion about consensus cleanup π
- Cross-input signature aggregation (CISA)
- Notes from Bitcoin developer discussion about CISA π
- Ecash
- Proposal to pay miners with ecash π
- Hash Time Locked Contract (HTLC)
- Core Lightning #7190 introduces
chainlag
to allow safely sending payments during block sync π
- Core Lightning #7190 introduces
- Inbound forwarding fees
- LND #8627 defaults to rejecting channel settings that require above-zero inbound forwarding fees π
- Miniscript
- Draft BIP proposed for miniscript π
- OP_CHECKSIGFROMSTACK
- Lamport signatures providing OP_CSFS alternative without consensus changes π
- Partially signed bitcoin transactions
- Discussion about using PSBTs with silent payments π
- Quantum resistance
- Consensus-enforcement of quantum-resistant lamport signatures without consensus changes π
- Signet
- Notes from Bitcoin developer discussion about signet and testnet4 π
- Simple taproot channels
- Discussion of channel upgrade methods, such as switching to simple taproot channels π
- Testnet
- CoreDev.tech Berlin event with discussion about testnet4 π
- Utreexo
- Release of utreexod beta π
April 2024
- Replace-by-fee (RBF)
- Cluster mempool
- Consensus cleanup soft fork
- Accountable Computing Contracts
- Development of domain-specific languages for smart contracting, including with BitVM π
- Accidental confiscation
- Amnesty proposed for potential old uses of
OP_CODESEPARATOR
in new cleanup proposal π
- Amnesty proposed for potential old uses of
- Coin selection
- LND #8515 updates multiple RPCs to accept the name of the coin selection strategy to be used π
- Compact block relay
- Proposal to use weak blocks to improve compact block relay when mempool policies diverge π
- Duplicate transactions
- Updated consensus cleanup proposal to address Block 1,983,702 problem π
- Eclipse attacks
- Bitcoin Core #29850 limits the max number of IP addresses accepted from an individual DNS seed π
- Fee estimation
- Discussion about weak blocks helping with feerate estimation π
- Gap limits
- BDK #1351 makes several changes to how BDK interprets the stop_gap parameter π
- Inbound forwarding fees
- LND #6703 and #6934 add support for inbound routing fees π
- Package relay
- Bitcoin Core #29242 lays the groundwork for package replace by fee π
- Rendez-vous routing
- LND #8159 and #8160 add experimental support for sending payments to blinded routes π
- Taproot
- Rust Bitcoin #2652 begins returning the internal taproot key when signing for a taproot input π
- Testnet
- Discussion about resetting and modifying testnet π
- Time warp
- Question: where exactly is the βoff-by-oneβ difficulty bug and how does it relate to time warp? π
- Transaction pinning
- Discussion about weak blocks helping with transaction pinning π
- Version 3 transaction relay
- Bitcoin Core #29242 lays the groundwork for package replace by fee with v3-compatible packages π
March 2024
- Basic Bitcoin Lisp Language (bll)
- Dual funding
- Partially signed bitcoin transactions
- Coin selection
- LND #8378 makes several improvements to LNDβs coin selection features π
- Fee estimation
- Discussion of incorporating live mempool data into Bitcoin Coreβs feerate estimation π
- Fee sourcing
- More efficient fee sponsorship for exogenous fees compared favorably to endogenous fees π
- Fee sponsorship
- Proposals for more block space efficient transaction fee sponsorship π
- Free relay
- Disclosure of a free relay attack against Bitcoin Core and some other nodes π
- Kindred replace by fee
- Bitcoin Core #29306 adds sibling eviction for unconfirmed v3 transaction children π
- Merkle tree vulnerabilities
- Bitcoin Core #29412 checks for every known way to mutate a valid block into an invalid block π
- Miniscript
- Ledger Bitcoin App 2.2.0 adds miniscript support for taproot π
- MuSig
- PSBTs for multiple concurrent MuSig2 signing sessions π
- OP_CAT
- Bitcoin PR Review Club for
OP_CAT
on signet with Bitcoin Inquisition π
- Bitcoin PR Review Club for
- Payment probes
- LND #8136 updates the
EstimateRouteFee
RPC to use payment probing π
- LND #8136 updates the
- Replace-by-fee (RBF)
- BitGo adds RBF support π
- Schnorr signatures
- Explanation for why BIP340 uses secp256k1 instead of a different curve π
- Simple taproot channels
- LND #8499 makes significant changes to the TLV types used for simple taproot channels π
- Simplicity
- Comparisons betwen Simplicity and BTC Lisp π
- Soft fork activation
- Trustless onchain betting on potential soft forks π
- Splicing
- Phoenix Wallet v2.2.0 adds support for splicing using the quiescence protocol π
- Spontaneous payments
- LDK #2935 begins supporting sending keysend payments to blinded paths π
- Trampoline payments
- LDK #2756 adds support for including a trampoline routing packet in its messages π
- Version 2 P2P transport
- New project to create a BIP324 proxy for light clients π
- Vaults
- BIPs #1421 adds BIP345 for the OP_VAULT opcode and related consensus changes π
February 2024
- Version 3 transaction relay
- Challenges opening zero-conf channels when using the initially allowed v3 transaction topology π
- Ideas for post-v3 relay enhancements after cluster mempool is deployed π
- Research about historic use of anchor outputs for possibly imbuing them with v3 properties π
- Bitcoin Core #28948 adds support for (but does not enable) version 3 transaction relay π
- Anchor outputs
- Dual funding
- Cluster mempool
- Coin selection
- Ecash
- Replace-by-fee (RBF)
- Accountable Computing Contracts
- Sending and receiving ecash using LN and ZKCPs π
- Compact block relay
- Improvements to compact block peer selection made to address block stalling attack π
- Eclipse attacks
- Improved reproducible ASMap creation process π
- Free relay
- Concern about replace by feerate allowing free relay π
- HD key generation
- Rust Bitcoin #2451 removes the requirement that an HD derivation path start with an
m
π
- Rust Bitcoin #2451 removes the requirement that an HD derivation path start with an
- Kindred replace by fee
- What if v3 semantics and sibling replacement had been applied to anchor outputs a year ago? π
- Offers
- Human readable payment instructions proposed that are compatible with offers π
- OP_CAT
- Simple vault prototype using
OP_CAT
and schnorr signatures π
- Simple vault prototype using
- Payjoin
- Mutiny Wallet v0.5.7 adds support for payjoin π
- Pooled mining
- How does the TIDES payout scheme work? π
- Responsible disclosures
- Eugene Siegel responsibly disclosed a Bitcoin Core block stalling bug affecting LN π
- Silent payments
- Human readable payment instructions proposed that are compatible with silent payment addresses π
- Splicing
- Challenges with splicing and zero-conf channels when using v3 transaction topology π
- Taproot
- Taproot massively reduces worst case bandwidth for malleablity protection in contract protocols π
- Testnet
- Core Lightning 24.02 includes the fix for a transaction parsing bug on testnet π
- Transaction pinning
- Proposal for replace-by-feerate to avoid transaction pinning π
- Version 2 P2P transport
- Bitcoin Core #29347 enables v2 P2P transport by default π
- Vaults
- Simple vault prototype using
OP_CAT
and schnorr signatures π
- Simple vault prototype using
- Zero-conf channels
- Challenges opening zero-conf channels when using the initially allowed v3 transaction topology π
January 2024
- Version 3 transaction relay
- Discussion about the costs of pinning when v3 policies are used π
- Discussion about LN anchors and v3 transaction relay proposal π
- Discussion about cluster mempool and a need for a CPFP carve out replacement like v3 relay π
- Proposed changes to LN for v3 relay and ephemeral anchors π
- Idea to apply RBF rules to v3 transactions to allow removing CPFP carve-out for cluster mempool π
- Cluster mempool
- Discussion about cluster fee estimation π
- Overview of cluster mempoool, including discussion about its effect on CPFP carve-out π
- Interplay between cluster mempool, CPFP carve-out removal, and LN use of v3 relay π
- Idea to apply RBF rules to v3 transactions to allow removing CPFP carve-out for cluster mempool π
- Ephemeral anchors
- Discussion about ephemeral anchors for LN and v3 transaction relay proposal π
- Discussion about cluster mempool and a need for a CPFP carve out replacement like ephemeral anchors π
- Discussion about Miner Extractable Value (MEV) in non-zero ephemeral anchors π
- Proposed changes to LN for v3 relay and ephemeral anchors π
- Fee sourcing
- Argument that frequent use of exogenous fees may put mining decentralization at risk π
- Implications of exogenous fees on safety, scalability, and costs π
- An alternative to exogenous anchor outputs: endogenous fees with presigned incremental RBF bumps π
- Opposition to CTV based on commonly requiring exogenous fee π
- Rendez-vous routing
- LDK #2781 and #2688 update support for sending and receiving blinded payments π
- LND #8095 and #8142 add additional logic to parts of LNDβs codebase for handling binded paths π
- LDK #2791, #2801, and #2812 complete adding support for route blinding π
- Eclair #2811 allows trampoline payments to use a blinded path for the ultimate receiver π
- Responsible disclosures
- Channel factories
- CPFP carve out
- Joinpools
- OP_CHECKTEMPLATEVERIFY
- Out-of-band fees
- Output script descriptors
- Trampoline payments
- Trimmed HTLC
- Accountable Computing Contracts
- Verification of arbitrary programs using proposed opcode from MATT π
- Anchor outputs
- Discussion about LN anchors and v3 transaction relay proposal π
- Annex
- Suggestion to store fee-dependent timelock parameters in the taproot annex π
- Anonymity networks
- Bitcoin Core #29200 allows the I2P to use connections encrypted with both ECIES-X25519 and ElGamal π
- Channel announcements
- Disclosure of two past vulnerabilities in LND gossip handling π
- CLTV expiry delta
- LN-Symmetry requires longer CLTV expiry deltas than expected π
- Coin selection
- New coin selection strategies proposed and tested for Bitcoin Core π
- Eltoo
- LN-Symmetry research implementation with summary of initial results π
- Expiration floods
- Mitigating expiration floods with fee-depedent timelocks π
- Fee estimation
- Cluster fee estimation to improve accuracy in a world with CPFP fee bumping π
- Free relay
- Node operator goals include maximizing miner revenue without allowing free relay π
- Kindred replace by fee
- Kindred replace by fee π
- MATT
- Verification of arbitrary programs using proposed opcode from MATT π
- Onion messages
- LDK #2723 adds support for sending onion messages using direct connections π
- OP_CHECKSIGFROMSTACK
- Mashup of OP_CTV and OP_CSFS proposed, along with new OP_INTERNALKEY π
- Payment batching
- Proposal for a pool exit protocol that allows highly efficient payment batching π
- Partially signed bitcoin transactions
- Proposed BIP specifying how to include descriptors in PSBTs π
- Replace-by-fee (RBF)
- Idea to apply RBF rules to v3 transactions to allow removing CPFP carve-out for cluster mempool π
- Simple taproot channels
- LND #7733 updates its watchtower support for simple taproot channels π
- Statechains
- Mercury Layer announced as an implementation of statechains using blind signing π
- Timelocks
- Soft fork proposal for fee-dependent timelocks π
- Transaction pinning
- Discussion about the costs of pinning when v3 transaction relay policies are used π
- Unannounced channels
- Core Lightning #6869 updates the listchannels RPC to no longer list unannounced channels π
- Version 2 P2P transport
- Bitcoin Core #29058 begins using v2 P2P transport by default for some connections π
- Watchtowers
- LND #7733 updates its watchtower support for simple taproot channels π
December 2023
- Cluster mempool
- Multiple discussions about cluster mempool π
- Duplicate transactions
- What is the Block 1,983,702 Problem? π
- Fee estimation
- BTCPay Server #5490 begins using fee estimates from mempool.space π
- Liquidity advertisements
- Discussion about griefing liquidity advertisements π
- Payjoin
- Payjoin client for Bitcoin Core released π
- Pooled mining
- Stratum v2 mining pool launches π
- Partially signed bitcoin transactions
- BBQr encoding scheme announced for encoding PSBTs and other data π
- Replace-by-fee (RBF)
- Discussion of cluster mempool for RBF π
- Simple taproot channels
- Zeus v0.8.0 released with support for simple taproot channels π
November 2023
- Offers
- Accountable Computing Contracts
- Publication of two BitVM proof of concepts π
- Basic Bitcoin Lisp Language (bll)
- Hypothetical comparison of a Lisp-based scripting language to an upgraded Bitcoin Script language π
- CLTV expiry delta
- BOLTs #1086 specifies 2,016 blocks as the default absolute maximum CLTV expiry π
- Covenants
- HTLC aggregation with covenants π
- Child pays for parent (CPFP)
- Making anyone-can-spend outputs for CPFP with non-malleable txids π
- Dual funding
- Core Lightning #6824 updates the implementation of the interactive funding protocol π
- Ephemeral anchors
- Making ephemeral anchor spends with non-malleable txids π
- Fee estimation
- Rust Bitcoin #2213 amends the weight prediction for P2WPKH inputs during fee estimation π
- Hash Time Locked Contract (HTLC)
- HTLC aggregation with covenants π
- Just-In-Time (JIT) channels
- LDK #2715 allows accepting underfunded HTLCs in support of JIT channel creation π
- Large channels
- Core Lightning #6783 deprecates the large-channels conf option, making them always enabled π
- Liquidity advertisements
- Discussion about proposed updates to the liquidity advertisements protocol π
- LNURL
- Discussion about offers-compatible Lightning addresses π
- Miniscript
- Field Report: A Miniscript Journey π
- OP_CAT
- Comments on draft BIP for
OP_CAT
π
- Comments on draft BIP for
October 2023
- Replace-by-fee (RBF)
- Replacement cycle attacks on HTLCs π
- Proposal for miners to automatically retry previously replaced transactions π
- Recommendation to RBF fee bump pre-signed transactions with more pre-signed transactions π
- Summary of well-known behavior for wallets to avoid when creating multiple replacements π
- AssumeUTXO
- Covenants
- Hash Time Locked Contract (HTLC)
- Transaction pinning
- Accountable Computing Contracts
- BitVM: payments contingent on arbitrary computation without consensus changes π
- CLTV expiry delta
- Longer CLTV expiry deltas as a mitigation against replacement cycling attacks π
- Compact block filters
- LND v0.17.0-beta released with improved compact block filter speed through batched downloading π
- Duplex micropayment channels
- Pooled liquidity for LN using duplex micropayment channels π
- Miniscript
- Bitcoin Core #27255 ports miniscript to tapscript, providing tapscript descriptors π
- Multipath payments
- Dynamic Payment Switching and Splitting (PSS) proposed for improved payment privacy π
- MuSig
- Proposed BIP for MuSig2 fields in PSBTs π
- OP_CAT
- Proposed BIP for
OP_CAT
π
- Proposed BIP for
- Output script descriptors
- Bitcoin Core #27255 ports miniscript to tapscript, providing tapscript descriptors π
- Package relay
- Bitcoin Core #27609 makes the submitpackage RPC available on non-regtest networks π
- Payment probes
- Dynamic Payment Switching and Splitting (PSS) proposed to thwart Balance Discovery Attacks π
- Partially signed bitcoin transactions
- Proposed BIP for MuSig2 fields in PSBTs π
- Rendez-vous routing
- LND #7267 makes it possible to create routes to blinded paths π
- Replacement cycling
- Replacement cycling vulnerability against HTLCs with deployed and proposed mitigations π
- Responsible disclosures
- Antoine Riard responsibly discloses replacement cycle attacks affecting all HTLC-using software π
- Taproot
- LND v0.17.0-beta ships with experimental support for taproot and MuSig2 LN channels π
- Tapscript
- Research showing effect of OP_SUCCESSx on covenants using output script introspection π
- Transaction origin privacy
- Replacement cycle mitigation of frequent transaction rebroadcasting with potential privacy reduction π
- Unannounced channels
- LND v0.17.0-beta ships with experimental support for unannounced taproot and MuSig2 LN channels π
- Version 2 P2P transport
- Bitcoin Core #28331 adds optional support for v2 encrypted P2P transport π
- Version 3 transaction relay
- Replacement cycle attacks not solved by current v3 transaction relay policies π
September 2023
- Version 2 P2P transport
- Ark
- Improving LN scalability with covenants in a similar way to Ark π
- Channel factories
- Using covenants to improve LN scalability through extremely efficient channel factories π
- Client-side validation
- Specifications published for taproot assets π
- Coin selection
- Bitcoin Core #26152 now pays any fee deficit for unconfirmed outputs chosen by coin selection π
- Covenants
- Using covenants like OP_CTV and APO to improve LN scalability π
- Eltoo
- Using eltoo-compatible covenants to improve LN scalability π
- Expiration floods
- Concern about forced expiration spam in very large channel factories π
- LN-Penalty
- Using covenants to improve LN scalability (compatible with LN-Penalty) π
- Miniscript
- Bitcoin Core #26567 computes input weight for fee estimation using miniscript and descriptors π
- MuSig
- LND #7994 adds RPC support for remote signing with the MuSig2 protocol π
- Offers
- LDK #2371 adds support for managing payments using offers π
- OP_CHECKTEMPLATEVERIFY
- Using covenants like OP_CTV and APO to improve LN scalability π
- Payment probes
- LDK #2534 adds additional support for pre-payment probing π
- Point Time Locked Contracts (PTLCs)
- Summary of proposed LN messaging changes for PTLCs π
- Rendez-vous routing
- LDK #2413 adds support for sending and receving payments with blinded paths π
- SIGHASH_ANYPREVOUT
- Using covenants like OP_CTV and APO to improve LN scalability π
- Simple taproot channels
- Specifications for taproot assets released based on LNDβs experimental simple taproot channels π
- Testnet
- Bitcoin Core #28354 begins rejecting non-standard transactions by default on testnet π
- Threshold signature
- Idea for privacy enhanced transaction cosigning using FROST π
- Timeout trees
- Using covenants to improve LN scalability via timeout trees π
August 2023
- MuSig
- OP_CHECKSIGFROMSTACK
- Responsible disclosures
- Silent payments
- Splicing
- Channel jamming attacks
- DoS protection design philosophy and example of forward commitment fees and reverse hold fees π
- Codex32
- Core Lightning #6466 and #6473 add support for backing up and restoring codex32-encoded seeds π
- Covenants
- Mashup of OP_CTV and APO proposed using OP_CSFS and OP_TXHASH π
- CVEs (various)
- Milk Sad team disclosed CVE-2023-39910 insecure entropy in Libbitcoin
bx
command π
- Milk Sad team disclosed CVE-2023-39910 insecure entropy in Libbitcoin
- Ecash
- Discussion of ecash in the context of blind MuSig2 signing π
- Eclipse attacks
- Bitcoin Core #27213 will attempt to open and maintain one connection on each reachable network π
- Generic signmessage
- Sparrow 1.7.8 adds support for BIP322 generic signmessage π
- HTLC endorsement
- HTLC endorsement testing and data collection π
- LN-Penalty
- Proposal for fraud proofs for providing outdated backup states to make LN-Penalty safer π
- MATT
- What opcodes are part of the MATT proposal? π
- Onion messages
- BOLTs #759 adds support for onion messages to the LN specification π
- OP_CHECKTEMPLATEVERIFY
- Mashup of OP_CTV and APO proposed using OP_CSFS and OP_TXHASH π
- Payjoin
- Discussion about draft BIP for serverless payjoin π
- Peer storage
- Fraud proofs for outdated state compared to peer storage backups π
- Rendez-vous routing
- LDK #2411 and #2412 add an API for constructing payment paths for blinded payments π
- Replace-by-fee (RBF)
- Proposal to enable full-RBF by default π
- SIGHASH_ANYPREVOUT
- Mashup of OP_CTV and APO proposed using OP_CSFS and OP_TXHASH π
- Simple taproot channels
- LND #7904 adds experimental support for simple taproot channels π
- Statechains
- Discussion about blind MuSig2 signing for statechains π
- Threshold signature
- Experimental implementation of FROST announced π
- Trimmed HTLC
- BOLTs #919 suggests nodes stop accepting additional trimmed HTLCs beyond a certain value π
- Uneconomical outputs
- BOLTs #919 suggests LN nodes limit their maximum exposure to uneconomical HTLCs π
- Utreexo
- Libflorestra library announced for using utreexo in applications π
- Version 2 P2P transport
- Bitcoin Core #28008 adds encryption and decryption routines for v2 transport protocol encryption π
- Watchtowers
- LDK #2337 makes it easier to use LDK for building watchtowers π
July 2023
- Cluster mempool
- Anchor outputs
- Core Lightning #6334 updates and expands CLNβs experimental support for anchor outputs π
- Anonymity networks
- Bitcoin Core #27411 stops announcing the local nodeβs Tor or I2P address on other networks π
- Channel announcements
- LN developer discussion about updated channel announcements π
- Channel jamming attacks
- LN developer discussion about channel jamming attacks π
- CLTV expiry delta
- LND #7768 implements BOLTs #1032 and #1063, allowing accepting a longer expiry than requested π
- Codex32
- Question about hand-derivation of public keys from private keys π
- Discreet Log Contracts (DLCs)
- Wallet 10101 allows pooling funds between LN and DLCs π
- Ephemeral anchors
- LN developer discussion about multiple relay policy topics, including ephemeral anchors π
- HTLC endorsement
- LN developer discussion about channel jamming attacks and HTLC endorsement π
- MuSig
- Taproot and MuSig2 LN channels π
- Output script descriptors
- BIPs #1354 adds BIP389 for multiple derivation path descriptors π
- Package relay
- LN developer discussion about multiple relay policy topics, including package relay π
- Payjoin
- Payjoin Dev Kit (PDK) announced to provide a Rust SDK for payjoin π
- Redundant overpayments
- LN developer discussion about protocol changes to support redundant overpayments π
- Replace-by-fee (RBF)
- Question about whether 0 OP_CSV forces the spending transaction to signal BIP125 replaceability? π
- Side channels
- Libsecp256k1 #1313 tests compiler prebuilds to detect unwanted optimization of constant-time code π
- Splicing
- Phoenix wallet adds splicing support π
- Taproot
- Taproot and MuSig2 LN channels π
- Version 3 transaction relay
- LN developer discussion about multiple relay policy topics, including v3 transaction relay π
- Wallet labels
- BIPs #1452 updates BIP329 with a new optional spendable tag π
June 2023
- Channel jamming attacks
- Coinjoin
- HTLC endorsement
- Just-In-Time (JIT) channels
- Rendez-vous routing
- Anchor outputs
- LDK #2368 allows manually accepting new channels created by a peer that use anchor outputs π
- Annex
- Discussion about the taproot annex π
- CLTV expiry delta
- Eclair #2677 raises its
max_cltv
to 2,016 blocks due widespread increases in CLTV expiry deltas π
- Eclair #2677 raises its
- Dual funding
- LDK #2077 refactors code to make it easier later to add support for dual funded channels π
- Eltoo
- Discussion about the use of the annex field in LN-symmetry π
- Joinpools
- Example of using the MATT proposal plus OP_CAT to manage joinpools π
- MATT
- Using MATT to replicate CTV and manage joinpools π
- Multipath payments
- LDK #2156 adds support for keysend payments that use simplified multipath payments π
- Onion messages
- LDK #2294 adds support for replying to onion messages π
- OP_CAT
- Example of using the MATT proposal plus OP_CAT to manage joinpools π
- OP_CHECKTEMPLATEVERIFY
- Example of using MATT-style covenants to replicate CTV features π
- Payment secrets
- LDK #2156 adds support for multipath keysend payments, which require payment secrets π
- Sidechains
- Speculatively using hoped-for consensus changes to create two-way pegs for sidechains π
- Silent payments
- Draft BIP for silent payments π
- Spontaneous payments
- LDK #2156 adds support for keysend payments that use simplified multipath payments π
- Submarine swaps
- Proposal to extend BOLT11 invoices to allow requesting prepayment for submarine swaps π
- Transaction pinning
- Preventing coinjoin pinning with v3 transaction relay π
- Version 2 P2P transport
- Libsecp256k1 #1129 implements the ElligatorSwift technique for establishing v2 P2P connections π
- Vaults
- Discussion about storing vault-related data in taproot annexes π
- Version 3 transaction relay
- Preventing coinjoin pinning with v3 transaction relay π
May 2023
- Covenants
- Dual funding
- MuSig
- Package relay
- Partially signed bitcoin transactions
- Wallet labels
- Adaptor signatures
- Analysis of signature adaptor security π
- Anchor outputs
- LDK #1841 implements a solution for the fee-stealing attack described in BOLTs #824 π
- Ark
- Proposal for a managed joinpool protocol π
- AssumeUTXO
- Summaries of Bitcoin Core developers in-person meeting π
- Channel announcements
- LDK #2222 allows accepting gossip without verifying it first π
- Channel jamming attacks
- Testing HTLC endorsement for preventing channel jamming attacks π
- Cluster mempool
- Bitcoin Core meeting transcript about mempool redesign π
- Coin selection
- Bitcoin Core #27021 adds interface for calculating an outputβs ancestor fee deficit π
- Compact block relay
- Bitcoin Core #27626 allows parallel download of compact blocks from multiple peers π
- HD key generation
- ColdCard 6.0.0X adds support for BIP129 exchange of xpubs during multisig wallet set up π
- HTLC endorsement
- Testing HTLC endorsement for preventing channel jamming attacks π
- Just-In-Time (JIT) channels
- Request for feedback on proposed specifications for LSPs, including LSPS2: JIT channels π
- Joinpools
- Proposal for Ark, a managed joinpool protocol π
- MATT
- MATT-based vaults π
- Merkle tree vulnerabilities
- Bitcoin Core #27608 protects against an invalidity caching vulnerability π
- Miniscript
- MyCitadel v1.3.0 adds more advanced support for miniscript π
- Scriptless multisignatures
- Analysis of signature adaptor security when used with multisignatures π
- OP_CAT
- Ark proposal would benefit from
OP_CAT
andOP_CHECKSIGFROMSTACK
π
- Ark proposal would benefit from
- OP_CHECKTEMPLATEVERIFY
- Analysis of alternative design for
OP_VAULT
using MATT-style covenants and CTV π
- Analysis of alternative design for
- Out-of-band fees
- Improvements to features for miners that accept out-of-band fees π
- Payjoin
- Advanced payjoin applications, including transaction cut-through π
- Schnorr signatures
- BIPs #1446 makes a small change and a number of additions to the BIP340 specification π
- Signet
- Mutinynet launches a signet with 30 second block times and hosted infrastructure tools π
- Silent payments
- Summaries of Bitcoin Core developers in-person meeting π
- Timeout trees
- Proposal for a managed joinpool protocol (Ark) π
- Utreexo
- ZeroSync protocol which uses a variation of utreexo π
- Vaults
- Analysis of alternative design for
OP_VAULT
using MATT-style covenants π
- Analysis of alternative design for
- Zero-conf channels
- Challenges with zero-conf channels when dual funding π
April 2023
- Splicing
- Watchtowers
- Channel announcements
- LDK #2198 increases the amount of time before gossiping that a channel is down π
- Client-side validation
- Update on RGB π
- Child pays for parent (CPFP)
- Suggested best practices for CPFP or RBF fee-bumping a previous CPFP fee bump π
- Ephemeral anchors
- Bitcoin Inquisition #23 adds part of the support for ephemeral anchors π
- Scriptless multisignatures
- BIPs #1372 assigns BIP327 to the MuSig2 protocol for creating multisignatures π
- MuSig
- BIPs #1372 assigns BIP327 to the MuSig2 protocol for creating multisignatures π
- Pooled mining
- Stratum v2 reference implementation update announced π
- Proof of payment
- BTCPay Server #4782 adds proof of payment on the receipt page for each payment π
- Rendez-vous routing
- BOLTs #765 adds route blinding to the LN specification π
- Replace-by-fee (RBF)
- Suggested best practices for CPFP or RBF fee-bumping a previous CPFP fee bump π
- Side channels
- Libsecp256k1 0.3.1 fixes a timing side-channel vulnerability π
- Transaction bloom filtering
- Proposal to remove
mempool
message support from Bitcoin Core, possibly along with bloom filters π
- Proposal to remove
- Transaction pinning
- Question about how to pin a transaction by requiring a fee bump pay a 500x fee π
- Wallet labels
- BTCPay Server #4799 allows export wallet labels as specified in BIP329 π
March 2023
- Codex32
- Soft fork activation
- Annex
- Bitcoin Inquisition #22 adds an
-annexcarrier
runtime option π
- Bitcoin Inquisition #22 adds an
- AssumeUTXO
- Bitcoin Core #25740 allows background validation of bootstrapped UTXO state π
- Channel factories
- Improving capital efficiency with multiparty channels in tunable penality channel factories π
- Covenants
- Proposal for alternative design for
OP_VAULT
inspired byOP_TLUV
π
- Proposal for alternative design for
- HD key generation
- Faster offline verification of BIP32 master seed backups π
- Offers
- LDK #1977 allows serializing and deserializing offers π
- Testnet
- Service bit for Utreexo set for testing on testnet and signet π
- Utreexo
- Service bit for Utreexo π
- Vaults
- Proposal for alternative design for
OP_VAULT
inspired byOP_TLUV
π
- Proposal for alternative design for
- Watchtowers
- Description of efficient watchtower use in the tunable penalty protocol π
February 2023
- Channel jamming attacks
- Dual funding
- HTLC endorsement
- Offers
- Payjoin
- Proof of payment
- Splicing
- Spontaneous payments
- Adaptor signatures
- Using signature adaptors to prove acceptance of an LN async payment π
- Anchor outputs
- LDK #1860 adds support for channels using anchor outputs π
- Async payments
- Using adaptor signatures to prove an async payment was accepted π
- Codex32
- Proposed BIP for new codex32 seed backup, splitting, verification, and recovery scheme π
- Coin selection
- BTCPay Server #4600 updates its coin selection to avoid unnecessary inputs for payjoin π
- Miniscript
- Bitcoin Core #24149 adds signing support for P2WSH-based miniscript-based output descriptors π
- Multipath payments
- Discussion about using multipath overpayment with recovery to decrease payment latency π
- MuSig
- LND #7171 upgrades the signrpc RPC to support the latest draft BIP for MuSig2 π
- Output script descriptors
- Bitcoin Core #24149 adds signing support for P2WSH-based miniscript-based output descriptors π
- Peer storage
- Core Lightning #5361 adds experimental support for peer storage backups π
- Point Time Locked Contracts (PTLCs)
- Using signature adaptors with PTLCs to prove acceptance of an LN async payment π
- Redundant overpayments
- Using redundant overpayments instead of a quality-of-service flag π
- Replace-by-fee (RBF)
- Bitcoin Core #25344 updates the fee-bumping RPCs to allow altering replacement outputs π
- Stateless invoices
- LDK #1878 encodes CLTV delta in payment secret for its stateless invoices π
- Static channel backups
- Core Lightning #5361 adds experimental support for peer storage backups π
- Tapscript
- Description of tapscript signature malleability and proposed fix for SIGHASH_ANYPREVOUT π
- Vaults
- Draft BIP available for
OP_VAULT
andOP_UNVAULT
opcodes π
- Draft BIP available for
- Wallet labels
- Sparrowβs 1.7.2 release adds BIP329 import and export π
January 2023
- Async payments
- BLS signatures
- Question about schnorr signatures versus BLS signatures π
- Covenants
- Proposal for
OP_VAULT
andOP_UNVAULT
opcodes to enable convenant-based valuts π
- Proposal for
- Discreet Log Contracts (DLCs)
- Proposal for vault-enabling opcodes could also make DLCs much more efficient π
- Ephemeral anchors
- Ephemeral anchors compared to
SIGHASH_GROUP
π
- Ephemeral anchors compared to
- Hardware wallet interface (HWI)
- Bitcoin Core #21576 allows wallets using an external signer to RBF fee bump π
- Offers
- LDK #1738 and #1908 provide additional features for handling offers π
- OP_CHECKTEMPLATEVERIFY
- Proposal for
OP_UNVAULT
opcode that can emulate CTV π
- Proposal for
- Payment batching
- Proposal for
OP_VAULT
opcode supports batching vault withdrawals π
- Proposal for
- Proof of payment
- Request for proof that an async payment was accepted π
- Rendez-vous routing
- Eclair #2482 allows sending payments using blinded routes π
- Replace-by-fee (RBF)
- Continued RBF discussion, including number of full-RBF nodes, RBF-FSS, and RBF motivation π
- Signet
- Question about why signet uses the same bech32 address prefix as testnet π
- Testnet
- Question about why both testnet and signet use the
tb1
bech32 address prefix? π
- Question about why both testnet and signet use the
- Vaults
- Proposal for
OP_VAULT
andOP_UNVAULT
opcodes π
- Proposal for
- Wallet labels
- BIPs #1383 assigns BIP329 to the proposal for a standard wallet label export format π
December 2022
- Channel jamming attacks
- Replace-by-fee (RBF)
- Version 3 transaction relay
- Anchor outputs
- Implementation of ephemeral anchors built on v3 transactions π
- Async payments
- 2022 year-in-review: async payments π
- Channel factories
- Proposed new channel construction to improve compatibility with channel factories π
- Dual funding
- 2022 year-in-review: interactive and dual funding π
- Ephemeral anchors
- Ephemeral anchors implementation π
- Fee sponsorship
- 2022 year-in-review: fee sponsorship π
- HTLC endorsement
- 2022 year-in-review: HTLC endorsement for channel jamming π
- Just-In-Time (JIT) channels
- LDK #1835 adds a SCID namespace for intercepted HTLCs allowing LSPs to open a JIT channel π
- Just-in-time (JIT) routing
- LDK #1835 adds support for JIT channel opens by LN service providers π
- LN-Penalty
- Factory-optimized LN protocol compared to LN-Penalty π
- Miniscript
- 2022 year-in-review: miniscript descriptors in Bitcoin Core π
- MuSig
- 2022 year-in-review: MuSig2 π
- Onion messages
- 2022 year-in-review: onion messages π
- Output script descriptors
- 2022 year-in-review: miniscript descriptors in Bitcoin Core π
- Package relay
- 2022 year-in-review: package relay π
- Quantum resistance
- 2022 year-in-review: quantum-safe key exchange π
- Reproducible builds
- New website to monitor the current status of various Bitcoin projectβs reproducible builds π
- Silent payments
- 2022 year-in-review: silent payments π
- Stateless invoices
- 2022 year-in-review: stateless invoices π
- Transaction pinning
- Implementation of proposed ephemeral anchors to help prevent pinning attacks π
- Version 2 P2P transport
- 2022 year-in-review: encrypted v2 transport protocol π
- Zero-conf channels
- 2022 year-in-review: zero-conf channels π
November 2022
- Channel jamming attacks
- Offers
- Partially signed bitcoin transactions
- Replace-by-fee (RBF)
- X-only public keys
- Accountable Computing Contracts
- Proposal for general smart contracts in Bitcoin via covenants π
- Anchor outputs
- Proposal to use multiple pre-committed fees to avoid needing anchor outputs in many cases π
- CLTV expiry delta
- Eclair #2468 implements BOLTs #1032, allowing accepting a longer expiry than requested π
- Compact block filters
- Bitcoin Core #25957 improves the performance of wallet rescans using local block filters π
- Compact block relay
- Discussion about inconsistent mempools and how that could affect compact block relay π
- Covenants
- Proposal to use covenants and merkle trees to enable generalized smart contracts π
- Child pays for parent (CPFP)
- Suggestion for LN to provide an alternative to using CPFP for most HTLC fee bumping π
- CVEs (various)
- CVE-2017-12842: Bitcoin Core PR Review Club discussion about lowering min relayable tx size π
- Erlay
- Discussion about inconsistent mempools and how that could affect Erlay π
- HTLC endorsement
- Paper suggesting HTLC endorsement as part of a mitigation for jamming attacks π
- Hardware wallet interface (HWI)
- Bitcoin Core #23578 using HWI to add support for externally signing taproot keypath spends π
- Low-r grinding
- BDK #779 adds support for creating low-r signatures π
- MATT
- Proposal for general smart contracts in Bitcoin via covenants π
- Merkle tree vulnerabilities
- CVE-2017-12842: Bitcoin Core PR Review Club discussion about lowering min relayable tx size π
- Multipath payments
- BOLTs #1031 allows paying slightly more than the requested amount when using multipath π
- Rendez-vous routing
- Core Lightning #5646 adds support for forwarding blinded payments π
- Responsible disclosures
- Anthony Towns disclosed a DoS and potential funds loss bug in BTCD and LND π
- Version 2 P2P transport
- Request for feedback on message identifiers for v2 P2P encrypted transport π
- Version 3 transaction relay
- Comparing disabling non-replaceable transactions to disabling special v3 transaction relay rules π
October 2022
- Replace-by-fee (RBF)
- Package relay
- Block explorers
- Ephemeral anchors
- Erlay
- Transaction pinning
- Version 2 P2P transport
- Version 3 transaction relay
- Addr v2
- BTCD v0.23.2 adds support for addr v2 π
- Anchor outputs
- Proposed relay of v3 transactions attempts to improve on anchor outputs π
- Async payments
- Eclair #2435 adds support for a basic form of async payments when trampoline relay is used π
- Compact block filters
- Bitcoin Core #23549 adds
scanblocks
RPC to scan local compact block filters π
- Bitcoin Core #23549 adds
- Countersign
- CoreDev.tech transcripts: v2 P2P encrypted transport and countersign π
- Child pays for parent (CPFP)
- Suggestion to use CPFP to address RBF-related free option problem π
- CVEs (various)
- CVE-2017-12842: discussion of lowering minimum relayable transaction size π
- Dual funding
- Eclair #2463 and #2461 increase robustness of RBF fee bumping interactive funding π
- Fee sniping
- CoreDev.tech transcript of discussion about fees and fee sniping π
- Fee sponsorship
- Proposed ephemeral anchors relay policy to implement sponsorship-like behavior π
- LN-Penalty
- Proposed new transaction relay policies designed for LN-penalty π
- Merkle tree vulnerabilities
- CVE-2017-12842: discussion of lowering minimum relayable transaction size π
- MuSig
- Disclosure of security vulnerability in MuSig2 as described in a draft BIP π
- Output linking
- Recommendations for unique address servers π
- Pay-to-Contract (P2C) protocols
- BIPs #1293 adds BIP372 Pay-to-contract tweak fields for PSBT π
- Pooled mining
- Transcript of developer discussion about Stratum v2 and Braidpool π
- Partially signed bitcoin transactions
- BIPs #1293 adds BIP372 for including Pay-to-contract tweak fields in a PSBT π
- Sidechains
- Validity rollups research showing how trustless sidechains may be possible π
- SIGHASH_ANYPREVOUT
- BIPs #1367 simplifies BIP118βs description of SIGHASH_ANYPREVOUT π
- Silent payments
- BIPs #1349 adds BIP351 for a payment protocol inspired by silent payments π
- Soft fork activation
- History of how various soft fork proposals were tested prior to activation π
- Tapscript
- Discussion about lowering tapscript resource limits π
- Threshold signature
- Transcripts of talks about the FROST and ROAST threshold signature schemes π
- Trampoline payments
- Eclair #2435 adds support for basic async payments for trampoline relay π
- Uneconomical outputs
- Discussion about allowing uneconomical outputs that are part of a transaction package π
- Utreexo
- Launch of ZeroSync project using Utreexo π
September 2022
- SIGHASH_ANYPREVOUT
- Anonymity networks
- Bitcoin Core #25355 adds support for transient I2P addresses π
- Channel announcements
- LN fee rate cards proposed to reduce fee-related channel update gossip π
- Compact block filters
- LDK #1706 adds support for using compact block filters for downloading confirmed transactions π
- Dual funding
- Eclair #2406 allows requiring confirmed inputs in the interactive funding protocol π
- Hardware wallet interface (HWI)
- BDK #682 adds signing capabilities for hardware signing devices using HWI and rust-hwi π
- Offers
- Eclair #2416 adds support for receiving payments requested using the offers protocol π
- OP_CHECKTEMPLATEVERIFY
- New software fork of Bitcoin Core for testing to include support for CTV π
- Rendez-vous routing
- Eclair #2418 and #2408 add support for receiving payments sent with blinded routes π
- Sidechains
- Creating drivechains with APO and a trusted setup π
- Uneconomical outputs
- BDK #689 allows a wallet to create a transaction that violates the dust limit π
August 2022
- Output script descriptors
- Zero-conf channels
- Dual funding
- Onion messages
- BLS signatures
- Using Bitcoin-compatible BLS signatures for Discree Log Contracts (DLCs) π
- Channel jamming attacks
- Guide to channel jamming attacks and proposed solutions π
- Coin selection
- Bitcoin Core #24584 prefers input sets composed of a single output type for privacy π
- Compact block relay
- Rust Bitcoin #1088 adds structures and methods for compact blocks π
- Default minimum transaction relay feerates
- Discussion about lowering the default minimum transaction relay feerate π
- Discreet Log Contracts (DLCs)
- Using Bitcoin-compatible BLS signatures for DLCs π
- HD key generation
- BIP proposed to allow multiple BIP32 derivation paths in a descriptor π
- Rendez-vous routing
- Eclair #2253 adds support for relaying blinded payments π
- Replace-by-fee (RBF)
- Bitcoin Core #25610 opts-in the RPCs and
-walletrbf
to RBF by default π
- Bitcoin Core #25610 opts-in the RPCs and
- Schnorr signatures
- BDK #718 begins verifying schnorr signatures immediately after the wallet creates them π
- Signet
- Eclair #2387 adds support for signet π
- Silent payments
- Updated silent payments PR π
- Splicing
- BOLTs #1004 makes recommendations to support future detection of splices π
- Static channel backups
- Core Lightning 0.12 adds support for static channel backups π
- Wallet labels
- Proposed BIP for a wallet label export format π
July 2022
- Fee sniping
- Payment probes
- Channel announcements
- Core Lightning #5239 improves its gossip handling code π
- Cross-input signature aggregation (CISA)
- Draft BIP about half aggregation of BIP340 schnorr signatures π
- Generic signmessage
- Proposed BIP for multiformat single-sig message signing π
- LNURL
- BTCPay Server #3709 adds support for pull payments to be received via a LNURL withdraw π
- Miniscript
- Bitcoin Core #24148 adds watch-only support for descriptors containing miniscript π
- Onion messages
- Proposals to either rate limit or charge for onion messages π
- Output linking
- Updated alternative to BIP47 reusable payment codes π
- Output script descriptors
- Bitcoin Core #24148 adds watch-only support for descriptors containing miniscript π
- Package relay
- Bitcoin Core #24836 adds a regtest-only RPC,
submitpackage
, to help test package relay π
- Bitcoin Core #24836 adds a regtest-only RPC,
- Partially signed bitcoin transactions
- Bitcoin Core #22558 adds support for BIP371βs additional PSBT fields π
- Replace-by-fee (RBF)
- Bitcoin Core fullrbf setting where the node always allows transaction replacement π
- Schnorr signatures
- LND #6722 adds support for signing arbitrary messages with schnorr signatures π
- Silent payments
- Updated alternative to BIP47 reusable payment codes compared to silent payments π
- Splicing
- Discussion about the best way to gossip channel splices π
- Tapscript
- Question: why do invalid
OP_CHECKSIGADD
signatures fail their script? π
- Question: why do invalid
- Uneconomical outputs
- Question about problems removing uneconomical outputs from UTXO set π
- X-only public keys
- X-only workaround for covenant-based protocols π
June 2022
- LNURL
- Zero-conf channels
- Async payments
- Trampoline routing and async mobile payments π
- Channel announcements
- LN developer meeting discussion about gossip updates π
- Fee sniping
- LDK #1531 begins using anti fee sniping for LN funding transactions π
- Miniscript
- PR Review Club about miniscript support for descriptors π
- Scriptless multisignatures
- Question about the largest multisig quorum possible with different script types π
- MuSig
- Discussion about designing LN upgrades to support recursive MuSig2 π
- Output linking
- Experimentation with silent addresses π
- Output script descriptors
- PR Review Club about miniscript support for descriptors π
- Package relay
- Continued discussion of proposed package relay BIP π
- Payment probes
- LN developer meeting summary: probing and balance sharing π
- Rendez-vous routing
- Discussion about the need for LNURL or offers for effective blinded paths π
- Replace-by-fee (RBF)
- Discussion about enabling full replace by fee in Bitcoin Core (off by default) π
- Taproot
- Why P2TR outputs should use the noscript commitments when only keypath spending is desired π
- Testnet
- BOLTs #968 adds default TCP ports for nodes using Bitcoin testnet and signet π
- Trampoline payments
- Discussion about combining trampoline routing with first-hop payment holds π
May 2022
- Covenants
- MuSig
- OP_CHECKTEMPLATEVERIFY
- Channel announcements
- LN gossip rate limiting for use with Erlay-like set reconciliation π
- Coin selection
- What is the coin selection βwaste metricβ? π
- Compact block relay
- Bitcoin Core #20799 disables v1 compact block relay; v2 still enabled π
- Child pays for parent (CPFP)
- BIP proposed for package relay that can make CPFP bumping more reliable π
- Eltoo
- Using transaction introspection to prevent pinning in eltoo channels π
- Large channels
- LDK #1425 adds support for large channels π
- Miniscript
- Adapting descriptors and miniscript for hardware signing devices π
- Minisketch
- Research into interaction between LN rate limiting and minisketch gossiping π
- OP_CAT
- Examination of the minimal set of features added to
OP_CAT
that would create recursive covenants π
- Examination of the minimal set of features added to
- Output script descriptors
- Adapting descriptors and miniscript for hardware signing devices π
- Package relay
- BIP proposed for package relay π
- Partially signed bitcoin transactions
- LND #6450 adds support for signing PSBTs that spend taproot outputs π
- Responsible disclosures
- Bastien Teinturier disclosed issue allowing funds loss from Core Lightning and LND π
- Schnorr signatures
- Why isnβt
OP_CHECKMULTISIG
compatible with batch verification of schnorr signatures? π
- Why isnβt
- Soft fork activation
- Proposal to use transaction signaling to measure support for consensus changes π
- Taproot
- LND #6450 adds support for signing PSBTs that spend taproot outputs π
- Testnet
- Bitcoin Core #18554 prevents the same wallet from being used on mainnet and testnet π
- Transaction pinning
- Idea to use transaction introspection to prevent RBF pinning π
April 2022
- OP_CHECKTEMPLATEVERIFY
- Soft fork activation
- Stateless invoices
- Channel commitment upgrades
- Updating LN commitments π
- Client-side validation
- Taro transferrable token scheme π
- Coinjoin
- WabiSabi implemented in Wasabi 2.0 π
- Child pays for parent (CPFP)
- Bitcoin Core #24152 begins accepting low-feerate transactions that are paid for by their children π
- LNURL
- C-Lightning #5121 updates its
invoice
RPC for improved LNURL compatibility π
- C-Lightning #5121 updates its
- Low-r grinding
- LDK #1388 adds default support for creating low-r signatures π
- Miniscript
- Bitcoin Core #24147 adds backend support for miniscript π
- MuSig
- Proposed BIP for MuSig2 π
- Output linking
- Silent addresses for delinked reusable addresses π
- Payjoin
- Tradeoffs of WabiSabi as an alternative to payjoin π
- Quantum resistance
- Discussion about quantum-safe key exchange π
- SIGHASH_ANYPREVOUT
- Request to activate a slightly modified APO instead of (or before) CTV π
- Signet
- Analysis of transactions on the CTV signet π
- Silent payments
- Silent payments proposed π
- Spontaneous payments
- LND #5414 begins advertising support for previously-implemented keysend payments π
- Taproot
- Bitcoin Core #23536 begins enforcing taproot on all blocks (except one) with segwit active π
- Vaults
- Proposal to use simple vaults as one benchmark for comparing different covenant designs π
March 2022
- Covenants
- Replace-by-fee (RBF)
- Basic Bitcoin Lisp Language (bll)
- Suggestion to add a variation of Chia Lisp to Bitcoin as a new scripting language π
- Channel announcements
- Continued discussion about updated gossip proposal π
- Channel factories
- Proposed
OP_EVICT
opcode to make channel factories more efficient π
- Proposed
- Coinswap
- Teleport Transactions 0.1 implements routable coinswaps π
- Child pays for parent (CPFP)
- BTCPay Server 1.4.5 adds support for CPFP fee bumping π
- Fee sniping
- BIPs #1269 assigns BIP326 to a recommendation for default taproot anti fee sniping π
- Joinpools
- Proposed
OP_EVICT
opcode to make joinpools more efficient π
- Proposed
- MuSig
- Proposal to use MuSig2 in the LN gossip protocol π
- Onion messages
- Proposal to charge for onion message bandwidth π
- OP_CHECKTEMPLATEVERIFY
- Continued CTV discussion and the design for a CTV-based vault π
- Output script descriptors
- Bitcoin Core #24043 adds new
multi_a
andsortedmulti_a
descriptors for taproot multisig π
- Bitcoin Core #24043 adds new
- Redundant overpayments
- Speeding up payment delivery with algorithms and stuckless payments π
- Sidechains
- Opcodes enabling recursive covenants may also permit drivechains π
- Simplicity
- BTC-Script (based on Chia Lisp) as an alternative to Simplicity π
- Soft fork activation
- Concern about Speedy Trial activation for controversial soft forks π
- Transaction pinning
- Idea to prevent pinning by allowing transaction to signal that descendant limits π
- Vaults
- Design and code for a CTV-based vault π
- Zero-conf channels
- LDK #1311 adds support for SCID alias field useful for zero-conf channels π
February 2022
- OP_CHECKTEMPLATEVERIFY
- SIGHASH_ANYPREVOUT
- Channel announcements
- Updated gossip proposal π
- Covenants
- Proposal for composable
OP_TX
opcode useful for constructing covenants π
- Proposal for composable
- Discreet Log Contracts (DLCs)
- Discussion about how CTV or other covenant features could make DLCs much more efficient π
- Fee sponsorship
- Fee bumping discussion with advocacy for fee sponsorship π
- Generic signmessage
- BIPs #1279 updates BIP322 with clarifications and test vectors π
- Minisketch
- New LN gossip wire protocol proposal designed for use with minisketch π
- OP_CHECKSIGFROMSTACK
- Proposal for
OP_TX
opcode composable withOP_CHECKSIGFROMSTACK
π
- Proposal for
- Proof of reserves
- Kraken announces proof of reserves scheme π
- Partially signed bitcoin transactions
- HWI #549 adds support for PSBT version 2 π
- Replace-by-fee (RBF)
- Discussion about RBF policy, including suggested changes π
- Signet
- Parameters published for
OP_CHECKTEMPLATEVERIFY
signet π
- Parameters published for
- Stateless invoices
- LDK #1199 uses stateless invoices to allow phantom node payments π
January 2022
- Partially signed bitcoin transactions
- Bitcoin Core #23718 adds support for displaying hashes and preimages contained in PSBTs π
- Bitcoin Core #17034 adds support for version 2 PSBTs and for preserving proprietary fields π
- Rust Bitcoin #681 adds support for BIP371βs additional PSBT fields for taproot π
- Rust Bitcoin #669 improves partial signature support with discussion about nulldummy vectors π
- BIPs #1270 updates the PSBT specification to discourage signature placeholders π
- Onion messages
- Stateless invoices
- OP_CHECKTEMPLATEVERIFY
- Anchor outputs
- Eclair #2134 enables anchor outputs by default π
- Bech32(m)
- Bitcoin Core GUI #459 allows users to choose to create bech32m addresses π
- Compact block filters
- Bitcoin Core #17631 adds new REST endpoint for compact block filters π
- Duplicate transactions
- Description of Block 1,983,702 Problem added to testnet documentation π
- Erlay
- PR Review Club: #23443 implementing Erlay support signaling π
- Fee estimation
- ECDSA signature grinding helps with fee estimation π
- Fee sponsorship
- Fee accounts, an outgrowth from fee sponsorship π
- LNURL
- BTCPay Server #3083 allows administrators to log in using LNURL authentication π
- Offers
- Eclair #2117 adds onion message replies in preparation for supporting offers π
- Output script descriptors
- HWI #545 adds support for taproot
tr()
descriptors π
- HWI #545 adds support for taproot
- Package relay
- Bitcoin Core #22674 adds logic for validating packages of transactions against relay policy π
- Pay-to-Contract (P2C) protocols
- PSBT extension for pay-to-contract fields π
- Payment secrets
- Rust-Lightning #1177 uses the payment secret field to store encrypted invoice information π
- Replace-by-fee (RBF)
- Proposal to briefly allow full RBF before using default opt-in RBF π
- Taproot
- Question: is it possible to convert a taproot address into a v0 native segwit address? π
- Testnet
- Bitcoin Core #23882 updates documentation about testnet3 to mention the BIP30 problem π
December 2021
- Onion messages
- Bech32(m)
- Dual funding
- Output script descriptors
- Point Time Locked Contracts (PTLCs)
- Replace-by-fee (RBF)
- Anchor outputs
- Rust-Lightning #1176 adds initial support for anchor outputs-style fee bumping π
- AssumeUTXO
- Bitcoin Core #23155 extends the
dumptxoutset
RPC with new information π
- Bitcoin Core #23155 extends the
- Atomic multipath payments (AMPs)
- 2021 year-in-review: atomic multipath payments π
- Channel jamming attacks
- 2021 year-in-review: channel jamming π
- CPFP carve out
- Research into alternatives to CPFP carve-out for fee bumping in multiparty contract protocols π
- Hardware wallet interface (HWI)
- HWI #475 adds support for the Blockstream Jade hardware signer π
- Offers
- 2021 year-in-review: offers π
- Package relay
- 2021 year-in-review: mempool package acceptance and package relay π
- Proof of payment
- LND adds support for AMP-based spontaneous payments, combining systems without proof of payment π
- Partially signed bitcoin transactions
- Bitcoin Core #22513 allows walletprocesspsbt to sign without finalizing π
- SIGHASH_ANYPREVOUT
- 2021 year-in-review: SIGHASH_ANYPREVOUT π
- Signet
- 2021 year-in-review: signet π
- Soft fork activation
- Analysis of treating taproot outputs as always usable post-activation π
- Taproot
- 2021 year-in-review: taproot π
- Uneconomical outputs
- Discussion about removing the dust limit for one particular case π
- Zero-conf channels
- 2021 year-in-review: zero-conf channel opens π
November 2021
- Taproot
- Atomic multipath payments (AMPs)
- Anonymity networks
- Bitcoin Core #23077 enables address relay via CJDNS π
- Bech32(m)
- Rust Bitcoin #691 adds an API to create bech32m addresses for a P2TR scriptPubKey π
- Channel jamming attacks
- Summary of LN developer conference, including discussion of channel jamming attacks π
- Compact block filters
- Discussion of additional compact block filter verification π
- Discreet Log Contracts (DLCs)
- Mailing list post about DLCs over LN π
- Eclipse attacks
- LND 0.14.0-beta includes additional eclipse attack protection by sharing block headers π
- Eltoo
- Summary of LN developer conference, including discussion of eltoo π
- MuSig
- Summary of LN developer conference, including discussion of MuSig2 π
- Offers
- Summary of LN developer conference, including discussion of offers π
- Onion messages
- Eclair #1957 adds basic support for onion messages π
- OP_CHECKTEMPLATEVERIFY
- BIPs #1215 makes several updates to the BIP119 OP_CHECKTEMPLATEVERIFY proposal π
- Out-of-band fees
- Discussion about submitting transactions directly to miners π
- Point Time Locked Contracts (PTLCs)
- Summary of LN developer conference, including discussion of PTLCs π
- Redundant overpayments
- LN summit 2021: stuckless payments π
- Spontaneous payments
- LND #5803 allows multiple spontaneous payments to the same invoice π
- Testnet
- Software incorrectly implementing compact block filtering failed on testnet π
- Trampoline payments
- Summary of LN developer conference, including discussion of trampoline payments π
- Zero-conf channels
- Rust-Lightning #1078 adds channel_type negotiation useful for zero-conf channels π
October 2021
- Uneconomical outputs
- Multiple implementations of BOLTs #894 which allow using a lower commitment tx dust limit π
- Multiple implementations of LN vulnerable to uneconomical spending CVEs π
- Bitcoin Core #22863 documents P2TR dust amount π
- BOLTs #894 specifies various checks related to uneconomical payments in LN π
- Bech32(m)
- Eltoo
- Output linking
- Output script descriptors
- Point Time Locked Contracts (PTLCs)
- Taproot
- Async payments
- Paying offline nodes π
- Channel factories
- Inherited identifiers proposal with an alternative channel factory design π
- Channel jamming attacks
- Making jamming attacks more expensive by lowering the cost of probing π
- Coin selection
- Bitcoin Core #17526 adds Single Random Draw coin selection algorithm π
- Coinjoin
- Sparrow 1.5.0 adds coinjoin suport π
- Fee estimation
- Bitcoin Core #22539 includes replacement transactions seen by the local node in fee estimates π
- Joinpools
- Post-taproot soft fork ideas: OP_TAPLEAF_UPDATE_VERIFY π
- Pay-to-Contract (P2C) protocols
- Taproot history: pay to contract protocol π
- Payment probes
- Lowering the cost of probing to make attacks more expensive π
- Partially signed bitcoin transactions
- LND #5363 allows PSBTs to be finalized by external software π
- SIGHASH_ANYPREVOUT
- Inherited identifiers proposal as an alternative to
SIGHASH_ANYPREVOUT
π
- Inherited identifiers proposal as an alternative to
- Tapscript
- Rust Bitcoin #644 adds support for tapscriptβs new opcodes π
- Testnet
- Instructions for creating taproot transactions on testnet π
- Timeout trees
- New timeout trees idea for minimizing onchain data when channel factory users become unresponsive π
- Vaults
- Should vaults always have a cooperative taproot keypath spend? π
- Watchtowers
- Inherited identifiers proposal with alternative simplified watchtower design π
September 2021
- Taproot
- Anchor outputs
- Partially signed bitcoin transactions
- Signet
- Vaults
- Anonymity networks
- Bitcoin Core 22.0 adds support for I2P connections and removes v2 Tor connections π
- Coin selection
- Bitcoin Core #22009 introduces new heuristic to compare the effectiveness of coin selection results π
- Compact block relay
- Disabling compact block relay for
-blocksonly
nodes π
- Disabling compact block relay for
- Covenants
- OP_TAPLEAF_UPDATE_VERIFY opcode proposed with a taproot-native covenant design π
- Child pays for parent (CPFP)
- Proposal of initial CPFP rules for mempool package acceptance before implementing package relay π
- Discreet Log Contracts (DLCs)
- Discussion about DLC specification breaking changes π
- Eltoo
- Eltoo demo implementation with new blog post overview π
- Generic signmessage
- Preparing for taproot: generic signmessage still needed π
- HD key generation
- Complications for HD wallet recovery in zero HTLC fee anchor outputs protocol π
- Hash Time Locked Contract (HTLC)
- Updating LN for taproot: from HTLCs to PTLCs π
- Joinpools
- OP_TAPLEAF_UPDATE_VERIFY proposal to simplify covenant and joinpool implementation π
- LNURL
- Lightning Address identifiers announced based on LNURL π
- Output script descriptors
- BIPs #1143 introduces BIPs 380-386 specifying output script descriptors π
- Package relay
- Proposal of initial rules for mempool package acceptance before implementing package relay π
- Pooled mining
- Announcement of BraidPool, a P2Pool alternative π
- Point Time Locked Contracts (PTLCs)
- Updating LN for taproot: from HTLCs to PTLCs π
- Replace-by-fee (RBF)
- Proposal of initial RBF rules for mempool package acceptance before implementing package relay π
- Responsible disclosures
- Ajmal Aboobacker and Abdul Muhaimin disclose cross-site scripting vulnerabilities in BTCPay Server π
- Stateless invoices
- Stateless invoices to avoid tracking unused payment requests π
- Transaction bloom filtering
- Rust Bitcoin #580 adds support for the BIP37 P2P network messages π
August 2021
- Scriptless multisignatures
- Offers
- Uneconomical outputs
- Adaptor signatures
- Preparing for taproot: signature adaptors π
- Coinjoin
- JoinMarket 0.9.0 released with implementation of fidelity bonds for coinjoin sybil resistance π
- Dual funding
- C-Lightning 0.10.1 updates the experimental implementation of dual funding π
- Hash Time Locked Contract (HTLC)
- Privacy problems with HTLCs π
- Liquidity advertisements
- Question: Will liquidity ads allow for third-party purchased liquidity (βsidecar channelsβ)? π
- Multipath payments
- Discussion about the effect of base fees on multipath payment costs π
- MuSig
- Overview of MuSig1, MuSig2, and MuSig-DN π
- Package relay
- Bitcoin Core #21800 implements ancestor and descendant limits for mempool package acceptance π
- Payment secrets
- BOLTs #887 updates BOLT11 to require that spenders specify the payment secret π
- Point Time Locked Contracts (PTLCs)
- Preparing for taproot: PTLCs π
- Reproducible builds
- Bitcoin Core #22642 allows concatenation of Guix-based attestations for batch verification π
- Spontaneous payments
- Rust-Lightning #967 adds support for sending keysend-style spontaneous payments π
- Transaction bloom filtering
- History of the
mempool
P2P message being deprecated along with BIP37 bloom filters π
- History of the
July 2021
- Output script descriptors
- Bech32(m)
- Taproot
- Addr v2
- BIPs #1134 clarifies BIP155 usage of `sendaddr2β P2P feature negotiation message π
- Anonymity networks
- Bitcoin Core #22112 changes the assumed port for I2P addresses to be 0 instead of 8333 π
- Block explorers
- BTCPay Server #2655 improves privacy by not sending HTTP referer field to explorers π
- Channel announcements
- C-Lightning #4639 adds experimental support for gossiping liquidity advertisements π
- Discreet Log Contracts (DLCs)
- Alpha release of Suredbitsβs DLC wallet π
- Dual funding
- C-Lightning #4639 adds experimental support for liquidity advertisments based on dual funding π
- HD key generation
- No changes to BIP32 derivation needed to implement taproot receiving support π
- Liquidity advertisements
- C-Lightning #4639 adds experimental support for liquidity advertisements π
- LNURL
- Stacker News launched with LNURL authentication π
- Offers
- Offers specification updated to no longer require a signature π
- OP_CAT
- Discussion about
OP_CHECKSIGFROMSTACK
branches off into discussion aboutOP_CAT
π
- Discussion about
- OP_CHECKSIGFROMSTACK
- Call for
OP_CHECKSIGFROMSTACK
design suggestions π
- Call for
- Payment secrets
- C-Lightning #4646 makes payment secrets required π
- Partially signed bitcoin transactions
- BIPs #1139 adds BIP371 specifying new fields for using PSBTs with P2TR spends π
- Reproducible builds
- Question: whatβs the purpose of Guix within Gitian? π
- Schnorr signatures
- Libsecp256k1 #844 updates schnorr API to allow signing arbitrary length messages π
- SIGHASH_ANYPREVOUT
- BIPs #943 updates BIP118 to be named SIGHASH_ANYPREVOUT rather than SIGHASH_NOINPUT π
- Unannounced channels
- C-Lightning #4611 updates the
keysend
RPC to support unannounced channels π
- C-Lightning #4611 updates the
- Wallet labels
- Bitcoin Core #19651 allows the wallet key manager to edit labels among other data π
- Zero-conf channels
- Discussion about standardizing zero-conf channel opens π
June 2021
- Taproot
- Bech32(m)
- Atomic multipath payments (AMPs)
- HD key generation
- Replace-by-fee (RBF)
- Adaptor signatures
- Question: Why does blockwide signature aggregation prevent adaptor signatures? π
- Anchor outputs
- LND 0.13.0-beta begins using anchor outputs by default for all new channels π
- Anonymity networks
- Bitcoin Core #22050 drops support for deprecated version 2 Tor onion services π
- Channel commitment upgrades
- C-Lightning #4532 adds experimental support for upgrading a channel π
- Coinjoin
- Candidate set based block templates may help fee bumping large coinjoins π
- Child pays for parent (CPFP)
- Candidate set block templates may make some CPFP fee bumps more effective π
- Cross-input signature aggregation (CISA)
- Question: why does signature aggregation interefer with signature adaptors? π
- Fee sniping
- BIP proposed for wallets to set nSequence by default on taproot transactions π
- Hardware wallet interface (HWI)
- Bitcoin Core GUI #4 adds initial support for using HWI external signers via the GUI π
- Large channels
- BOLTs #877 removes the protocol-level per-payment amount limit π
- LNURL
- Phoenix v1.4.12 adds support for the LNURL-pay protocol π
- MuSig
- Benchmark: 1 million signers with MuSig π
- Output script descriptors
- Bitcoin Core #22051 adds support for importing descriptors for taproot outputs π
- Package relay
- Bitcoin Core #20833 allows
testmempoolaccept
to evaluate descendant transaction chains π
- Bitcoin Core #20833 allows
- Payjoin
- BTCPay Server #2450 makes generating payjoin-compatible invoices the default for new hot wallets π
- Payment batching
- Candidate set based block templates may help fee bumping batched payments π
- Payment secrets
- LND #5336 allows non-interactive reuse of AMP invoices by changing the payment secret π
- Partially signed bitcoin transactions
- PSBT extensions for taproot π
- Responsible disclosures
- Eugene Siegel responsibly disclosed a remote crash vulnerability in Bitcoin Core π
- Signet
- LND #5025 adds basic support for using signet π
- Tapscript
- Bitcoin Core #21365 allows the wallet to create signatures for tapscript spends π
May 2021
- Taproot
- HD key generation
- Soft fork activation
- Atomic multipath payments (AMPs)
- Bech32(m)
- Child pays for parent (CPFP)
- Output script descriptors
- Payment secrets
- Partially signed bitcoin transactions
- Replace-by-fee (RBF)
- Anchor outputs
- LND #5274 limits the maximum funds reserved for fee bumping anchor outputs π
- AssumeUTXO
- Bitcoin Core #19521 simplifies generating UTXO set hashes for old blocks π
- CVEs (various)
- CVE-2021-31876: discrepancy between BIP125 and Bitcoin Core implementation π
- Dual funding
- C-Lightning #4489 adds plugin for configuring dual-funding behavior π
- Gap limits
- BIPs #1025 assigns BIP88 to the standardized format for BIP32 path templates π
- Multipath payments
- Electrum 4.1.0 adds support for multipath payments π
- Peer storage
- Restoring LN channels from only a BIP32 seed π
- Reproducible builds
- Bitcoin Core #21462 adds tooling for attesting to Guix-based builds π
- Responsible disclosures
- Antoine Riard disclosed CVE-2021-31876 enhanced pinning against LN due to BIP125 discrepancy π
- Schnorr signatures
- Rust Bitcoin #589 starts implementing support for taproot and schnorr signatures π
- Segregated witness
- Bitcoin Core #21009 removes logic needed to upgrade a pre-segwit node to segwit π
- Static channel backups
- Closing lost channels with only a BIP32 seed and option_data_loss_protect π
- Trampoline payments
- Electrum 4.1.0 adds support for trampoline payments π
- Transaction pinning
- CVE-2021-31876 reduces expected cost of some pinning attacks π
April 2021
- Soft fork activation
- Anonymity networks
- Dual funding
- Taproot
- Adaptor signatures
- Libsecp256k1-zkp #117 adds support for simplified ECDSA signature adaptors π
- Anchor outputs
- Request for feedback on using anchor outputs by default in LND π
- ASICBoost
- Question about block templates versus actual blocks: ASICBoost explains one difference π
- Atomic multipath payments (AMPs)
- LND #5108 adds support for spontaneous multipath payments using AMP π
- Child pays for parent (CPFP)
- Challenges of using CPFP fee bumps for LN commitment transactions π
- Fee sponsorship
- Call for topics in layer-crossing workshop, including fee sponsorship π
- Miniscript
- Specter-DIY v1.5.0 adds support for miniscript π
- Scriptless multisignatures
- Signature adaptors without requiring support for multisignatures π
- Offers
- Offers specification updated to partly address stuck payments π
- OP_CHECKTEMPLATEVERIFY
- Public launch of Sapio with support for using
OP_CHECKTEMPLATEVERIFY
π
- Public launch of Sapio with support for using
- Output script descriptors
- Specter-DIY v1.5.0 adds full descriptor support π
- Package relay
- Upcoming relay policy workshop to discuss package relay and other topics π
- Pay-to-Contract (P2C) protocols
- Question: Can Taproot commit arbitrary data to chain without any additional footprint? π
- Payjoin
- BTCPay Server #2425 allows receiving payjoin payments without an inovice π
- Proof of payment
- Using LN offers and proof of payment to partly address stuck payments π
- Replace-by-fee (RBF)
- Upcoming relay policy workshop to discuss RBF and other topics π
- Side channels
- Libsecp256k1 #906 reduces iterations when using a constant-time signing algorithm π
- Signet
- Discussion about multiple signet compatibilty with soft fork activation π
- Splicing
- Draft specification for LN splicing based on interactive funding protocol π
- Spontaneous payments
- LND #5108 adds support for spontaneous multipath payments using AMP π
- Timelocks
- Challenges related to timelocks when using CPFP fee bumping in LN π
March 2021
- Taproot
- Bech32(m)
- Anonymity networks
- Hardware wallet interface (HWI)
- Partially signed bitcoin transactions
- Soft fork activation
- Addr v2
- Bitcoin Core #20685 Adds I2P support, including addrv2 gossiping π
- Anchor outputs
- Eclair 0.5.1 adds and updates features preparing for anchor outputs π
- BIP70 payment protocol
- Mailing list discussion about a BIP70 replacement π
- CLTV expiry delta
- Rust-Lightning #849 makes
cltv_expiry_delta
configurable and reduces the default from 72 to 36 π
- Rust-Lightning #849 makes
- Discreet Log Contracts (DLCs)
- Discussion of fraud proofs in DLC v0 specification π
- Discrete log equivalency (DLEQ)
- C-Lightning #4410 updates to latest dual-funding specification draft, which no longer uses PODLE π
- Dual funding
- C-Lightning #4410 updates experimental implementation dual funding π
- Erlay
- PR Review Club: #18261 implementing Erlay π
- Hash Time Locked Contract (HTLC)
- Eclair #1738 combines multiple HTLC enforcements into a single transaction π
- Just-in-time (JIT) routing
- Paper analyzes effect of JIT rebalancing on payment success rate π
- LNURL
- Discussion about a BIP70 replacement, including a version that works with LNURL π
- Multipath payments
- New paper analyzes benefit of multipath payments on routing success π
- Output linking
- Reused hash-based addresses provide no quantum resistance π
- Output script descriptors
- Specter v1.2.0 includes support for Bitcoin Core descriptor wallets π
- Quantum resistance
- Discussion of quantum computer attacks on taproot π
- Replace-by-fee (RBF)
- Recovering lost LN funding transactions after RBF fee bumping π
- Side channels
- Libsecp256k1 #831 implements SafeGCD algorithm which speeds up side-channel resistant signing π
- Signer delegation
- Signing delegation under existing consensus rules π
- Spontaneous payments
- C-Lightning #4404 allows keysending to nodes that donβt advertise support π
- Tapscript
- Using backup tapscript spending paths to recover from crypto breaks π
February 2021
- Soft fork activation
- Compact block filters
- Output script descriptors
- Compact block relay
- Partially signed bitcoin transactions
- Taproot
- Bech32(m)
- BIPs #1056 adds BIP350 for bech32m π
- Channel announcements
- Blockstream Satellite begins broadcasting LN gossip data π
- Channel jamming attacks
- Renewed discussion about bidirectional upfront LN fees π
- Covenants
- Replicating the
OP_CSFS
covenant-enabling opcode withOP_CAT
and schnorr signatures π
- Replicating the
- Discreet Log Contracts (DLCs)
- New mailing list for discussion of DLC protocol development π
- Exfiltration-resistant signing
- Description of anti-exfiltration technique being used in BitBox02 and Jade hardware wallets π
- Generic signmessage
- BIPs #1048 rewrites BIP322 to simplify implementation π
- HD key generation
- Proposal for secure exchange of BIP32 xpubs during multisig wallet set up π
- OP_CAT
- Replicating
OP_CHECKSIGFROMSTACK
with schnorr signatures andOP_CAT
π
- Replicating
- OP_CHECKSIGFROMSTACK
- Replicating
OP_CHECKSIGFROMSTACK
with schnorr signatures andOP_CAT
π
- Replicating
- Point Time Locked Contracts (PTLCs)
- Technique for implementing logical OR on LN using PTLCs π
- Schnorr signatures
- Comparison of SSS to
OP_CHECKMULTISIG
to schnorr multisignatures π
- Comparison of SSS to
- Side channels
- New SafeGCD algorithm can speed up signing while remaining side-channel resistant π
- SIGHASH_ANYPREVOUT
- Using schnorr signatures plus
OP_CAT
to simulateSIGHASH_ANYPREVOUT
π
- Using schnorr signatures plus
- Vaults
- Using schnorr signatures plus
OP_CAT
to create vaults π
- Using schnorr signatures plus
January 2021
- Output script descriptors
- Addr v2
- Anchor outputs
- Anonymity networks
- Compact block filters
- Payjoin
- Signet
- AssumeUTXO
- MuHash function added in preparation for tracking UTXO state hashes π
- Bech32(m)
- Draft BIP for bech32m π
- Discrete log equivalency (DLEQ)
- New proposal to prevent UTXO probing in LN dual funding compared to PODLE π
- Dual funding
- Preventing UTXO probing in dual funded channels; PoDLE tradeoffs π
- Eclipse attacks
- Proposed
disabletx
message to help allow more block-relay-only peers π
- Proposed
- Generic signmessage
- Proposed rewrite of BIP322 to simplify implementation π
- Offers
- C-Lightning 0.9.3 released with experimental offers support π
- Payment probes
- Preventing UTXO probing in dual funded channels π
- Partially signed bitcoin transactions
- LND 0.12.0-beta adds a new
psbt
wallet subcommand for PSBTs π
- LND 0.12.0-beta adds a new
- Replace-by-fee (RBF)
- Question: would first-seen-safe prevent confirmed RBF double spends? π
- Reproducible builds
- Bitcoin Core #17920 adds Guix support for macOS builds π
- Soft fork activation
- Meeting scheduled to discuss taproot activation π
- Taproot
- Meeting to discuss taproot activation mechanisms π
- Vaults
- Making hardware wallets compatible with advanced features, like vaults π
December 2020
- Anchor outputs
- Bech32(m)
- Addr v2
- Eclipse attacks
- Channel jamming attacks
- Coinswap
- Hash Time Locked Contract (HTLC)
- Offers
- Partially signed bitcoin transactions
- Soft fork activation
- Adaptor signatures
- 2020 year in review: signature adaptors for LN channel commitments π
- Anonymity networks
- Year-in-review: support for Tor v3 onion addresses π
- Compact block filters
- 2020 year in review: compact block filters π
- Compact block relay
- Bitcoin Core #19776 updates
getpeerinfo
RPC with BIP152 peer status π
- Bitcoin Core #19776 updates
- CVEs (various)
- CVE-2020-26896: LND #4752 updates preimage revelation code π
- Discreet Log Contracts (DLCs)
- 2020 year-in-review: four compatible implementations of DLCs π
- Dual funding
- 2020 year-in-review: LN dual funding and interactive funding π
- Fee estimation
- Bitcoin Core #18766 disables the ability to get fee estimates when using blocks-only mode π
- Generic signmessage
- 2020 year in review: generic signmessage π
- Large channels
- 2020 year in review: large channels π
- Miniscript
- Formal specification of miniscript π
- MuSig
- 2020 year in review: MuSig2 π
- Output linking
- 2020 year in review: transaction origin privacy π
- Output script descriptors
- Bitcoin Wallet Tracker (BWT) adds descriptor support π
- Payjoin
- 2020 year in review: payjoin π
- Payment batching
- BOLTs #803 adds recommendations for securely using batches to settle HTLCs π
- Payment secrets
- LND #4752 prevents the node from releasing a local payment preimage without a payment secret π
- Point Time Locked Contracts (PTLCs)
- 2020 year in review: switching LN from HTLCs to PTLCs π
- Replace-by-fee (RBF)
- Sparrow wallet adds support for RBF fee bumping π
- Schnorr signatures
- 2020 year in review: Taproot, tapscript, and schnorr signatures π
- Signet
- 2020 year in review: signet π
- Taproot
- 2020 year in review: Taproot, tapscript, and schnorr signatures π
- Tapscript
- 2020 year in review: Taproot, tapscript, and schnorr signatures π
- Timelocks
- BOLTs #803 updates BOLT5 with recommendations for handling timelocks near maturity π
- Transaction pinning
- BOLT5 updated to prevent a transaction pinning attack π
- Vaults
- 2020 year in review: vaults π
- Watchtowers
- LND #4782 adds watchtower client support for channels using anchor outputs π
November 2020
- CVEs (various)
- Output script descriptors
- Soft fork activation
- Taproot
- AssumeUTXO
- Review Club summary of MuHash implementation for quickly hashing UTXO set π
- Channel jamming attacks
- Bi-directional upfront fees to mitigate jamming attacks π
- Eclipse attacks
- Eclair #1545 adds multiple header sources to make eclipse attacks harder π
- Hold invoices
- Discussion about bi-directional fees to allow charging for hold invoices π
- Multipath payments
- Eclair #1599 improves multipath spending to direct channel counterparties π
- Payjoin
- Sparrow Wallet 0.9.7 adds support for BIP78 payjoin π
- Payment batching
- Sparrow wallet adds support for payment batching π
- Signet
- Bitcoin Core #20145 adds script for requesting signet coins π
October 2020
- Channel jamming attacks
- Responsible disclosures
- Anonymity networks
- CVEs (various)
- Generic signmessage
- Soft fork activation
- Adaptor signatures
- Revised witness asymmetric channels proposal with signature adaptors π
- Addr v2
- Bitcoin Core #19954 implements BIP155 and Tor v3 support π
- Anchor outputs
- Eclair 0.4.2 adds experimental support for anchor outputs π
- Bech32(m)
- Discussion about updates to BIP173 bech32 to address mutability concerns π
- Hash Time Locked Contract (HTLC)
- CVE-2020-26896: premature preimage revelation in LND π
- MAST
- What are Merklized Alternative Script Trees? π
- MuSig
- MuSig2 paper published π
- Payjoin
- BlueWallet 5.6.1 adds support for BIP78 payjoin π
- Payment probes
- Upfront fees discussion and its ability to make probing more expensive π
- Payment secrets
- CVE-2020-26896 could have been prevented by payment secrets π
- Proof of payment
- CVE-2020-26896 improper preimage revelation gives proof of payment for stolen payments π
- Proof of reserves
- BIP322 generic signmessage updated to use virtual transactions that support basic proof of reserves π
- Partially signed bitcoin transactions
- LND #4389 adds a new
psbt
wallet subcommand for creating & signing PSBTs π
- LND #4389 adds a new
- Point Time Locked Contracts (PTLCs)
- Updated witness asymmetric channels proposal for move from HTLCs to PTLCs π
- Schnorr signatures
- Bitcoin Core #19953 merged with consensus implementation of BIP340 π
- Signet
- Summary of Bitcoin Core PR Review Meeting on adding signet support π
- Spontaneous payments
- Eclair 0.4.2 adds support for keysend-style spontaneous payments π
- Taproot
- Bitcoin Core #19953 merged with consensus implementation of BIP341 π
- Tapscript
- Bitcoin Core #19953 merged with consensus implementation of BIP342 π
- Testnet
- Bitcoin PR review club on signet with questions and answers about testnet π
September 2020
- Anchor outputs
- LND #4558 updates LND to the latest anchor outputs specification π
- Vulnerability disclosed against experimenal anchor outputs proposal π
- LND #4606 & #4592 improve LNDβs effectiveness at fee bumping anchor outputs π
- Why do anchor outputs need to enforce an nSequence of 1? π
- Eclair #1501 adds support for unilateral closes of channels using anchors π
- LND #4576 starts adding support for anchor outputs to LNDβs watchtower π
- Signet
- Discussion about the parameters for a default signet π
- Discussion about the design decisions for signet π
- BIPs #983 updates BIP325 to omit signet commitments when unnecessary π
- Bitcoin Core #18267 and #19993 add support for signet π
- C-Lightning #4068 and #4078 update C-Lightningβs signet implementation π
- Payment batching
- Eclipse attacks
- Hash Time Locked Contract (HTLC)
- Schnorr signatures
- Timelocks
- Transaction pinning
- Adaptor signatures
- Using signature adaptors for witness asymmetric payment channels π
- Addr v2
- BIPs #907 updates BIP155 messages to allow addresses up to 512 bytes π
- Coinswap
- Continued coinswap discussion focused on potential weaknesses π
- CVEs (various)
- CVE-2018-17145: full disclosure of inv out-of-memory DoS attack π
- Dual funding
- C-Lightning #3973 adds the accepter side of dual-funded channels π
- Fee sponsorship
- Transaction fee sponsorship proposal π
- Hardware wallet interface (HWI)
- HWI #363 adds support for Bitbox02 hardware wallet π
- Large channels
- LND #4567 adds a new
--maxchansize
parameter for large channels π
- LND #4567 adds a new
- Miniscript
- Miniscript to warn or fail for safety when mixed time/height locks used π
- Payjoin
- Joinmarket 0.7.0 adds support for BIP78 payjoin π
- Partially signed bitcoin transactions
- Joinmarket 0.7.0 adds support for PSBTs π
- Point Time Locked Contracts (PTLCs)
- Using witness asymmetric payment channels for move from HTLCs to PTLCs π
- Replace-by-fee (RBF)
- C-Lightning #3870 implements RBF scorched earth for penalty transactions π
- Responsible disclosures
- Braydon Fuller and Javed Khan report CVE-2018-17145 DoS vulnerability to devs of full nodes π
- Soft fork activation
- Conversation about segwit activation history and ideas for taproot π
- Statechains
- Transcript of discussion about multiple topics, including statechains π
- Taproot
- Discussion about taproot activation parameters π
- Testnet
- C-Lightning #3763 adds a new RPC used to open a channel to every public testnet LN node π
August 2020
- Anchor outputs
- Partially signed bitcoin transactions
- CLTV expiry delta
- Miniscript
- Package relay
- Payment batching
- Signet
- Transaction pinning
- Addr v2
- Summary of Bitcoin Core PR Review Club discussion about an
addr
v2 PR π
- Summary of Bitcoin Core PR Review Club discussion about an
- Anonymity networks
- Bitcoin Core PR Review Club on a proposed implementation of BIP155 addr v2 π
- Coinswap
- Discussion about routed coinswaps π
- Compact block filters
- Bitcoin Core #19070 allows advertising support for serving BIP157 filters π
- Covenants
- Discussion about how Simplicity could be used for covenants π
- Discreet Log Contracts (DLCs)
- Beta application announced for creating test DLC derivatives π
- Dual funding
- C-Lightning #3954 adds locktime support to PSBT RPCs for dual funding π
- Eltoo
- Using attacks like transaction pinning and selective relay against eltoo π
- Expiration floods
- LN developer discussion about flood and loot attacks π
- Large channels
- LND 0.11.0-beta released with support for large channels by default π
- MAST
- Discussion about the evolution of MAST (and other things) into taproot π
- Multipath payments
- LND #4521 improves invoice routing hints for multipath payments π
- OP_CHECKTEMPLATEVERIFY
- Sapio: a new language for building contracts with OP_CHECKTEMPLATEVERIFY π
- Payjoin
- Wasabi adds support for BIP78 payjoin π
- Schnorr signatures
- Proposal to update BIP340 schnorr signatures to use evenness tiebreaker π
- Segregated witness
- BIPs #947 updates the BIP325 specification of signet to allow segwit-style virtual transactions π
- SIGHASH_ANYPREVOUT
- Discussion of various topics, including
SIGHASH_ANYPREVOUT
π
- Discussion of various topics, including
- Simplicity
- Transcript on implementing Simplicity as a taproot leaf version π
- Taproot
- Discussion of various topics, including taproot activation π
- Testnet
- Question: will there by a testnet4? π
July 2020
- Partially signed bitcoin transactions
- Bitcoin Core #19215 adds additional data to PSBTs for segwit inputs π
- C-Lightning #3775 adds RPCs for creating and using PSBTs π
- Electrum 4.0.1 replaces their partial transactions format with PSBTs π
- Initial release of Lily Wallet supports PSBTs π
- Field Report: Using PSBT at River Financial π
- LND #4455 makes it safe to batch open channels using PSBTs π
- Taproot
- Multipath payments
- Spontaneous payments
- Coinswap
- Segregated witness
- Soft fork activation
- Watchtowers
- Anchor outputs
- Eclair #1484 adds basic support for anchor outputs π
- Bech32(m)
- Proposed updates to BIP173 bech32 to address mutability concerns π
- Channel commitment upgrades
- Upgrading channel commitment formats π
- Compact block relay
- Consequences of not backporting taproot relay on compact block efficiency π
- Eltoo
- Upgrading LN commitment formats, including for eltoo π
- Gap limits
- Proposed BIP for BIP32 path templates, with maximum derivation limit π
- HD key generation
- Proposed BIP for BIP32 path templates π
- Hold invoices
- Zap 0.7.0 Beta adds support for hold invoices π
- Hash Time Locked Contract (HTLC)
- Discussion about the incentives to mine HTLCs π
- Hardware wallet interface (HWI)
- Initial release of Lily Wallet supports HWI π
- Large channels
- LND #4429 enables support for large channels by default π
- Scriptless multisignatures
- Discussion of multisignatures and threshold signatures π
- MuSig
- Presentations and discussions about musig-style multiparty signatures π
- Out-of-band fees
- Discussion of HTLC mining incentives and out-of-band fees π
- Output script descriptors
- Field Report: Using descriptors at River Financial π
- Package relay
- New BIP339 wtxid transaction announcements simplifies package relay π
- Payjoin
- New BIP78 specification of payjoin π
- Schnorr signatures
- Presentations and discussions about schnorr signatures π
- SIGHASH_ANYPREVOUT
- Request to replace BIP118 with the
SIGHASH_ANYPREVOUT
proposal π
- Request to replace BIP118 with the
- Simplicity
- Question about implementing taproot with Simplicity π
- Statechains
- Transcript about watchtowers and their usefulness for statechains π
- Submarine swaps
- Electrum 4.0.1 adds support for submarine swaps π
- Threshold signature
- Discussion about digital signatures schemes, including threshold signatures π
- Transaction origin privacy
- Bitcoin Core #19109 adds a per-peer rolling bloom filter to track recent tx announcements π
- Vaults
- Service proposed for storing presigned vault transactions π
June 2020
- Taproot
- Coinjoin
- Eclipse attacks
- Payjoin
- Responsible disclosures
- SIGHASH_ANYPREVOUT
- Adaptor signatures
- Paying for a PTLC pointlock using an signature adaptors π
- Anchor outputs
- Anchor outputs may help mitigate LN fee ransom attack π
- Anonymity networks
- Desktop version of Blockstream Green released with Tor support π
- Coinswap
- Design for a coinswap implementation π
- Compact block filters
- Bitcoin Core #19010 & #19044 add additional messages from BIP157 π
- Dual funding
- Sydney meetup discussion about LN, including dual funding π
- Eltoo
- Impact of SIGHASH_NOINPUT and eltoo on LN backups π
- HD key generation
- BIPs #910 Assigns BIP85 to the Deterministic Entropy From BIP32 Keychains proposal π
- Hash Time Locked Contract (HTLC)
- LN fee ransom attack against channels that accept too many HTLCs π
- Hardware wallet interface (HWI)
- Fix for segwit fee overpayment attack affects HWI compatibility π
- Joinpools
- CoinPool generalized privacy for identifiable onchain protocols π
- Scriptless multisignatures
- Warning about using 160-bit addresses for naive multiparty multisignatures π
- Partially signed bitcoin transactions
- Bitcoin Core #18027 adds GUI support for signing & broadcasting PSBTs π
- Segregated witness
- Fee overpayment attack on multi-input segwit transactions π
- Soft fork activation
- Meetup discussion including potential soft fork activation mechanisms π
- Transaction bloom filtering
- Bitcoin Core #19260 disconnects peers who inappropriately send filterclear π
- Vaults
- Presentation of the Revault multiparty vault architecture π
- Wallet labels
- LND #4228 adds a new
labeltx
wallet command π
- LND #4228 adds a new
May 2020
- Large channels
- Multipath payments
- Partially signed bitcoin transactions
- Spontaneous payments
- Taproot
- Responsible disclosures
- Schnorr signatures
- Anchor outputs
- LND 0.10 presentation: anchor outputs π
- Anonymity networks
- Presentation on enhancements in LND 0.10, including better Tor support π
- Coinjoin
- Allowing hardware wallets to safely sign automated coinjoin transactions π
- Coinswap
- Two-transaction cross chain atomic swap or same-chain coinswap π
- Compact block filters
- Bitcoin Core #18877 adds
getcfcheckpt
andcfcheckpt
messages π
- Bitcoin Core #18877 adds
- Consensus cleanup soft fork
- Discussion of minimum safe transaction sizes π
- Child pays for parent (CPFP)
- Copay adds support for CPFP fee bumping incoming transactions π
- CVEs (various)
- CVE-2017-12842: discussion about minimum transaction size π
- Dual funding
- C-Lightning #3738 adds initial support for PSBTs, part of dual funding π
- Eclipse attacks
- Presentation about attacking Bitcoin Core, including using eclipse attacks π
- Generic signmessage
- Simplified BIP322, only allowing signatures from one script per proof π
- Merkle tree vulnerabilities
- CVE-2017-12842: discussion about minimum transaction size π
- Output script descriptors
- Bitcoin Core #16528 adds support for native output descriptor wallets π
- Signet
- BIP325 updated: all signets to use same genesis block but different magic π
- Simplicity
- Transcript on next generation smart contracting with Simplicity π
- Timelocks
- New cross-chain coinswap construction that only requires timelocks on one chain π
- Transaction origin privacy
- Bitcoin Core #18861 only allows a peer to request a tx if it informed that peer about the tx π
- Watchtowers
- C-Lightning #3659 adds support for watchtowers π
April 2020
- Multipath payments
- Scriptless multisignatures
- Adaptor signatures
- Covenants
- Large channels
- Partially signed bitcoin transactions
- Rendez-vous routing
- Schnorr signatures
- Unannounced channels
- Vaults
- Anchor outputs
- Using anchor outputs to ensure HTLC sends can be fee bumped π
- CLTV expiry delta
- New attack against LN payment atomicity: raising CLTV expiry delta recommended π
- Duplex micropayment channels
- Implementing statechains with duplex micropayment channels instead of LN-Symmetry π
- Eltoo
- Implementing statechains without eltoo π
- Fee estimation
- LND #4078 adds an
estimatemode
configuration setting for configuring its fee estimation π
- LND #4078 adds an
- Generic signmessage
- Proposed update to BIP322 generic signmessage π
- HD key generation
- Proposal for using one BIP32 keychain to seed multiple child keychains π
- Hash Time Locked Contract (HTLC)
- Using inconsistencies in node mempools to attack HTLC atomicity π
- Onion messages
- C-Lightning #3600 adds experimental support for onion messages using blinded paths π
- OP_CHECKTEMPLATEVERIFY
- Vault prototype with sample implementation using OP_CHECKTEMPLATEVERIFY π
- Package relay
- New LN attack; full solution requires package relay π
- Payjoin
- BTCPay adds support for sending and receiving payjoined payments π
- Proof of reserves
- BIP322 generic signmessage updated to remove abstraction for proof of reserves π
- Point Time Locked Contracts (PTLCs)
- Simplified ECDSA adaptor signatures for PTLCs in LN channels π
- Quantum resistance
- Question about paying public keys directly versus hash indirection π
- Reproducible builds
- Bitcoin Core #17595 adds Guix support for Windows builds π
- Responsible disclosures
- John Newbery responsibly disclosed tx censorship vulnerability co-discovered by Amiti Uttarwar π
- Signer delegation
- Implementing statechain delegation without schnorr or eltoo π
- Simplicity
- Question about Simplicity and static analysis π
- Spontaneous payments
- C-Lightning #3611 adds a keysend plugin to support spontaneous payments π
- Statechains
- Discussion about implementing statechains without schnorr or eltoo π
- Timelocks
- Using decrementing locktimes instead of eltoo for statechains π
March 2020
- Exfiltration-resistant signing
- Schnorr signatures
- Anchor outputs
- LND #3821 adds draft anchor commitments support π
- Anonymity networks
- BOLTs #751 updates BOLT7 to better handled multi-network node announcements π
- Eclipse attacks
- Review club discussion of Bitcoin Core #17428 anchor connections π
- Generic signmessage
- Additional request for feedback on BIP322 generic signmessage π
- Large channels
- Eclair #1323 advertise support for channel opens over ~0.17 BTC π
- Miniscript
- Question about a specification for miniscript π
- Payment batching
- Withdrawal transactions from Coinbase now use payment batching π
- Partially signed bitcoin transactions
- Bitcoin Core #17264 includes HD derivation path in PSBTs by default π
- Reproducible builds
- Eclair #1307 updates packaging to also reproducibly build Eclair GUI π
- Taproot
- Security analysis: taproot in the generic group model π
- Tapscript
- Bitcoin Core #16902 fixes an inefficiency in OP_IF related opcodes π
- Watchtowers
- Updated watchtower BOLT specification proposal π
February 2020
- Schnorr signatures
- Taproot
- Adaptor signatures
- Anonymity networks
- Discrete log equivalency (DLEQ)
- Dual funding
- Fee sniping
- Multipath payments
- Atomic multipath payments (AMPs)
- LND #3957 adds code useful for Atomic Multipath Payments (AMP) support π
- Channel jamming attacks
- Reverse upfront fees to mitigate jamming π
- Covenants
- OP_CHECKTEMPLATEVERIFY workshop report π
- Eclipse attacks
- Bitcoin Core #16702 chooses peers based on ASN instead of IP address π
- Hold invoices
- Reverse up-front payments could improve hold invoice cost spreading π
- Hardware wallet interface (HWI)
- BTCPay Vault using HWI for signing π
- Large channels
- BOLTs #596 updates BOLT2 to allow channel opens over ~0.17 BTC π
- MAST
- Discussion about taproot versus alternative MAST-enabling proposals π
- Offers
- New direct messages protocol to be used for offers π
- Onion messages
- Proposal for LN direct messages π
- OP_CHECKTEMPLATEVERIFY
- OP_CHECKTEMPLATEVERIFY workshop summary π
- Output script descriptors
- Bitcoin Core #18032 add
descriptor
field to multisig address RPCs π
- Bitcoin Core #18032 add
- Payment batching
- OP_CHECKTEMPLATEVERIFY discussion about compressed payment batching π
- Payment probes
- Discussion about preventing UTXO probing in interactively constructed LN funding transactions π
- Partially signed bitcoin transactions
- CKBunker using PSBTs for an HSM π
- Quantum resistance
- Question about whether taproot create security risk from quantum threats? π
- Redundant overpayments
- Presentation summary: Boomerang π
- Rendez-vous routing
- Decoy nodes and lightweight rendez-vous routing (blinded paths) π
- Reproducible builds
- Eclair #1295 allows the eclair-core module to be reproducibly built π
- Side channels
- Presentation: Remote Side-Channel Attacks on Anonymous Transactions π
- Soft fork activation
- OP_CHECKTEMPLATEVERIFY workshop discussion about activation mechanisms π
- Spontaneous payments
- Eclair 0.3.3 adds experimental support for trampoline payments π
- Tapscript
- btcdeb adds
tap
command for experimenting with taproot and tapscript π
- btcdeb adds
- Testnet
- BOLTs #682 updates
init
message to prevent mainnet nodes from connecting to testnet nodes π
- BOLTs #682 updates
- Vaults
- OP_CHECKTEMPLATEVERIFY (CTV) workshop discussion: using CTV with vaults π
- X-only public keys
- Alternative x-only tiebreaker proposed and discussion of safety of precomputed pubkeys π
January 2020
- Unannounced channels
- Coinjoin
- Multipath payments
- Output linking
- Partially signed bitcoin transactions
- Anchor outputs
- LND #3829 updates code & documentation to simplify adding anchor outputs π
- Discreet Log Contracts (DLCs)
- Drafting of an interoperability specification for DLCs π
- Eltoo
- Modification to
SIGHASH_ANYPREVOUTANYSCRIPT
to improve eltoo flexibility π
- Modification to
- HD key generation
- Question: why was the BIP32 fingerprint used for BIP174 PSBT? π
- Scriptless multisignatures
- BIPs #876 assigns BIP340 to new multisignature compatible scheme π
- OP_CHECKTEMPLATEVERIFY
- BIPs #875 assigns BIP119 to the OP_CHECKTEMPLATEVERIFY proposal π
- Output script descriptors
- Encoded descriptors (e.g., with base64) π
- Payment batching
- Non-equal value coinjoins could look like batching for improved privacy π
- Replace-by-fee (RBF)
- Bitcoin Core #16373 allows the bumpfee RPC used for RBF to return a PSBT π
- SIGHASH_ANYPREVOUT
- Modification to
SIGHASH_ANYPREVOUTANYSCRIPT
to improve eltoo flexibility π
- Modification to
- Soft fork activation
- Mailing list discussion of soft fork activation methods π
- Taproot
- Final organized review, presentation slides, and LN integration ideas π
- Uneconomical outputs
- LND #3809 adds a force parameter to the BumpFee RPC so that it can spend uneconomical UTXOs π
December 2019
- Bech32(m)
- Covenants
- Multipath payments
- OP_CHECKTEMPLATEVERIFY
- Payment secrets
- Watchtowers
- Eclipse attacks
- Tapscript
- Anchor outputs
- 2019 year-in-review: anchor outputs π
- Anonymity networks
- C-Lightning #3155 adds option to use a static onion service address π
- AssumeUTXO
- 2019 year-in-review: AssumeUTXO π
- BIP70 payment protocol
- 2019 year-in-review: Bitcoin Core BIP70 deprecation and disablement π
- Coinjoin
- 2019 year-in-review: SNICKER π
- Consensus cleanup soft fork
- 2019 year-in-review: consensus cleanup soft fork proposal π
- Erlay
- 2019 year-in-review: erlay π
- HD key generation
- Question: what is the max allowed depth for BIP32 derivation paths? π
- Hash Time Locked Contract (HTLC)
- Using eclipse attacks against nodes to prevent correct HTLC processing π
- Hardware wallet interface (HWI)
- 2019 year-in-review: HWI π
- Miniscript
- 2019 year-in-review: miniscript π
- Scriptless multisignatures
- Discussion about nested and composable multisignature schemes π
- MuSig
- Composable MuSigβconcerns about safely using signer sub-groups π
- OP_CODESEPARATOR
- Discussion of
OP_CODESEPARATOR
design for proposed tapscript soft fork π
- Discussion of
- Payment probes
- C-Lightning #3259 adds support for payment secrets designed to resist recipient probing π
- Proof of reserves
- Standardized format proposed for proof of reserves π
- Reproducible builds
- 2019 year-in-review: reproducible builds π
- SIGHASH_ANYPREVOUT
- 2019 year-in-review:
SIGHASH_ANYPREVOUT
π
- 2019 year-in-review:
- Signet
- 2019 year-in-review: signet π
- Taproot
- 2019 year-in-review: taproot π
- Testnet
- C-Lightning #3268 changes the default network from Bitcoin testnet to Bitcoin mainnet π
- Trampoline payments
- 2019 year-in-review: trampoline payments π
- Vaults
- 2019 year-in-review: vaults without covenants π
November 2019
- Multipath payments
- Bech32(m)
- Coin selection
- Compact block filters
- CPFP carve out
- Taproot
- Addr v2
- Proposed per-node signaling for address relay with v2
addr
messages π
- Proposed per-node signaling for address relay with v2
- Anchor outputs
- Continued discussion of LN anchor outputs π
- BIP70 payment protocol
- Bitcoin Core 0.19 released with BIP70 support disabled by default π
- Channel jamming attacks
- Hashcash and refund-based upfront fees to mitigate jamming π
- CVEs (various)
- CVE-2017-18350: full disclosure of SOCKS proxy vulnerability π
- Erlay
- Erlay-compatible transaction reconciliation protocol published as BIP330 π
- Low-r grinding
- C-Lightning #3220 begins always creating signatures with a low r value π
- Scriptless multisignatures
- Work on schnorr multisignature schemes that require reduced interactivity π
- MuSig
- MuSig and attacks based on Wagnerβs algorithm π
- Offers
- New proposed BOLT for offers protocol π
- Output linking
- Bitcoin Core 0.19 new feature:
avoid_reuse
wallet flag π
- Bitcoin Core 0.19 new feature:
- Partially signed bitcoin transactions
- Range of identifiers allocated to proprietary PSBT extensions π
- Schnorr signatures
- Blog post about x-only pubkeys for use in schnorr signature schemes π
- Signet
- Signet protocol published as BIP325 π
- Trampoline payments
- Eclair #1209 adds experimental support for trampoline onion format π
- Transaction bloom filtering
- Bitcoin Core 0.19 released with bloom filters disabled π
- X-only public keys
- Taproot review: blog post published about x-only pubkeys π
October 2019
- Schnorr signatures
- Taproot
- Tapscript
- Anchor outputs
- LN simplified commitments discussion π
- Anonymity networks
- Blockstream Green built-in Tor support for both iOS and Android π
- BIP70 payment protocol
- Bitcoin Core PR#17165 removes support for BIP70 payment protocol π
- Channel announcements
- C-Lightning #3064 begins limiting gossip updates to once per day π
- CPFP carve out
- LN simplified commitments using CPFP carve-out π
- CVE-2018-17144
- Talk summary: Near misses: what could have gone wrong π
- Default minimum transaction relay feerates
- Bitcoin Core #16507 fixes a rounding issue related to the minimum relay feerate π
- Erlay
- Draft BIP for enabling Erlay compatibility π
- MuSig
- Schnorr signatures and musig π
- OP_CAT
- Discussion about
SIGHASH_ANYPREVOUT
spins off into discussion aboutOP_CAT
π
- Discussion about
- Output script descriptors
- Descriptors extended with sortedmulti π
- Quantum resistance
- Question about whether hashing pubkeys really provides quantum resistance? π
- SIGHASH_ANYPREVOUT
- Continued discussion of noinput/anyprevout π
- Threshold signature
- Talk summary: The quest for practical threshold Schnorr signatures π
- X-only public keys
- Summary of updates to taproot proposal, including x-only public keys π
September 2019
- Channel announcements
- Adaptor signatures
- Presentation: Blockchain design patterns: Layers and scaling approaches π
- BIP70 payment protocol
- Bitcoin Core PR#15584 disables support for BIP70 by default π
- Coinjoin
- Simple Non-Interactive Coinjoin with Keys for Encryption Reused (SNICKER) π
- CPFP carve out
- Bitcoin Core #16421 merged allowing carve outs to be RBF replaced π
- Child pays for parent (CPFP)
- Refactor preparing for ancestor relay π
- Eclipse attacks
- Preventing eclipse attacks using block-relay-only connections π
- Eltoo
- Eltoo demo implementation π
- Hold invoices
- LND #3390 simplifies hold invoice logic by separate HTLC tracking π
- LN-Penalty
- Discussion of LN-Penalty versus proposed LN-Symmetry (eltoo) π
- Multipath payments
- LND #3390 separates tracking of HTLCs from invoices as necessary for SMP π
- Scriptless multisignatures
- Talk about how taproot enables scaling when used with multisignatures π
- Package relay
- Bitcoin Core #16400 refactors code in anticipation of package relay π
- Signet
- Eltoo demo implementation using custom signet π
- Taproot
- Suggested removal of P2SH address wrapper from taproot proposal π
- Tapscript
- Tapscript resource limits π
- Transaction origin privacy
- Transcript: βTxProbe: discovering Bitcoinβs network topology using orphan transactionsβ π
- Unannounced channels
- Talk about LN topology and lack of public info about unannounced channels π
- Watchtowers
- Watchtower storage costs π
August 2019
- Transaction bloom filtering
- Channel announcements
- LND #3359 adds an
ignore-historical-filters
configuration option for ignoring some gossip filters π
- LND #3359 adds an
- Covenants
- Bitcoin vaults without covenants π
- Hash Time Locked Contract (HTLC)
- C-Lightning #2858 limits the maximum number of pending HTLCs to limit costs π
- Miniscript
- Miniscript request for comments π
- Payment probes
- BOLTs #608 provides a privacy update to BOLT4 to probe channels for the ultimate recipient π
- Partially signed bitcoin transactions
- Modifying BIP174 for extensibility π
- Replace-by-fee (RBF)
- Compatibility matrixβReplace by Fee π
- Responsible disclosures
- Michael Ford responsibly disclosed a BIP70-related vulnerability in Bitcoin Core π
- Schnorr signatures
- Proposed change to schnorr pubkeys π
- Signet
- C-Lightning 0.7.2.1 released with support for signet π
- Soft fork activation
- Activation heights for previous soft forks hardcoded into Bitcoin Core π
- Trampoline payments
- BOLT PR and discussion about trampoline payments π
- Vaults
- Bitcoin vaults without covenants & weaknesses in previous vault proposals π
- X-only public keys
- Request for discussion about using x-only public keys in taproot π
July 2019
- Generic signmessage
- HD key generation
- Just-in-time (JIT) routing
- Signet
- Transaction bloom filtering
- Accountable Computing Contracts
- ZKCP versus standardized atomic data delivery following LN payments π
- Addr v2
- Version 2
addr
message assigned BIP155 π
- Version 2
- Anonymity networks
- BIPs #766 assigns BIP155 to the addr v2 proposal for v3 onion addresses π
- Channel announcements
- Gossip update proposed π
- Coinjoin
- Fidelity bonds for imporoved sybil resistance in distributed coinjoin π
- Compact block filters
- BIP157 bandwidth higher than BIP37 bloom filters π
- CPFP carve out
- Bitcoin Core #15681 merged with CPFP carve out π
- Hash Time Locked Contract (HTLC)
- Stuckless Payments: idea for HTLCs that can be revoked prior to acceptance π
- MuSig
- LN gossip update proposal to use MuSig π
- Partially signed bitcoin transactions
- Update to the utxoupdatepsbt RPC in Bitcoin Core π
- Redundant overpayments
- Stuckless payments proposed π
- Reproducible builds
- Merged PR for reproducible build of Bitcoin Core using GNU Guix π
- Schnorr signatures
- Executive briefing: the next soft fork π
- Sidechains
- Notable changes: BIP301 π
- Submarine swaps
- Lightning Loop adds support for user swap-ins π
- Tapscript
- BIP322 signmessage forward compatibility π
- Timelocks
- Fidelity bonds based on long-term timelocks π
- Watchtowers
- LND 0.7.0-beta release with initial watchtower support π
June 2019
- Replace-by-fee (RBF)
- MuSig
- OP_CHECKTEMPLATEVERIFY
- Threshold signature
- Anonymity networks
- Bitcoin Core #15651 always binds to the default port when listening on Tor π
- AssumeUTXO
- CoreDev.tech demo and discussion of assumeutxo π
- Channel announcements
- LND #2985 waits to relay gossip announcements until there are there are at least ten π
- Coin selection
- Bitcoin Core PR#13756 adds flag to avoid address reuse privacy loss π
- Consensus cleanup soft fork
- CoreDev.tech discussion: cleanup soft fork π
- Countersign
- CoreDev.tech meetings: v2 P2P transport and countersign π
- Covenants
- CoreDev.tech discussion: potential script changes π
- CPFP carve out
- Proposal to override some BIP125 conditions, alternative to carve out π
- Child pays for parent (CPFP)
- LND #3140 adds support for RBF and CPFP fee bumping sweep transactions π
- Dandelion
- Erlay compatible with BIP156 π
- Eclipse attacks
- Differentiating peers based on ASN instead of address prefix π
- Erlay
- Erlay proposed π
- Gap limits
- How can I mitigate concerns around the gap limit? π
- Hardware wallet interface (HWI)
- CoreDev.tech discussions: HWI integration into Bitcoin Core π
- OP_CHECKSIGFROMSTACK
- Discussion of potential script changes, including
OP_CSFS
π
- Discussion of potential script changes, including
- Output linking
- Bitcoin Core #13756 adds
avoid_reuse
wallet flag π
- Bitcoin Core #13756 adds
- Quantum resistance
- Bitcoin Core contributor meeting transcripts: taproot quantum discussion π
- Reproducible builds
- Breaking Bitcoin summaries: Bitcoin build system security π
- Side channels
- Presentation: Extracting Seeds from Hardware Wallets π
- Signet
- CoreDev.tech discussion: signet π
- Spontaneous payments
- Using ECDH for uncoordinated LN payments π
- Statechains
- Bitcoin Core contributor meeting discussion topic: blind statechains π
- Taproot
- Executive briefing: the next soft fork π
- Tapscript
- Executive briefing: Taproot and Tapscript π
- Transaction origin privacy
- Bitcoin Core #15834 fixes a bug introduced in #14897 semi-random order for requesting transactions π
- Transaction pinning
- Proposal to override some BIP125 RBF conditions to avoid pinning π
- Utreexo
- Utreexo Q&A session at CoreDev.Tech π
- Version 2 P2P transport
- CoreDev.tech discussion of v2 P2P transport proposal π
- Watchtowers
- LND PR #3133 adding support for altruist watchtowers π
May 2019
- Taproot
- OP_CHECKTEMPLATEVERIFY
- Payment batching
- SIGHASH_ANYPREVOUT
- Tapscript
- Covenants
- New proposed opcode: OP_CHECKOUTPUTSHASHVERIFY π
- Cross-input signature aggregation (CISA)
- Taproot to not include cross-input signature aggregation π
- CVEs (various)
- CVE-2012-2459: part of motivation for taproot tagged hashes π
- Eltoo
- SIGHASH_ANYPREVOUT proposal compatible with Eltoo π
- HD key generation
- Suggestion to include BIP32 derivation paths in BIP174 PSBTs π
- Hash Time Locked Contract (HTLC)
- Example of using taproot/tapscript with HTLCs π
- Hardware wallet interface (HWI)
- Bitcoin Core 0.18 with basic hardware signer support π
- MAST
- Overview of Taproot and itβs MAST-based encumbrances π
- Miniscript
- Final stack empty, insights from miniscript development π
- OP_CAT
- Alternative to COSHV (CTV) and SIGHASH_ANYPREVOUT: OP_CAT and OP_CHECKSIGFROMSTACK π
- OP_CHECKSIGFROMSTACK
- Criticism of
OP_COSHV
andSIGHASH_ANYPREVOUT
;OP_CSFS
as alternative π
- Criticism of
- Pay-to-Contract (P2C) protocols
- Eclair #965 allows specifying custom preimages, which can be used with pay-to-contract π
- Partially signed bitcoin transactions
- PSBT enhancements included in Bitcoin Core 0.18 π
- Reproducible builds
- New reproducibly-build architecture and Snap packages for Bitcoin Core π
- Soft fork activation
- Draft taproot proposal deliberately omits activation mechanism π
- X-only public keys
- Suggestion to use x-only public keys in taproot π
April 2019
- Segregated witness
- Uneconomical outputs
- AssumeUTXO
- Assume valid discussion π
- Channel announcements
- LND #2740 implements a new gossiper subsystem which puts its peers into two buckets π
- CLTV expiry delta
- LND #2759 lowers the default CLTV delta for all channels from 144 blocks to 40 blocks π
- Compact block filters
- Basic BIP158 support merged into Bitcoin Core π
- Hold invoices
- C-Lightning #2540 adds hook allowing plugins to implement hold invoices π
- Hash Time Locked Contract (HTLC)
- Question about whether HTLCs are cost effective for micropayments π
- Sidechains
- Elements Project bech32-like addresses π
- Trampoline payments
- Trampoline payments for LN π
March 2019
- Consensus cleanup soft fork
- CVEs (various)
- OP_CODESEPARATOR
- Merkle tree vulnerabilities
- Responsible disclosures
- Accidental confiscation
- Invalidation of
OP_CODESEPARATOR
could prevent existing UTXOs from being spent π
- Invalidation of
- Addr v2
- Version 2
addr
message proposed π
- Version 2
- Anonymity networks
- BIP for new address relay message to support Tor v3 onion addresses π
- ASICBoost
- Bitcoin Core #15471 removes warning falsely triggered by use of overt ASICBoost π
- Bech32(m)
- Bech32 sending support (24-part series) π
- Block explorers
- Esplora updated π
- Channel announcements
- LND #2690 puts more gossip traffic in a queue to allow prioritizing urgent information π
- Hold invoices
- LND #2022 merged adding support for hold invoices π
- Hash Time Locked Contract (HTLC)
- Lightning Loop: new tool using HTLCs for onchain/offchain swaps π
- MuSig
- Extensions to PSBTs to help make them compatible with advanced protocols π
- Output linking
- Esplora block explorer updated with privacy warning against address reuse π
- Pay-to-Contract (P2C) protocols
- Proposal to add extension fields to PSBTs for pay-to-contract π
- Partially signed bitcoin transactions
- Discussion of PSBT extension fields π
- SIGHASH_ANYPREVOUT
- Discussion about increasing
SIGHASH_NOINPUT_UNSAFE
safety π
- Discussion about increasing
- Signet
- Feedback requested on signet π
- Soft fork activation
- Consensus cleanup soft fork proposal (plans for BIP9 activation) π
- Submarine swaps
- Lightning Labs announces a new tool and service to facilitate submarine swaps π
- Testnet
- Feedback requested on signet, an alternative to testnet π
- Time warp
- Consensus cleanup proposal: fix the time warp attack π
- Timelocks
- Lightning Loop announce, using submarine swaps with onchain timelocks π
- Version 2 P2P transport
- Announcement of v2 P2P transport proposal π
- Watchtowers
- LND PR #2618 implementing private watchtower support π
February 2019
- Adaptor signatures
- Anonymity networks
- Eclair #736 adds support for using and becoming an onion service π
- BIP70 payment protocol
- Bitcoin Core PR#15063 allows falling back to BIP21 parsing of BIP72 URIs π
- Channel factories
- Discussion of output tagging and its effect on eltoo and channel factories π
- Dandelion
- PRs that need more review or development π
- Hardware wallet interface (HWI)
- Bitcoin Core preliminary hardware wallet support π
- MAST
- It should be possible to upgrade miniscript for things like MAST π
- Miniscript
- Miniscript presentation π
- MuSig
- Libsecp256k1-zkp supports MuSig key and signature aggregation π
- Output script descriptors
- Descriptor checksum support added π
- Proof of reserves
- Tool released for generating and verifying bitcoin ownership proofs π
- Partially signed bitcoin transactions
- Three new Bitcoin Core RPCs for managing PSBTs π
- Replace-by-fee (RBF)
- RBF in the wild (survey of RBF usage) π
- Reproducible builds
- Notable Bitcoin Core PRs: reproducible builds using GNU Guix π
- SIGHASH_ANYPREVOUT
- Tagging outputs to increase safety of
SIGHASH_NOINPUT_UNSAFE
π
- Tagging outputs to increase safety of
- Soft fork activation
- Presentation about probabilistic soft fork activation (βsporksβ) π
- Transaction origin privacy
- Bitcoin Core #14897 introduces a semi-random order when requesting transactions π
- Utreexo
- Exploring accumulators π
January 2019
- Unannounced channels
- Watchtowers
- Dandelion
- Whatβs the BIP156 hold-up in Bitcoin Core? π
- Eltoo
- Optimization for Eltoo-based payment channels π
- MAST
- Should
OP_CODESEPARATOR
be disabled in MAST scripts? π
- Should
- OP_CODESEPARATOR
- Should
OP_CODESEPARATOR
be included in future Script language upgrades? π
- Should
- Output linking
- Weak signature nonces discovered in reused addresses π
- Payjoin
- Mailing list discussion about BIP79 Bustapay π
- Payment probes
- Eclair π
- Segregated witness
- Bitcoin Core #14811 updates the getblocktemplate RPC to require that the segwit flag be passed π
- SIGHASH_ANYPREVOUT
SIGHASH_NOINPUT_UNSAFE
edge cases π
- Spontaneous payments
- LND PR for spontaneous LN payments π
- Static channel backups
- LND #2370 now updates a channel.backup file each time a new channel is opened or closed π
December 2018
- Minisketch
- Taproot
- Block explorers
- Modern open source block explorer π
- Channel factories
- 2018 year-in-review: eltoo lays groundwork for channel factories π
- Countersign
- 2018 year-in-review: untrackable authentication π
- CPFP carve out
- CPFP carve out proposal π
- Child pays for parent (CPFP)
- CPFP carve-out proposed π
- CVE-2018-17144
- 2018 year-in-review: CVE-2018-17144 π
- CVEs (various)
- CVE-2017-12842: vulnerability in Bitcoin SPV proofs π
- Dandelion
- 2018 year-in-review notable developments: BIP156 Dandelion π
- Eltoo
- 2018 year-in-review: Eltoo π
- Generic signmessage
- 2018 year-in-review: initial discussion that became BIP322 π
- MAST
- Taproot: an optimization for MAST π
- Merkle tree vulnerabilities
- CVE-2017-12842 leaf-node weakness π
- MuSig
- 2018 year-in-review: publication of MuSig protocol π
- Package relay
- CPFP carve out suggested but package relay needed for completeness π
- Payjoin
- 2018 year-in-review: Pay-to-EndPoint (P2EP) π
- Payment batching
- 2018 year-in-review: about 11% of payments used batching π
- Replace-by-fee (RBF)
- 2018 year-in-review: transaction statistics π
- Responsible disclosures
- Sergio Demian Lerner disclosed CVE-2017-12842 which allows stealing from SPV wallets π
- SIGHASH_ANYPREVOUT
- 2018 year-in-review:
SIGHASH_NOINPUT
π
- 2018 year-in-review:
- Splicing
- 2018 year-in-review: splicing π
- Testnet
- Open source release of esplora, a block explorer supporting testnet π
- Timelocks
- Transaction pinning as a major challenge for protocols involving timelocks π
- Transaction pinning
- Eltoo may not be entirely reliable because of transaction pinning π
November 2018
- Liquidity advertisements
- Segregated witness
- Adaptor signatures
- Discussion about problems in LN solvable using signature adaptors π
- Anchor outputs
- Simplified fee bumping for LN π
- Atomic multipath payments (AMPs)
- LN protocol 1.1 goals: multipath payments π
- Bech32(m)
- Bech32 security update for C implementations π
- Child pays for parent (CPFP)
- Simplified fee bumping for LN π
- Dual funding
- LN protocol specification 1.1 goals: dual funding π
- Large channels
- LN 1.1 specification meeting: wumbo channels and payments proposal π
- Multipath payments
- LN protocol 1.1 goals: multipath payments π
- Payment probes
- Making path probing more convenient π
- Proof of payment
- Discussion about LNβs proof of payment not proving who paid π
- Rendez-vous routing
- Lightning Network protocol 1.1 goals: hidden destinations π
- Responsible disclosures
- Trezor team disclosed a bug in the C-language bech32 specification affecting multiple wallets π
- SIGHASH_ANYPREVOUT
- Proposal included additional data in sighashes π
- Splicing
- LN 1.1 protocol goals π
- Transaction pinning
- What is transaction pinning? π
- Unannounced channels
- LND #1944 tweaks
sendtoroute
RPC to allow routing via private channels π
- LND #1944 tweaks
- Watchtowers
- LND PR #2124 adding support for detecting and using onchain spends π
October 2018
- Adaptor signatures
- Scriptless multisignatures
- Threshold signature
- Time warp
- ASICBoost
- Overt ASICBoost support for S9 miners π
- BIP70 payment protocol
- Bitcoin Core PR#14451 allows building Bitcoin-Qt without BIP70 support π
- BLS signatures
- Presentation: compact multisignatures for smaller blockchains π
- Covenants
- Scaling Bitcoin Tokyo 2018, Script Roundtable: OP_CHECKSIGFROMSTACK π
- CVE-2018-17144
- CVE-2018-17144 exploited on testnet π
- Fee sniping
- LND #2063 updates sweeper to use nLockTime anti fee sniping π
- HD key generation
- Bitcoin Core #14150 adds key origin support to descriptors for tracking BIP32 xpubs π
- OP_CHECKSIGFROMSTACK
- Discussion: the evolution of Bitcoin Script,
OP_CSFS
discussion π
- Discussion: the evolution of Bitcoin Script,
- Output script descriptors
- Key origin support π
- Point Time Locked Contracts (PTLCs)
- Talk about implementing 2p-ECDSA for LN funding and PTLCs π
- SIGHASH_ANYPREVOUT
- Discussion of the evolution of script:
SIGHASH_NOINPUT_UNSAFE
π
- Discussion of the evolution of script:
- Splicing
- Proposals for LN splicing π
- Testnet
- CVE-2018-17144 duplicate inputs bug exploited on testnet π
- Utreexo
- CoreDev.Tech summaries: Utreexo π
- Watchtowers
- LND PRs #1535 and #1512 adding server-side communication for watchtowers π
September 2018
- CVE-2018-17144
- Coinjoin
- Responsible disclosures
- Anonymity networks
- LND #1516 adds support for automatically setting up a v3 onion service π
- Default minimum transaction relay feerates
- Bitcoin Core #13987 adds info about peersβ minimum feerates to
getpeerinfo
π
- Bitcoin Core #13987 adds info about peersβ minimum feerates to
- Generic signmessage
- BIP322 proposed π
- Payjoin
- Bustapay discussion (simplified alternative to P2EP) π
- Quantum resistance
- BIP151 discussion, including about NewHope quantum-resistant key exchange π
- Testnet
- Discussion of resetting testent π
- Timelocks
- For BIP322 generic signed messages, unclear how to support timelocks π
- Version 2 P2P transport
- Criticism and defense of BIP151 choices π
August 2018
- Version 2 P2P transport
- BIP70 payment protocol
- Pay-to-EndPoint (P2EP) has elements similar to BIP70 π
- BLS signatures
- Library announced for BLS signatures π
- Coinjoin
- BLS signatures library possibly useful for non-interactive coinjoins π
- Compact block filters
- Functions for generating BIP158 filters added to Bitcoin Core π
- Dandelion
- Dandelion DoS-resistant stem routing being researched π
- Low-r grinding
- Bitcoin Core wallet to begin only creating low-r signatures π
- Minisketch
- Researching bandwidth-efficient set reconciliation protocol π
- MuSig
- BLS signatures based on the MuSig construction π
- Payjoin
- Pay-to-EndPoint (P2EP) proposed π
- Quantum resistance
- PR opened for initial BIP151 support, NewHope quantum resistance to follow π
- Responsible disclosures
- Cory Fields disclosed a consensus failure vulnerability Bitcoin ABC (Bitcoin Cash) π
- Static channel backups
- C-Lightning #1854 partly implements option_data_loss_protect π
- Time warp
- Requests for soft fork solutions to the time warp attack π
- Watchtowers
- LND PR #1543 adding watchtower version 0 encoding and encryption π
July 2018
- Partially signed bitcoin transactions
- Coin selection
- Default minimum transaction relay feerates
- Schnorr signatures
- Coinjoin
- CoinjoinXT presentation π
- Coinswap
- Talk about using schnorr signatures for blind coinswaps π
- Dandelion
- Discussion of Dandelion route selection π
- Ecash
- Blind signatures in scriptless scripts π
- Output linking
- Bitcoin Core #12257: new
-avoidpartialspends
configuration option π
- Bitcoin Core #12257: new
- Output script descriptors
- First use of descriptors in Bitcoin Core π
- SIGHASH_ANYPREVOUT
- Renaming of
SIGHASH_NOINPUT
toSIGHASH_NOINPUT_UNSAFE
π
- Renaming of
- Signer delegation
- Continued discussion over graftroot delegation safety π
- Testnet
- High block production rate on testnet leading to degradation of service π
June 2018
- Coin selection
- Coin selection simulations π
- Compact block filters
- Discussion of what data should be included in BIP158 filters π
- OP_CODESEPARATOR
- Bitcoin Core 0.16.1 to cease relaying transactions using
OP_CODESEPARATOR
π
- Bitcoin Core 0.16.1 to cease relaying transactions using
- Pooled mining
- Betterhash mining protocol draft specification published π