IRC meeting summary for 2016-11-10
- Hybrid SPV
- Multithread ProcessMessages
Jonasschnelli is working on a pull request which adds a full block SPV mode to the wallet.
It would have 2 options: -spv and -spvonly, -spv being used to enable the user to send and receive transactions while the blockchain is still being downloaded/verified. -spvonly would not verify blocks at all.
The current limitations of the PR:
- No SPV 0-conf transactions
- Fallback fee for SPV transaction (as there’s no mempool/fee estimator)
- It has only a simple spv re-org handing
- currently incompatible with pruning
Jonasschnelli was wondering if this idea is worth pursuing, as he hasn’t received any conceptual ACKs.
Everone finds this a good feature. BlueMatt thinks it might not be worth the effort to include an spv-only mode, however there’s no extra cost to it as the code is needed for the hybrid mode. It would also be the only SPV-client that uses full blocks.
- Continue to work on hybrid full block SPV mode
Currently Bitcoin Core does message processing in a single thread. BlueMatt asks for some feedback and general concerns with multiple message processing threads.
BlueMatt elaborates it’s currently not as useful as most messages use cs_main, but he’d like to see the plumbing for it sooner rather than later. As example: adding multithread messaging would allow nodes to respond to getblocktxn while a block is processing, something he really wants for FIBRE-based relay networks. Wumpus adds being able to service multiple nodes at once would also be very useful, and should reduce block relaying delays.
Morcos notes it’s going to be important to do a thorough review of synchronization issues first, as issues might not be detected now because they are only accessed from the single thread.
Gmaxwell thinks making process message concurrent may create greater exposure for data races around the nodestats, so he proposes to run tests with valgrind DRD and try to be data race free.
- Work on adding multithread message processing
Bitcoin Core 0.14 is scheduled to be released around 2017-03-01.
MarcoFalke wonders what the priorities are to get into 0.14.
Splitting main.cpp is pretty much guaranteed to get in at this point.
Sdaftuar would like to see the validation speedups from JeremyRubin get in.
Jonasschnelli thinks there’s not much left for the multi-wallet support, although he’s not sure if it will be ready by 0.14. There’s a github project opened for multiwallet support.
For the network refactors Cfields is aiming to get the net.h/cpp split done next week.
Bumpfee should get some review.
The groundwork for mempool stats is made in #8501, but it has no review so far.
- prioritize review on wallet changes
|wumpus||Wladimir van der Laan|
This summary was compiled without input from any of the participants in the discussion, so any errors are the fault of the summary author and not the discussion participants.