Hi Eric,
Thanks for sharing your feedback. I also read conversations on X so I am answering with those in mind as well even though not everything may have been spelled out in this thread explicitly.
Of course, the proposal is opt-in, just like AssumeUTXO itself. A node that does not use this feature is unaffected by it. Assumeutxo doesn’t change consensus, the header chain is validated before loading the UTXO set and full IBD still happens in the background. AssumeUTXO is a UX improvement for those interested in running a fully validating node. The option to get started in a very limited amount of time even under significant hardware constraints can motivate users to choose a full node over an SPV client if startup time is relevant for their decision. And at some point of hardware constraints it definitely is, I think. In addition, it is a much easier decision for users to do IBD with assumevalid=0 as they are not required to wait for the completion of background IBD to take the next steps in their setup.
Also, this proposal only improves the sourcing of the UTXO set. Currently this needs to happen through some third party source and loaded into the node manually which comes with it’s own set of potential risks (privacy, malware), being able to rely on the P2P network as a secure source is preferable to that.
I think your main critique boils down to “this is a slippery slope” aside from your critique of assumeutxo and the Bitcoin Core architecture in general (see https://x.com/evoskuil/status/2052027207032164488). I can not refute critique of something that is not part of this proposal except for pointing out that what you are insinuating is not something I am working on or plan on working on and I am not aware of anyone working on skipping IBD and I would not endorse such a proposal if it were to be published. In contrast to some hypothetical dangerous future extension of this proposal that you are warning about, I am convinced that it does have real positive impact on users today, as I pointed out above.
Fabian
--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/19616822-8a03-4de1-99be-72d50479208fn%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/aa597737-e07e-4809-82bf-6226080db418n%40googlegroups.com.
> I commonly see people expecting IBD to take a week or more
Because it is true, at least for me, and maybe also for some others. You can read some examples on forums, where people run full nodes, and post their progress on a regular basis: https://bitcointalk.org/index.php?topic=5480200
Currently, I started Initial Blockchain Download on some node. It is now around block 250,000, after few hours. It shows around 1 MB/s in the "Network Traffic" tab from the GUI client. Even if my Internet speed may be better than that, then still: it is limited by what my peers can provide. And if I check 10 connected nodes, and all use NETWORK_LIMITED flag, so all are in pruned mode, and all just act as proxies, fetching blocks from other full, archival nodes, then guess what: it is limited to the weakest link, the slowest node in the chain of connections.
When I did the same experiment some months ago, but this time from some VPS, running 24/7, my results were quite similar. Waiting around a week to be fully synced is normal for me, and I got used to that.
Also, I understand, why full, archival nodes, use rate limits: because otherwise, they would pay more bandwidth fees, if everyone would be able to get everything instantly, at full speed. Which is why when many people limit their connections, to not share too much data too fast, it is what it is. And it is normal, because nodes are not rewarded for their services, so they have no incentive to provide more, than the bare minimum they can handle.
--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/002301dce4cf%2427bc3040%24773490c0%24%40voskuil.org.
--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/002301dce4cf%2427bc3040%24773490c0%24%40voskuil.org.
Hi Eric, Fabian, and list,
I am from a place with metered and slow bandwidth, so assuming U.S. internet bandwidth and speed specifications for IBD is incorrect
and ignores that not everyone shares the same reality.
I will share mine. The average Nigerian individual and business uses 4G broadband from one of the telco providers, using MTN here as an example, though all have relatively the same speed:
Download Speed: Up to 150Mbps
Upload Speed: Up to 50Mbps
These are advertised maximums; real world speeds are considerably lower.
I can use wallets to receive Bitcoin as an SPV, but once you want to sync the blockchain and have a node synced to the tip, I face a significant bottleneck.
The download was taking days due to frequent internet blackouts and other constraints. I think if a less-trusted setup were provided, like assumeUTXO with p2p sharing,
Since my use case is data analysis, not receiving payments, I would not face this bottleneck and would definitely use it.
As a real example of the point Fabian made about using worse alternatives: I also travelled hundreds of kilometres to a different city to assumeDatadir by copying the datadir from a trusted friend.
The risk of the chain growing so large that syncing takes a long time is real, and I believe people from my background will simply assumeDatadir because of the cost/time of getting to the tip. It is worth noting that some also that some western cloud providers do not serve Nigeria at all. Hetzner, for example, does not, which makes robust cloud-based workarounds unavailable to us (This is changing very quickly with the recent trend of native African data centres).
AssumeUTXO helps eliminate that, because at least you are not trusting one person but a group of contributors committing to a hash, with headers-first sync and other safeguards assumeUTXO provides. The use case for assumeUTXO is very real and solves a real problem.
However, I am also concerned about the trust tradeoffs for users who want to validate. Having assumeUTXO may not incentivize innovations for speeding up IBD for Eric's demographic, and alternative approaches could be dismissed with: why speed up IBD if we have assumeUTXO? I think that should not be the case. AssumeUTXO is specifically tailored for certain users, but pursuing fast IBD with abundant resources is not necessarily in conflict with that. One can throw resources at IBD compute, use libbitcoin-style sync with faster peers, and get up to speed quickly, while the other simply CANNOT.
AssumeUTXO is, in my opinion, a lesser evil than, for example, assumeDatadir. I honestly do not like the tradeoff of having the software commit the hash or the complexity of multiple chain states in the Bitcoin Core codebase. It still has good utility and reduces tradeoffs, so I will not dismiss it completely.
https://shop.mtn.ng/mtn-4g-broadband-router.html
https://www.reddit.com/r/hetzner/comments/1ajkhp0/reasons_for_rejecting_creation_of_account/
--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/26c7fd2e-d35d-4ed4-9638-18c95efc75dfn%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/062656d4-7ddd-4fa4-8db0-48bae6d73b42n%40googlegroups.com.