According to the paper of satoshi,
If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year.
The blocks are generated about every 10 minutes all the time. And it has only been 4 years since it launched in 2009, it should be 16.8 MB. Where did I go wrong?
Satoshi was talking here about block headers stored in RAM and SPV clients. Not storing complete blocks on disk.
Indeed, full nodes don't need to keep 10GB in RAM, and you can already use an SPV client such as Multibit.