5

In other blockchains, even if your transaction fails, you are still taxed gas or other scarce resource in order to compensate nodes for processing your transaction and defend against spam. On the other hand, in EOSIO, it seems like it is not the case that failed transactions consume any resources for the sender despite consuming CPU cycles for the node processing the transaction.

Is the rationale behind this design decision explained anywhere?

1 Answer 1

3

If transaction fails - it will fail on first validating node. It will not reach block producing node at all. Which mean there is no way this account can be charged for broadcasting bad transaction.

And AFAIK the same goes with bitcoin and ethereum. Do you have other information?

4
  • 1
    from ETH whitepaper: "If the value transfer failed because the sender did not have enough money, or the code execution ran out of gas, revert all state changes except the payment of the fees, and add the fees to the miner's account." failed tx are included in chain (e.g. 1, 2) also this question
    – confused00
    Commented Sep 11, 2018 at 10:31
  • are you saying in EOS there's no distinction between invalid TX and failed TX? an invalid tx may not pass validating nodes, but in other chains you can have valid TX that fail when ran by miners, which are included in the chain and the sender is taxed (see question linked above)
    – confused00
    Commented Sep 11, 2018 at 10:34
  • Got you. This situation is actually possible. Examle: 2 txs spending X from accout while account have only X. Both are valid and can reach BPs. But it's quite rare situation because block time is so small. Commented Sep 12, 2018 at 13:34
  • Well, it looks like i dont know the real answer to your question. Did you tested it? Commented Sep 12, 2018 at 13:35

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.