Author: Jim Posen 2017-12-11 20:40:00
Published on: 2017-12-11T20:40:00+00:00
This thread proposes an improvement for light clients at a minimal cost by reducing the number of bytes transmitted in Bitcoin headers. The ideas presented include omitting nBits altogether, including nBits only on headers with a height that is a multiple of 2016, compressing nTime to two bytes, and excluding prev_block. However, it is suggested that excluding prev_block is the best option due to added complexity and coupling together the two layers. Implementing this change raises questions about the best way to do so, with three possible solutions proposed. Proof-of-concept implementations were written up in Core for both omitting prev_block and omitting nBits as well. This optimization could save approximately 40% bandwidth without compressed headers and could be useful for lite-clients and new client synchronization. An HTTP API with fixed position chunks is suggested to leverage HTTP caching and fast sync the headers.
Updated on: 2023-06-12T15:09:22.652504+00:00