I'm about to start an IBD with assumevalid set to the latest block. I get there are risks, like getting fed a false history or whatever. But if I'm not planning to validate transactions for at least 6 months, shouldn't my node eventually check everything and be fine?
So, how does this actually work? Does it skip downloading all the blocks and just grab the latest? How will you get your chainstate then? Bitcoin Core doesn’t recheck blocks because it assumes they’re valid. Why not just do a regular block download instead?
You mentioned false history... like, if that happens, why take the risk? @LoyceV said you have 6 months. You could sync Bitcoin Core in a few days or weeks, so why shortcut it? You might regret it later.
If the UTXO set created from fake blocks ever clashes with real transactions from valid blocks, Bitcoin Core will throw a fit and you'll have to restart the whole download. Plus, you'd have to be only connected to fake nodes to even get fed those false blocks.
Assumevalid is already on by default with a pretty recent block hash. Setting it to the tip seems unnecessary. In v26.0, it’s block height 804000 and in v27.0, it’s 824000. If you’re on v26.0, just set it similar to v27.0. But leaving a week or two for script validations won’t hurt your CPU.
Oh, I forgot to mention, Bitcoin Core has this IP bucketing feature. It helps avoid connecting to nodes from the same region or similar connection types. Makes it way less likely to connect to rogue nodes since attackers would need to spread their nodes across different networks.