There's not really that much to understand about block chains...
It's a globally shared immutable linked list...
Umm... I'm pretty sure programs still execute on hardware...
In ethereum, there is no reason a single contract (i.e. "program") ever needs to exist on a single computer for the lifetime of its execution, parts of it could run on different computers, and will actually run on many computers at once.
That's what I mean by running "as a protocol" and not on hardware... it's a higher level of abstraction.
But the big difference is that programs in ethereum run on the "protocol level" not the hardware level. This means that correct execution of all programs is a necessary step before two ethereum nodes can talk to each other, this gives very high guarantees of correct and transparent execution beyond what other systems allow.