Nicholas Gordon
Problem: Blockchains have become increasingly common as a solution to problems of trustless ledgers, but the current blockchain systems widely in use, such as Bitcoin and Ethereum, require full nodes to store huge amounts of data in order to participate. This causes the network to trend toward centralization, jeopardizing the "trustless" nature of the blockchain. It simultaneously pushes lower-power or more casual participants out of the bottom of the network.
Approach: Not having a background in blockchains, I wanted to explore techniques to reduce the storage footprint of blockchains and understand what was state-of-the-art. I did a thorough survey of papers published on the topic, including papers from 2014 to the year of writing, 2020.
Results: In my survey I read 21 papers and identified three main categories regarding the paper's technique: summarization, pruning, and structural change. Summarization methods aim to summarize or compress information stored in blocks. Pruning methods aim to remove unimportant or redundant information from the blockchain. Structural methods approach the problem by re-thinking or introducing a property or mechanism to a blockchain system. Further, my reading informed me that there is no "silver bullet" approach that we can apply everywhere and get excellent results. Nearly all papers detailed here achieve significant results, but each category and individual work must trade one or more of the properties of the archetypal Bitcoin blockchain to get it.