user9: What is Cardano's smart contract engine called?
Smart contract language:
Solidity (Ethereum) => Plutus (Cardano) Simple enough, I get this.

Smart contract "engine":
EVM (Ethereum) => ??? (Cardano) EUTXO? Plutus? PAB?


user4302: There is no Cardano equivalent to the EVM because code execution on Cardano is mostly an off-chain process.
In short, "smart contracts" is a bit of a misnomer because of how very different programmability is achieved in UTXO vs Accounts based distributed systems. In short:

In accounts, smart contracts are programs that are authorized to autonomously initiate state changes when specific conditions (on-chain) are met. In a way these programs have their own agency, making it easy to create a very precise dependency cascade (if X then Y then Z, then e.t.c.). As such, Ethereum itself is akin to a shared, single threaded, dynamically modifiable program, whose state is shared among all participating nodes - we call this the EVM.

In eUTXO, smart contracts are simply "address guards" that only allow their UTXOs to be used as inputs if the spending transaction exactly follows the logic set forth by the script's author. In other words, any transaction attempting to spend from an address guarded by a smart contract many only do so by providing a proof that its logic is equivalent to the logic outlined by the guard's author. As such, Cardano itself is akin to a shared database that can only be updated according to either canonical (pre-smart contract) or custom (post-smart contract) rulesets. There is no shared "state" (dependencies) of the system, only a shared history of inputs and outputs. Hence, no "Cardano-VM"


This topic has already been addressed from multiple angles, so I will provide links below that go in greater detail. The following Q/A's helped me understand the differences in the structure of UTXO vs Accounts, so they may help you as well:

Referencing an External Plutus Script
eUTXO transaction model Vs Account Based Transaction Model
Can blockchain viewers read the source code of a smart contract if they know its address?
What's the difference between programmable validators and smart contracts?


9: <p>What is Cardano's smart contract engine called?</p>
<pre><code>Smart contract language:
Solidity (Ethereum) =&gt; Plutus (Cardano) Simple enough, I get this.

Smart contract &quot;engine&quot;:
EVM (Ethereum) =&gt; ??? (Cardano) EUTXO? Plutus? PAB?
</code></pre>
 4302: <p>There is no Cardano equivalent to the EVM because <strong>code execution on Cardano is mostly an off-chain process.</strong></p>
<p>In short, &quot;smart contracts&quot; is a bit of a misnomer because of how very different <em>programmability</em> is achieved in UTXO vs Accounts based distributed systems. In short:</p>
<ul>
<li><p>In accounts, smart contracts are programs that are authorized to autonomously initiate state changes when specific conditions (on-chain) are met. In a way these programs have their own agency, making it easy to create a very precise dependency cascade (if X then Y then Z, then e.t.c.). As such, <strong>Ethereum itself is akin to a shared, single threaded, dynamically modifiable program, whose state is shared among all participating nodes - we call this the EVM.</strong></p>
</li>
<li><p>In eUTXO, smart contracts are simply &quot;address guards&quot; that only allow their UTXOs to be used as inputs if the spending transaction <em>exactly</em> follows the logic set forth by the script's author. In other words, any transaction attempting to spend from an address guarded by a smart contract many only do so by providing a proof that its logic is equivalent to the logic outlined by the guard's author. As such, <strong>Cardano itself is akin to a shared database that can only be updated according to either canonical (pre-smart contract) or custom (post-smart contract) rulesets.</strong> There is no shared &quot;state&quot; (dependencies) of the system, only a shared history of inputs and outputs. Hence, no &quot;Cardano-VM&quot;</p>
</li>
</ul>
<p>This topic has already been addressed from multiple angles, so I will provide links below that go in greater detail. The following Q/A's helped me understand the differences in the structure of UTXO vs Accounts, so they may help you as well:</p>
<ol>
<li><a href="https://cardano.stackexchange.com/questions/7194/referencing-an-external-plutus-script/7197#7197">Referencing an External Plutus Script</a></li>
<li><a href="https://cardano.stackexchange.com/questions/696/eutxo-transaction-model-vs-account-based-transaction-model">eUTXO transaction model Vs Account Based Transaction Model</a></li>
<li><a href="https://cardano.stackexchange.com/questions/6767/can-blockchain-viewers-read-the-source-code-of-a-smart-contract-if-they-know-its">Can blockchain viewers read the source code of a smart contract if they know its address?</a></li>
<li><a href="https://cardano.stackexchange.com/questions/3987/whats-the-difference-between-programmable-validators-and-smart-contracts">What's the difference between programmable validators and smart contracts?</a></li>
</ol>
