Chain width expansion



Summary:

A proposal for a "seed" based system to prevent dishonest peers from disrupting chains was discussed on the Bitcoin-dev mailing list. The idea is that each peer provides proof of the header with the lowest digest on their main chain, and chains ending at the strongest seeds are kept preferentially when discarding chains. This requires a way to download chains backwards, which the protocol currently does not support. Additionally, bandwidth and RAM allowances would be allocated to each connected peer and forks off their own chain before reaching current time would be discarded. The issue of a timewarp attack was also brought up, in which a malicious node could generate a much longer chain with superslow timestamp increase without increasing difficulty, producing a chain ~2500 times longer than the main chain without multiple branches. It was suggested that nodes should stay "headers-only" until they hit a minimum chainwork threshold to mitigate vulnerabilities during initial sync when joining the network, and that minimum chainwork could be defined based on the current chainwork. However, such definitions could also be used to prevent nodes from joining the network. The concept of "min. diff. checkpoints" was compared to hash checkpoints, with the former being equivalent to a checkpoint without being called a checkpoint.


Updated on: 2023-06-13T21:47:58.803124+00:00