Currently, Ethereum does transaction values like this:
- debit value and fee from sending account
- credit value to receiving account
- call receiving account
Under late transaction value debiting, it will happen like this:
- debit fee from sending account
- credit value to receiving account
- call receiving account
- debit value from sending account, if insufficient balance, revert the transaction
Late transaction value debiting allows the implementation of Ethereum flash minting without adding new opcodes or precompiles. The ability to flash mint Ethereum will be critical to Defi’s market efficiency. It allows the arbitrage of much smaller price discrepancies since users no longer need to pay flash loan fees. Late transaction value debiting can be implemented in clients with extremely small changes, compared to dedicated flash mint opcodes and precompiles.