I don't know if it can be fully solved. It can be mitigated to some extent, but I don't know that it's a fully solvable problem.
Monero, for example, uses proof of work for the security and dynamic block sizes for the scalability, but eventually that could do some small damage to decentralization, although hopefully it should not be much since storage is decently cheap