12

I've read here and there, perhaps incorrectly, that the transaction fees depend on the size of the transaction (in bytes). However, with smart contracts, the difficulty to process a transaction is not proportional to its size: for example, there are small SAT-problem that can never be solved in practice, while it is very easy to answer the query "find the first byte of the sequence ab55..." even if the sequence is huge. Obviously, there should be some cost for the size of the transaction as it has to be stored on-chain, but if the cost is only on the size of the transaction, and not on the complexity of the request, then the chosen memory-time trade-offs will be greatly in favor of using time (free) above using memory (costly).

So, what will be the incentive mechanism for fees in cardano?

2
  • 1
    I think there are multiple things to consider. The data, as you pointed out, needs to be stored and thus incurs a cost. However, at least in haskell, that task of reading the first byte of the sequence is indeed rather simple if the laziness of haskell is utilized. It'll be interesting to see the exact fee formula. Commented Jun 1, 2021 at 2:34
  • @MatthiasSieber I do not see how haskell makes anything easier in this context. Indeed, you have to store the complete sequence because you have to check the signature. And it is also very easy to check only the first byte of a sequence in any imperative programming language like python or c. So not sure what you meant.
    – Distic
    Commented Jun 3, 2021 at 9:19

1 Answer 1

6

It's true that currently (prior to Plutus release), the only thing influencing the transaction fee for a transaction is its size in bytes.

However the Cardano development team have indicated that it will get more complex when using Plutus smart contracts. Two more factors will come into play:

  • Number of virtual instructions executed
  • Maximum memory used during execution

They are still working on the precise definition of what is a virtual instruction (some operations might count as more than 1, but how many exactly is still work in progress).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.