If only mining pools (individual miners do not really need that) would run full nodes, then we'd have a centralized system like EOS is.
I don't think everybody needs to run their own copy of the ledger.
https://www.youtube.com/watch?v=vM_Ski2eK6AWhere do I miss the point, can you elaborate? The reason why a fee is charged is anti-spam protection, as you already admit proposing to "charge" a PoW for every transaction, like Iota and RaiBlocks/Nano do. If you don't charge a fee in GAS or whatever then you have two choices: 1) try that interactions with smart contracts consume less resources, e.g. by ledger pruning, or 2) limit the transaction throughput by other means (see below).
The point is very simple. I don't want final users (think of a distributed Twitter, or a Facebook) to have to buy my native crypto currency in order to participate or interact with smart contracts.
Do you see yourself buying ETH (Which is fairly easier than buying any tinier coin) with credit card? Getting out of exchanges just to use steem (or something similar?). That's not going to take off
(BTW: If you accept an "oligarchic" network where only miners run full nodes, then you could even fork something like Bitcoin Cash or Unlimited, add smart contracts - e.g. with Counterparty - and you're fine. Blocks would never get full and so zero-fee transactions would be realistic.).
I'm not an oligarchic, but I believe the ledger should be an append only database no matter what. I think the clients should compress blocks if they wanted to.
I'm not completely against your idea of pruning, I just don't see how to do that.
If you don't like ledger pruning: Have you looked at Steem? They have a different anti-spam technique, they don't charge a fee but allow only a fixed number of interactions (transactions) per node. The exact number depends on your stake in the network, so you can "buy" more throughput. So in the end for high-frequency users it's a fee, but occasional users that aren't a real "burden" for the blockchain can publish without any cost. (Steem, however, has a registration barrier/cost and is pretty centralized, but the principle would work in other blockchains, too). You even could combine it with your "PoW-fee" if you want.
I will take a closer look on how Steem is solving that. I don't see how to limit the participation of nodes (based on their IP I guess) without a certain degree of centralisation. Which again, many projects have masternodes. If masternodes is the way to go, I think each masternode can throttle each node's activity. I think PoW is simpler though. I'm just thinking out loud and I love your feedback.
(I'm sorry if my last post sounded like if I wasn't liking your idea - I like it but it needs more elaboration. You need a solution for the spam problem, and as I wrote, PoW is just another kind of fee.)
On the contrary mate, I love this thread already.