aboutsummaryrefslogtreecommitdiff
path: root/src/serialization/serialization.h
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2022-05-15 11:50:28 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2022-05-15 11:57:37 +0000
commitfde7c96b5cd44962fe08cdb8d23115ed51b30915 (patch)
tree179ecd699eb615476afd8914da3c2a03a4178506 /src/serialization/serialization.h
parentMerge pull request #8321 (diff)
downloadmonero-fde7c96b5cd44962fe08cdb8d23115ed51b30915.tar.xz
wallet2: fix spurious reorg detection with untrusted nodes
When forced to deal with an untrusted node, a wallet will quantize its current height to disguise the real height to the adversary, to try and minimize the daemon's ability to distinguish returning wallets. Daemons will thus return more blocks than the wallet needs, starting from earlier in the chain. These extra blocks will be disregarded by the wallet, which had already scanned them. However, for the purposes of reorg size detection, the wallet assumes all blocks the daemon sends are different, which is only correct if the wallet hasn't been coy, which is only the case for trusted daemons (which you should use). This causes an issue when the size of this "fake reorg" is above the sanity check threshold at which the wallet refuses a reorg. To fix this, the reorg size check is moved later on, when the reorg is about to actually happen, after the wallet has checked which blocks are actually different from the ones it expects.
Diffstat (limited to 'src/serialization/serialization.h')
0 files changed, 0 insertions, 0 deletions