For scalability with small transaction volume, Coda[1] is the best.
Here's an example how you can validate the current state without knowing the past.
Imagine there are 100 coins made form something that does not exist beside in these coins. Someone wants to pay something to you using 2 of these coins. Do you need to know where he got them from and where the person before got them from and so on? If you know there are only 100 in total. (state is public) And no way to change that. (rules/code is known) And you know that if you take the 2 no one can force you to give it back. (transactions are irreversible) Then no, you don't need to know the past transactions at all. Maybe they where stolen in the past a thousand times also lost and found by someone else many times. Does it matter? Not at all.
[1] https://people.csail.mit.edu/nickolai/papers/gilad-algorand-...