I was thinking about the ways to make the blockchain smaller, and the most obvious and simplest solution that I came up with consists in restarting the blockchain one day. For example, we can start with an empty blockchain every year with only initial balances written on it and without any transactions. I think that would make the whole network more reliable, while full nodes easier to maintain
Of course, the previous blockchains should be available at all times as well, whoever may need them. We may have to tie them up into one whole using links or whatever so that we could always trace all transactions back to the genesis block. Note that we don't necessarily have to restart with an empty blockchain as we can, for example, save the last 2-3 years of transactions once the blockchain is restarted
Is this a good idea?
You've got to bear in mind is that a blockchain is strong because in order to change the most recent block, you have to change data in all the previous blocks. If we reset to one block it will be easier for a bad actor to maliciously change the new block's data.Of course, the previous blockchains should be available at all times as well, whoever may need them. We may have to tie them up into one whole using links or whatever so that we could always trace all transactions back to the genesis block. Note that we don't necessarily have to restart with an empty blockchain as we can, for example, save the last 2-3 years of transactions once the blockchain is restarted
Is this a good idea?
I like your thinking though and I'm sure there's some smart brain out there that could work out a way to implement your idea while avoiding the problem you discussed. Maybe start with x blocks, where x equals the minimum viable amount of blocks to guarantee security.