Bitcoind-in-background mode for SPV wallets [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2014-05-04T21:11:27+00:00


Summary:

In an email exchange between Bitcoin Core developer Mike Hearn and Wladimir J. van der Laan, they discuss the issue of incompatibility between wallets and nodes. Hearn suggests optimizing the NAT tunneling code, adding diagnostic features to the GUI, and implementing STUN support to address the problem of users not keeping their computers switched on all the time. Van der Laan agrees with Hearn's proposal but suggests creating a separate "node control" user interface instead of controlling the node from the wallet. However, he acknowledges that initially people may not know when or why to install this separate interface, so he suggests packaging it with wallets.Another topic discussed on the Bitcoin-development mailing list is the need to improve reachability for bitcoind instances. Slush suggests implementing a self-test feature and IPv6 tunneling to enhance reachability. Gregory Maxwell argues that existing implementations are inefficient, but he believes that improvements in implementation can address the low resource requirements of the protocol. The main constraint with home devices is not their power but the fact that people no longer keep computers switched on all the time. Suggestions to address this issue include optimizing NAT tunneling code, adding diagnostic features to the GUI, and implementing STUN support.Tamas Blummer and Wladimir have an email conversation about SPV wallets and the need for a lightweight bitcoin router or "core" that can be easily deployed anywhere. Blummer suggests that the index should be specific to added features and the subset of the blockchain relevant to the wallet. He also proposes serving headers as default, with the option to configure storing and serving full blocks based on bandwidth and available space. Wladimir agrees with these suggestions and proposes adding an RPC call for an "address -> utxo" query. They also discuss integrating the torrent download of bootstrap.dat into bitcoind to improve synchronization.Mark Friedenbach mentions that there is a reasonable pathway to do everything in-protocol without introducing external dependencies. He implemented headers first, which saturates residential broadband and copes with unreliable peers.In an email thread from April 9, 2014, slush and Laszlo discuss the slow deployment of IPv6 and ways to make instances IPv6-reachable automatically. Teredo is mentioned as a potential solution, but security settings need to be considered. Laszlo suggests adding an IPv6 checkbox in the settings with a link to an explanation or a built-in checker for reachability.There is a need for a lightweight bitcoin router or "core" that can be easily deployed anywhere. Bundling core with SPV clients would not improve anything as it would make the computer unusable every time the wallet is started. Instead, converting hidden nodes to publicly reachable nodes may be a more effective way to attract fresh instances. Wladimir proposes an interface to bitcoind to allow 'running with full node', which could benefit other clients as well.In an email exchange, slush suggests integrating the torrent download of bootstrap.dat into bitcoind to improve synchronization. Wladimir suggests parallel block download instead of involving BitTorrent.The Bitcoin-development mailing list discusses various ways to improve the Bitcoin network. Marek suggests integrating the torrent download of bootstrap.dat into bitcoind to attract more users. Slush suggests finding ways to expose existing bitcoind instances to the internet or provide self-tests for reachability. Gregory Maxwell emphasizes the need for improvements in existing implementations. Justus Ranvier challenges claims about resource usage, suggesting that full nodes can be operated with fewer resources than current implementations use.In an email thread, Thomas Voegtlin and Gregory Maxwell discuss the resource usage of Electrum and the potential for adding an RPC call for an "address to utxo" query. Wladimir also contributes to the conversation.Gregory Maxwell denies claims about a broken incentive model and argues that full nodes can be operated with fewer resources than current implementations use. He refers to archives of the mailing list where more people confirm the resource usage problem than deny it.Justus Ranvier suggests changing the network design if the security relies on a flawed incentive model. However, others argue that suitable software improvements can reduce resource requirements for running a full node. The main cost would be setting up the system, which bundling could potentially resolve.In an email exchange, Wladimir expresses concern over the lack of resources being volunteered to support the Bitcoin network. Justus Ranvier suggests a solution to quickly add more nodes and separate the wallet from Bitcoin Core. Wladimir welcomes pull requests for solutions.On April 9th, 2014, Wladimir proposes adding an option to popular SPV wallets to run a bitcoind process in the background to address the decrease in the number of full nodes.In an email conversation, Tamas Blummer suggests that the Simplified Payment Verification (SPV) is a sufficient API to a trusted node to build sophisticated features that are not offered by the core.


Updated on: 2023-08-01T08:41:56.947412+00:00