the original file. By the same definition, the Hamming code can also satisfy the reconstruction requirement for $k=5$ and $k=4$, but cannot satisfy the reconstruction requirement for $k=3$. The smallest $k$ of the $(7,4)$ Hamming code is thus $k^*=4$. In general, the value of $k$ is related to the [*desired*]{} protection level of the system while the value of $k^*$ is related to the [*actual*]{} protection level offered by the specific distributed storage code implementation.

For example, suppose the design requirement is $k=6$. We can still opt for using the $(7,4)$ Hamming code to provide the desired level of protection. However, using the $(7,4)$ Hamming code may be an overkill since the $(7,4)$ Hamming code has $k^*=4$ and it is possible to just use a single-parity bit to achieve $k=6$. For any valid code construction, we always have $k\geq k^*$, meaning that the design requirement must be met by the actual protection level. However, for some specific types of construction, it is possible to have $k>k^*$. Also see the subsequent discussion in the next paragraph.

[**Parameter $d$:**]{} We denote the number of nodes that a newcomer can access during repair by $d$. For example, [@dimakis2010network] proposes the concept of RCs 