Risks of Using Assumevalid

7 replies 313 views
Posts: 26 · Reputation: 197
#1Jan 17, 2021, 10:25 PM
I'm getting ready for an Initial Block Download (IBD) and I've set assumevalid to the latest block. I get that there are some risks tied to this, like possibly being given a fake history and all that. But if I’m not planning to use this node for validating transactions for a while, like at least six months, I reckon my node will eventually go through all the blocks properly, so it should be okay. Thanks!
3 Reply Quote Share
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#2Jan 18, 2021, 02:12 AM
How does this work? Will it skip downloading all blocks and only take the latest one? Where are you going to get your chainstate? Bitcoin Core doesn't check blocks again. It doesn't need to, because it assumes they're valid on disk. Why not do a normal block download? That's the safest way, and since you have 6 months to do so, the sync time shouldn't be a problem.
3 Reply Quote Share
bull_2019Senior Member
Posts: 296 · Reputation: 1992
#3Jan 19, 2021, 10:04 PM
You said you could be feed with false history  in your post or maybe more that you  aren't  aware of , then why risk it, just as @LoyceV  replied You have 6 months  available  you could get you bitcoin core sync within weeks or even days  so you should just take the normal procedure and not taking shortcut which you might end up blaming yourself
6 Reply Quote Share
LuckyCoinLegendary
Posts: 832 · Reputation: 4795
#4Jan 20, 2021, 01:47 AM
If at any point the UTXO set created in conjunction with hypothetical false blocks conflict with newer transactions included in current mined, authentic blocks, Bitcoin Core is going to complain (loudly) and you're going to have to restart the download again in order to get up-to-date. In order for you to be fed false blocks in the first place, you would need to be only connected to fake nodes, anyway.
1 Reply Quote Share
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#5Jan 20, 2021, 03:28 AM
assumevalid is activated by default with blockhash of a quite recent block so I don't think setting it up to the tip is even necessary. In v26.0, it's block height: 804000 (Aug 2023) In v27.0, it's block height: 824000 (Jan 2024) If you're using v26.0, you can set it like v.27.0. But if you really must, leave a week or two weeks worth of script validations, that wont hurt your CPU for long. Your node wont have a risk of accepting false history if you ensure that you're connected to a number of peers and not limit it with 1 or a few that could all be rogue nodes. (hardly even happens with 10)
2 Reply Quote Share
hash_bossLegendary
Posts: 1166 · Reputation: 5261
#6Jan 20, 2021, 08:38 AM
Your question already answered on https://bitcoin.stackexchange.com/q/88652. In short, assumevalid only skip script verification (usually verify whether the cryptographic signature is valid or not) until certain block passed.
0 Reply Quote Share
Posts: 26 · Reputation: 197
#7Jan 20, 2021, 02:46 PM
Thanks for all the replies, particularly from nc50lc.  As always a cool came reply.  Thanks
0 Reply Quote Share
hash_bossLegendary
Posts: 1166 · Reputation: 5261
#8Jan 20, 2021, 03:33 PM
Forget to say it earlier, but Bitcoin Core also have IP bucketing feature in order to avoid connect node in similar region based on connection type, ASN and IP subnet. It makes connecting only to rogue nodes even more unlikely since attacker need to allocate their rogue nodes on different network.
3 Reply Quote Share

Related topics