Make synchronization optional #9862

issue praxeology-guy opened this issue on February 26, 2017
  1. praxeology-guy commented at 6:45 AM on February 26, 2017: none

    Describe the issue

    Lots of end users chose some other client than bitcoin core because bitcoin core requires a synch. The other clients commonly have bugs and security issues. So new potential users of bitcoin are then left confused and dissatisfied with bitcoin. This hampers bitcoin adoption rate.

    Expected behavior

    Add a menu option to enable/disable synch. When starting bitcoin, if no block data is found on disk, then welcome the user to using bitcoin core, and ask them if they want to enable synch.

    What version of bitcoin-core are you using?

    0.13.2

    This would surely be easier to implement after SegWit is activated.

  2. sipa commented at 7:00 AM on February 26, 2017: member

    What would you do with the client before it is synchronized?

  3. luke-jr commented at 7:02 AM on February 26, 2017: member

    Syncing is what prevents the security issues in other clients. If you don't sync Core, you'd be trusting some random other node, and have those same issues.

  4. praxeology-guy commented at 7:18 AM on February 26, 2017: none

    Bitcoin core would act similar to a hardware wallet that has some but very limited interaction with the bitcoin node network. I agree this is bad on security. Should even warn the user. But I'd rather people used bitcoin core w/ less security than some other wallet.

  5. praxeology-guy commented at 7:30 AM on February 26, 2017: none

    The main problem with security with a non-full/pruned node client is the question: Did I actually receive the transaction, with the correct amount? How many confirmations? A user that doesn't want to run a non-full/pruned node is not working with so much money that they care to spend the resources to synch. They would rather just go to multiple independent parties such as https block explorers etc to check and see if their transactions are confirmed and buried.

    Then SegWit will make sending the funds more secure, where they don't have to worry as much about people being lied to about utxo amounts.

  6. sipa commented at 7:39 AM on February 26, 2017: member

    If you don't want Bitcoin Core to synchronize with the network, it can't even know about your transactions.

    There is (slow) work going on to make Bitcoin Core support a lightweight validation mode instead, which is more like many other clients. It will still need to synchronize though - just validate less.

  7. praxeology-guy commented at 7:45 AM on February 26, 2017: none

    sipa: It could know about your transactions if it asked other nodes for them. You say it can't... but somehow electrum does it. Would require adding new messages to the bitcoin node network, right? And maybe full/pruned nodes would optionally support these new messages coming from clients?

  8. sipa commented at 7:50 AM on February 26, 2017: member

    Electrum connects to a private server... which needs to synchronize with the network.

    That's a possible way of doing things, but it's a very different security model than the one Bitcoin Core implements.

  9. praxeology-guy commented at 8:41 AM on February 26, 2017: none

    sipa: I agree the security model is different. Your current policy is "Never trust ever, and don't give the user the option to need to trust". For some users, trustless is very important. For some it is not. I guess it just bothers me that so many users are say choosing Electrum first... and then why would they switch to core after that? Does Electrum have bugs, and then it makes them not want to use bitcoin for a while?

    This is not an important feature for the technical functionality of Bitcoin to work. Its only important if you want more users to use bitcoin core instead of Electrum etc. If other clients are attracting users, and they are buggy, users won't like Bitcoin. They won't feel confident putting their money into Bitcoin. It reduces the adoption rate of Bitcoin.

    My main concern right now is due to all of the people having low fee problems when they are using other clients. That's what I've been seeing the most in #bitcoin lately.

  10. sipa commented at 8:45 AM on February 26, 2017: member

    My main concern right now is due to all of the people having low fee problems when they are using other clients.

    That's not something Bitcoin Core could help with if it wasn't synchronizing. Its ability to estimate fees relies on that.

  11. praxeology-guy commented at 8:47 AM on February 26, 2017: none

    It can ask other nodes for help on fee estimation. I know... not secure, requires trust, could dupe foolish or non-paying attention people into paying big fees.

  12. sipa commented at 8:50 AM on February 26, 2017: member

    Sorry, making Bitcoin Core work like Electrum isn't going to solve any problems.

    Bitcoin Core does several things right, but it comes with certain trade-offs. That includes resource usage, synchronization time, and not the simplest possible user experience. We work on those things, and improve where possible, but we are limited by certain design choices.

    Electrum makes other trade-offs, and that's fine. If there are problems with Electrum's fee estimation, then go fix its fee estimation. While I'd like many users to want to appreciate the choices Bitcoin Core's wallet makes, the truth is that that is not for everyone. You can't expect Bitcoin Core to become better at what others choose to work with.

  13. praxeology-guy commented at 8:51 AM on February 26, 2017: none

    You mean, you are unwilling to support users who don't want to synch.

  14. sipa commented at 8:55 AM on February 26, 2017: member

    Yes, if you're not willing to sync, we can't help you. I'm sorry about that, but everything has its place.

  15. praxeology-guy commented at 8:56 AM on February 26, 2017: none

    I guess that is fine. I am asking for a lot of work here, I know.

  16. praxeology-guy closed this on Feb 26, 2017

  17. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-02 21:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me