In enterprise computing, “smart contracts” are called “database triggers” or “stored procedures.” They’re a nightmare, because they’re very hard to reason about or maintain, and they’re prone to unexpected and spooky effects.
It occurs to me that the situation’s even more dire than this single-node description. If everything’s in one database, then yes, a smart contract is effectively a stored procedure. But it can be worse! Imagine e.g. an MMORPG where city centers or dungeons are disconnected from the regional map to prevent overload. A smart contract might need to synchronize data between two databases, e.g. a dungeon and a surrounding region, to maintain correctness.
It occurs to me that the situation’s even more dire than this single-node description. If everything’s in one database, then yes, a smart contract is effectively a stored procedure. But it can be worse! Imagine e.g. an MMORPG where city centers or dungeons are disconnected from the regional map to prevent overload. A smart contract might need to synchronize data between two databases, e.g. a dungeon and a surrounding region, to maintain correctness.
yeah, i’m talking about the general case of not separating the code from the data