Bitcoin Core trial balloon: splitting blockchain engine and wallet



Summary:

Jeff Garzik, a Bitcoin Core developer and open source evangelist, discussed the possibility of running the Bitcoin Core wallet as a separate process from the blockchain engine. The wallet process would communicate with the blockchain engine using existing RPC and P2P channels, becoming a real SPV client. This accomplishes a longstanding security goal of sandboxing away wallet keys and sensitive data from the network-exposed P2P engine, in a separate process, among other benefits.According to Garzik, separating the programs seems better than forking, which was explored but had its own set of issues. Windows requires an exec-like method to achieve process separation, while Linux employs zero-copy for localhost sockets in many situations, similar to the kernel's pipe tricks.Pieter Wuille has been working on headers-first sync, and moving along this wallet/blockchain engine split requires upping the review and test bandwidth on Pieter's PRs. However, the discussion is still ongoing and it is unclear whether the separate-binary proposal will be implemented.


Updated on: 2023-06-08T03:13:08.079430+00:00