I am intrigued how exactly an Ethereum transaction's "state changing" works. I have read about the Bitcoin transactions, and so understand how the basics of validation and propagation through the network work.
What I'm wondering is how you accomplish what feels like real-time updates to your app if the transactions take ~20 seconds to resolve. In that post it was recommended this:
Typically it's a tradeoff between decentralization + trustless nature vs (partially) centralized + trusted. So the more centralized something is the faster it is typically. Centralized databases are very fast. Decentralized blockchains are "very" slow. So it just depends on what you are looking for. For speed, just use centralized databases. For trustless properties, use Ethereum. And then there are lots of options in-between (for example Ripple, Neo or BigChainDB).
However, I'm wondering if there are any techniques in Ethereum or any other blockchains where you can have sort of a "prevalidated transaction" which is part of a "prevalidated block" or something, such that when you create a transaction, it runs the code immediately, and ends up in some final meta state in the blockchain so you can treat it in your app as if everything was a success. Sort of how in an app like GitHub if your credit card expires, you can still use the service for a month or two and get warnings to update it, until finally it's shut off, sort of like a grace period. In essence, it still lets you perform transactions, without having any gas, and you go into debt so to speak.
Wondering if anything anywhere close to this exists in Ethereum or anywhere else. Something that would allow some sort of near-real-time Dapp. Because transactions and blocks must propagate across the network before they are incorporated into a final block, I can see no way of making it take less than a few seconds to 20 seconds like Ethereum's case. The only way I can see it taking less time is if there is a middle state between having a final valid transaction or block, and having an "in process" transaction or block, sort of thing. Wondering if anything does anything like this, haven't seen it.