I haven't been able to see the difference between “computation layer” and “settlement layer” in the actual implementation. I'd assume it was an early concept that wasn't completely realised in practice. Yes, UTxOs are the only thing where state can be saved. A smart contract is a piece of code that gets the completely built transaction with all its inputs and outputs, looks at these inputs and outputs and their data, and determines if that transaction is allowed from its point of view. Such a contract has to give its OK if funds from an address associated with it shall be spent or tokens whose policy is associated with it shall be minted or burnt. This association is done by the address or policy ID containing the hash of the code of the contract. In order for a Cardano node to evaluate if the contract is fulfilled, it needs the actual code for these hashes. In the first iteration of Plutus contracts, that code had to be given explicitly to every transaction using a smart contract, which made the transaction quite large and expensive. Since Plutus V2, the Vasil/Babbage hard fork late in Summer 2022, contracts can also be stored as the data of UTxOs and those UTxOs can be given as a reference to a transaction to avoid having to include the whole code.
The Bitcoin UTXO only transfers Bitcoin. In line with the aforementioned, the contract, belonging to UTXO, executes and gives "yes" or "no" that whether the transaction is legal and allowed, and the computation of the contract is processed off-chain. Compare with Bitcoin UTXO, the Cardano (E)UTXO also tracks other data such as variables in Contract other than ADA? Also, I probably should read some designs of EUTXO for further comprehension. For example, the structure and fields of UTXO and transactions are likely essential. How the minute off-chain execution and verification look like.
Обсуждают сегодня