HomePhabricator

Make addrman's bucket placement deterministic.
e6b343d880f5Unpublished

Unpublished Commit · Learn More

Repository Importing: This repository is still importing.

Description

Make addrman's bucket placement deterministic.

Give each address a single fixed location in the new and tried tables,
which become simple fixed-size arrays instead of sets and vectors.

This prevents attackers from having an advantages by inserting an
address multiple times.

This change was suggested as Countermeasure 1 in
Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman,
Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report
2015/263. March 2015.

It is also more efficient.

Details

Provenance
Pieter Wuille <pieter.wuille@gmail.com>Authored on Mar 18 2015, 16:31
schancelPushed on Jan 5 2018, 21:58
schancelPushed on Jan 5 2018, 21:39
schancelPushed on Jan 5 2018, 21:17
Parents
rSTAGINGb23add5521e4: Switch addrman key from vector to uint256
Branches
Unknown
Tags
Unknown

Event Timeline

Pieter Wuille <pieter.wuille@gmail.com> committed rSTAGINGe6b343d880f5: Make addrman's bucket placement deterministic. (authored by Pieter Wuille <pieter.wuille@gmail.com>).Mar 24 2015, 00:19