The idea that it is possible to get full-node security guarantees without holding the full state has been proposed before -- for example, by Bill White's paper "A Theory of Lightweight Cryptocurrency Ledgers" (
https://github.com/kushti/ledgertheory/blob/master/lightcrypto.pdf ), which the first one I know with this proposal.
Our contribution is developing this idea further and playing with possible authenticated dictionary designs to find a most efficient solution. We propose that only miners store a state (the UTXO set in case of Bitcoin) in RAM(we can assume miners can buy gigs/tens of gigs of RAM easily). They are providing proofs for state transformation correctness within transactions (or a batch proof within block). Other nodes are just verifying proofs. The verification process is fast(it is about just hashing) and consumes minimum RAM(no random disk IO as we have now with full state storing on commodity hardware e.g. 4GB RAM laptop where only 1GB could be given to a fullnode daemon). However, transactions are becoming bigger, so throughput is needed to be increased with some other proposal(there are a lot of them).
details are in the paper:
https://eprint.iacr.org/2016/994 . would be happy to get feedback (please don't think it is a concrete proposal for Bitcoin though. We know that Bitcoin capabilities to upgrade are more than limited).