"Temporary", until it expires and then you create another free account (or 100 of them) and keep on spamming. I don't think this is workable at all.
I understand where you are coming from in terms of wanting free accounts (i.e. most other web sites) but I really think this is a situation where the nature of a public blockchain and limited resources is an irreducible difference from most other web sites and makes it unworkable. Someone has to pay for the resources, whether with an actual fee or some sort of stake-limiting.
I meant that the posts themselves would be temporary as well, which means if they created 100 accounts and spammed, when all 100 accounts expired, all those spam posts would go away with the accounts.
There's a lot of hurdles to make that happen though - which is why I said it'd be a radical change.
You can't just delete the whole history from the blockchain. There was some discussion about an idea to have offchain "free" accounts (sort of like a "Guest account"), which would be a way to do something like this, but as you say there are a lot of hurdles to it, including that it represents a big change from the current "everything on the blockchain and the front end is just a UI view of that" architecture.
I feel like we're getting in the weeds here on implementation details, but that's fun sometimes :)
I understand you can't delete things from the blockchain and I never said you'd have to. I imagine that these temporary posts/accounts would exist in a mempool like state (to borrow a term from bitcoin) - where they exist as pending transactions. This mempool would persist and propagate between witnesses just like blocks do using the p2p network. There would be a maximum lifespan of these transactions and a set of criteria that the account must meet before any of the transactions are actually included in a block.
None of this remotely exists AFAIK within Steem - so it would be a huge undertaking.
On the other hand, you're right - this whole system could exist off-chain and be integrated invisibly within the frontends.
The only problem there is now that system is responsible for paying for the account to be created upon completion of the steps. It'd be way easier than building it on-chain, that's for sure.
Yup, weeds. The on-chain/off-chain distinction is the main thing. Whether it is a mempool-like thing or a separate database or something else is definitely weeds.
As far as the system being responsible for paying, I could imagine some sort of setup where if these pseudo-posts from pseudo-accounts get votes and earn, then the rewards could accumulate in a pool or holding account or something which could then pay for accounts/bandwidth.
But the problem is still that many users are not going to earn significant rewards, ever. I'm just not sure the 'earn your way to pay your way' model of providing bandwidth is viable at all. Some users are going to be content producers and some (probably most, by a lot) are going to be content consumers. The latter need their bandwidth paid for from some external source, somehow.