Ethereum Aims to Protect Users with Native Transaction Assertions
The Ethereum Foundation's Trillion Dollar Security initiative has identified blind signing and transaction uncertainty as a major user experience risk. To address this issue, the initiative is exploring native transaction assertions as a next step to enforce a transaction's final outcome, alongside Clear Signing.
Current Ethereum design executes exactly what you authorize, without judging whether the result is what you wanted. A signature commits to a request, but its outcome depends on the code and state it encounters during execution. Users have lost large sums either because they approved something different from what they believed they were approving, or because the request they intended still produced a result they didn’t want.
Native transaction assertions would let on-chain code inspect the full set of net state changes after the transaction's actions have run. An assertion uses read-only logic to compare starting and final values against a rule. If the rule fails, the actions revert. The rule is included in the transaction and signed along with its actions.