You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reviewer-confirmed corrections from evoskuil across 12 docs:
- 02: milestone allows validation bypass (not chain-fixing); chaser_block
skips milestones because blocks-first has no PoW DoS guard; debug-only
checks are !NDEBUG; LRU eviction on tree_ would create a new DoS vector.
- 03: get_inventory_size gates on candidate-chain currentness, with the
weak-chain rationale (not "wait until caught up").
- 04: consensus is split across headers, block-receive, this chaser, and
confirm; intro softened from "single source of consensus acceptance".
- 05: !NDEBUG polarity fix; expanded block_confirmable to describe
strong-tx association, maturity, and relative-locktime rules.
- 06: session-template class diagram now shows all three instantiations;
recent != current (max-height config for testing).
- 08: superseded_ is atomic because superseded() is protected and read
non-stranded from the base.
- 09: unhandled channel messages are ignored, not protocol_violation.
- 10: sub1/add1 was a real off-by-one bug, fixed in PR libbitcoin#1007.
- 11: order-discipline is the same as headers-first; BIP130 typo fix.
- 12: chaser_storage timer runs on the chaser's strand (network
threadpool), not a separate pool.
- 00, README: roll-up updates.
|`suspended_channel`|`ipp:477-483` (in `set_organized`, debug-only `!NDEBUG`check) | Parent of new candidate isn't current top (broken sequencing). Redundant safety check; release builds skip it.|
528
542
529
543
> **Spec obligation list.** A formal model should be able to discharge
530
544
> `organize2` through `organize15` as unreachable, given:
@@ -570,8 +584,11 @@ store-corruption error). For a formal model, each is a proof obligation:
570
584
factoring in §4.1.
571
585
572
586
-`tree_` is naturally a `hash-table` keyed by header hash. The DoS
573
-
concern (`§6.1 TODO`) can be enforced by a size cap with a
574
-
least-recently-used eviction.
587
+
concern flagged at `§6.1 TODO` is real but the obvious mitigation
588
+
(an LRU eviction cap) is **not** the right answer — that would open
589
+
a new DoS vector where an attacker forces eviction of legitimate
590
+
weak branches. The right fix is more subtle and not solved here;
591
+
treat the unbounded-tree assumption as load-bearing.
575
592
576
593
-`update_milestone` walks `tree_` by parent-hash chain — straightforward
0 commit comments