Files
bitcoin/src
W. J. van der Laan 14ba286556 Merge bitcoin/bitcoin#23695: p2p: Always serialize local timestamp for version msg
fa1dc9b36a p2p: Always serialize local timestamp for version msg (MarcoFalke)

Pull request description:

  Currently we serialize the local time when connecting to outbound connections and the "adjusted network" time when someone connects to us.

  I presume the reason is to avoid a fingerprint in case the local time is misconfigured. However, the fingerprint still exits when:
  * The local time goes out-of-sync after timedata is filled up, in which case the adjusted time is *not* adjusted. See comment in `src/timedata.cpp`. (In practise I expect no adjustment to happen after timedata is filled up by one entry more than half its size).
  * The local time is off by more than 70 minutes. See `DEFAULT_MAX_TIME_ADJUSTMENT`. While there is a warning in this case, the warning might be missed by the node operator.
  * The adjusted time is poisoned by an attacker. This is only a theoretical concern after commit e457513eb1.

  Using the adjusted time does help in a the case where the local time is off by a constant less than 70 minutes and the node quickly connects to 5 outbound peers to retrieve the adjusted time.

  Still, I think using `GetAdjustedTime` here gives a false sense of security. It will be better for node operators to instead set the correct time.

ACKs for top commit:
  naumenkogs:
    ACK fa1dc9b36a
  laanwj:
    Code review ACK fa1dc9b36a
  w0xlt:
    crACK fa1dc9b

Tree-SHA512: 70a0f4ab3500e6ddcde291620e35273018cefd1d9e94b91ad333e360139ed18862718bb1a9854af2bf79990bf74b05d95492f77d0747c7b9bdd276c020116dcb
2021-12-17 21:44:59 +01:00
..
2021-09-10 11:18:58 +08:00
2021-09-29 14:10:29 +02:00
2021-11-12 11:46:34 +01:00
2021-07-30 11:21:51 +02:00
2020-12-31 09:45:41 +01:00
2021-11-26 11:17:43 +01:00
2021-11-15 12:08:49 -05:00
2021-11-16 09:56:45 +01:00
2021-12-07 14:48:49 -05:00
2021-10-12 12:03:14 +13:00
2021-10-11 21:45:49 +10:00
2021-01-07 18:07:09 +02:00
2021-01-04 12:31:31 +08:00
2021-10-05 11:11:18 +02:00
2021-12-02 13:16:18 +07:00
2021-11-29 17:59:44 -05:00
2021-04-06 14:50:17 +08:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00
2021-12-11 18:32:17 +01:00
2021-12-11 18:32:17 +01:00
2021-12-10 08:29:24 -05:00
2021-11-29 17:59:44 -05:00
2021-09-29 18:46:30 +02:00
2021-11-18 18:13:21 +01:00
2021-08-20 16:59:41 +02:00
2021-12-02 14:49:19 +00:00
2021-12-02 14:49:19 +00:00
2020-10-12 12:14:53 -07:00