Bitcoin
Taproot eltoo
I have compiled below a list of tasks and related notes that might be helpful for anyone that wants to learn more about the status and implementation details of BIP-118 (Anyprevout) and eltoo. Please get in touch if you have any questions or can help work on one of these tasks. Open an issue or PR if you think of additional tasks, notes or other changes for this page.
Anyprevout (BIP-118)
Tasks:
- Basic unit tests, legacy and taproot
- Review and comment on BIP-118
- Review and add to BIP-118 tests for bitcoin-inquisition PR #4
- run a signet node
- run a signet faucet
Notes:
- BIP
- Signet
Faucet idea: can signet miners create a single signature and prototype transaction that can spend any coinbase output using APOAS? As long as any change goes back to the same address then the signature can be used again by others.
Replace-by-fee (RBF) changes
Tasks:
- Review and comment on instagibbs BIP 125 nVersion=3 proposal for smart contracts like eltoo
Notes:
- instagibbs full_rbf branch
eltoo
Tasks:
- eltoo: Basic transaction tests, simulate_eltoo.py: test_tapscript_eltoo()
- Blog post about basic transaction tests
- review/comment on eltoo BOLT draft
- Blog post about tx fees with eltoo using package relay and instagibbs nVersion=3 proposal
- PTLCs transaction tests
- Layered Commitments transaction tests
- Multiparty Channels transaction tests
- update simulation with APO transactions
- add PTLCs to simulation
- add Layered Commitments to simulation
- add Multiparty Channels to simulation
- add optimize fees to simulation (eg. fee bumping, GROUP sighash)
- add MuSig2 to simulation
Notes:
- ##eltoo discussion on matrix/irc
Segwit eltoo
Taproot eltoo
Implementation:
PTLCs
Tasks:
- Schnorr X-only pubkey adaptor signature support in the functional test framework
- create an adapter signatures test script to demonstrate how to exchange PTLC nonces
- update transactions so
claim_tx
uses key spend with adapter signature andrefund_tx
uses script spend with timeout - create a new test derived from the
test_tapscript_eltoo
script that replaces HTLCs with PTLCs
Notes:
- Privacy
- Smaller Transactions
- No Stuck Payments
- Adaptor Signatures: “How DLC-Bets Work?” by Leonardo Comandini + adaptor-py, a (toy) pure python adapter signatures implementation for ECDSA and Schnorr
- Workflow and scripts: Bitcoin Optech “The PTLC solution” and “PTLCs Over LN” by ZmnSCPxj
- Rust Schnorr adaptor signature implementation module schnorr_fun::adaptor h/t LLFOURN
- Python Schnorr adaptor signature using x-only pubkeys and SECP256K1 in functional test framework file key.py h/t Elichai2
- ZmnSCPxj post “[Lightning-dev] Lightning in a Taproot future”
- AJTowns feature_ln_ptlc.py
Layered Commitments
Notes:
- CLTV deltas
- Subject to Siphon attacks if remote party signature does not commit amount of local party’s HTLC outputs?
- lnpenalty taproot diagram
- Needs SIGHASH/OP_GROUP to regather update outputs to newer state outputs
Multiparty Channels
Notes:
-
Channel Factories
shared liquidity, overlapping routing nodes, can update nested channels faster, can settle MP channel and continue to use nested channels
-
Generalized Off-chain Transactions
cache and aggregateve onchain transactions off-chain, timeouts must account for settlement of multiparty channel
Anyprevout Covenants
Tasks:
- Finish covenant vault example tests in functional test framework off of APO branch
- Blog post about how to use APO based covenants for a simple vault system
- Blog post on non-interactive Lightning channel open
- Blog post on congestion control (delayed payments)
- Blog post on pre-planned vesting transactions
Notes:
- AJ Towns bitcoin-dev post (June 2019)
- instead of script
<sig> <P> CHECKSIG
can we use<sig> 0x01 CHECKSIG
to use internal pubkey and save 32 bytes? - Kanzure’s 2019 mailing list post
- Revault vault scheme
- Bitcoin Covenants: Three Ways to Control the Future (2020)
- Twitter thread about APO Vault scheme
GROUP
Tasks:
- Blog post summarizing state of OP_GROUP discussions, including OP vs. SIGHASH, lexical ordering (BIP-69) vs. tx cut-through/incremental batching
DLCs
Tasks:
- Blog post discussing how APO can enable DLCs over Lightning
Notes:
- [Lightning-dev] Claiming the 1BTC Strike/HRF “Stable Channel” bounty
- How to claim the 1BTC “Stable Channel” Bounty from HRF and Strike
- OP_CTV and DLCs