Study & contribute to bitcoin and lightning open source
Interactive AI chat to learn about bitcoin technology and its history
Technical bitcoin search engine
Daily summary of key bitcoin tech development discussions and updates
Engaging bitcoin dev intro for coders using technical texts and code challenges
Review technical bitcoin transcripts and earn sats
Overall question: Do we include it in Bitcoin Core or do we have it maintained separately as an IPC mining interface (multi-process approach)?
Pros of including in Core:
Cons:
StratumV2 has been designed with the idea of roles, with the idea that Bitcoin Core would play the block template provider role. Will having a public mining interface mean that third-party entities become template providers?
Big pro of using the multiprocess approach is the language agnosticism. If miners prefer Rust for example they can use that language and more easily address any issues that come up on their own, without having to really understand or work through the Core codebase.
If stratumV2 ends up being a separate project, who is going to maintain it? If it is maintained by Core, when/how do we get feedback that this is being used and that it is worth continuing to maintain?
How will StratumV2 get included in hardware? It’s probably not going to start with the big mining pools in China. It’ll likely start with smaller mining pools, although Foundry might be a friendly larger pool that could help with adoption.
For newer smaller miners, it does seem easier to just acquire some ASICs, point them to Bitcoin Core software and have StratumV2 work. Instead of being provided an IPC interface and working with a separate application.
If multiprocess makes progress and is included in a release soon (possibly v29), then the interface approach might emerge naturally as the option we go with.
See https://github.com/bitcoin/bitcoin/issues/31098 for issue tracking and additional discussion.
Community-maintained archive to unlocking knowledge from technical bitcoin transcripts