Pieter Wuille cf0218f8b2
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.

Conflicts:
	src/addrman.cpp
	src/addrman.h

Rebased-From: e6b343d880f50d52390c5af8623afa15fcbc65a2
Github-Pull: #5941
2015-04-01 16:38:47 +02:00
..
2015-03-19 00:14:28 -04:00
2014-11-20 17:22:06 +01:00
2015-02-01 17:57:38 -04:00
2015-03-26 08:59:53 +01:00
2015-02-03 10:33:58 +01:00
2015-02-03 10:33:58 +01:00
2014-11-03 16:16:40 +01:00
2014-11-03 16:16:40 +01:00
2014-12-03 10:52:58 +00:00
2014-12-03 10:52:58 +00:00
2014-12-03 10:52:58 +00:00
2014-11-03 16:16:40 +01:00
2014-12-03 10:52:58 +00:00
2015-03-19 00:14:28 -04:00
2014-12-03 10:52:58 +00:00
2014-12-05 11:24:39 +01:00
2014-11-20 17:22:02 +01:00
2014-11-20 17:22:02 +01:00
2014-12-01 14:57:58 +01:00
2014-12-01 14:57:58 +01:00
2015-03-26 08:39:00 +01:00
2014-12-03 10:52:58 +00:00
2015-03-26 08:39:00 +01:00
2015-03-09 11:13:35 +01:00
2014-08-28 22:25:21 +02:00
2014-12-03 10:52:58 +00:00
2015-03-19 00:14:28 -04:00
2014-11-03 16:16:40 +01:00
2014-11-20 17:22:02 +01:00
2014-11-25 08:18:33 +01:00
2014-12-03 10:52:58 +00:00
2014-11-03 16:16:40 +01:00
2014-10-03 04:29:51 +02:00