  This paper reviews and highlights how coding schemes have been used to solve
various problems in blockchain systems. Specifically, these problems relate to
scaling blockchains in terms of their data storage, computation and
communication cost, as well as security. To this end, this paper considers the
use of coded blocks or shards that allows participants to store only a fraction
of the total blockchain, protect against malicious nodes or erasures due to
nodes leaving a blockchain system, ensure data availability in order to promote
transparency, and scale the security of sharded blockchains. Further, it helps
reduce communication cost when disseminating blocks, which is critical to
bootstrapping new nodes and helps speed up consensus of blocks. For each
category of solutions, we highlight problems and issues that motivated their
designs and use of coding. Moreover, we provide a qualitative analysis of their
storage, communication and computation cost.
