From 6f293cfc3e2e69b7f9153859d0fc84ed4c60a584 Mon Sep 17 00:00:00 2001 From: Alex Forshtat Date: Fri, 29 Sep 2023 15:37:51 +0300 Subject: [PATCH 01/10] Initial commit for Native Account Abstraction EIP --- EIPS/eip-00.md | 789 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 789 insertions(+) create mode 100644 EIPS/eip-00.md diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md new file mode 100644 index 0000000000000..fcb5c36c886a6 --- /dev/null +++ b/EIPS/eip-00.md @@ -0,0 +1,789 @@ +--- +eip: 0 +title: Native Account Abstraction +description: An account abstraction proposal that introduces consensus-layer protocol changes, instead of relying on higher-layer infrastructure. +author: Vitalik Buterin (@vbuterin), Yoav Weiss (@yoavw), Alex Forshtat (@forshtat), Dror Tirosh (@drortirosh), Shahaf Nacson (@shahafn) +discussions-to: https://www.google.com/ +status: Draft +type: Standards Track +category: Core +created: 2023-09-01 +requires: 4337, 6780 +--- + +## Abstract + +Combining the [EIP-2938](./eip-2938) +and [ERC-4337](./eip-4337) +into a comprehensive Native Account Abstraction proposal. + +We propose splitting the Ethereum transaction scope into multiple steps: validations, execution, and cleanup. +Transaction validity is determined by the result of the validation steps of a transaction. + +We further separate transaction validation for the purposes of authorization and the gas fee payment, +allowing contract B to pay gas for a transaction that will be executed from account contract A. + +The benefits are in backward compatibility with the emerging ERC-4337 ecosystem while achieving the +long-term goal of Native Account Abstraction. + +## Motivation + +ERC-4337 can do a lot as a purely voluntary ERC. However, any of the out-of-protocol ways of achieving +Account Abstraction faces several drawbacks compared to native support. There are a few key areas where +it is weaker than a truly in-protocol solution: + +* Existing users cannot benefit from it or upgrade to use it without moving all their assets and activity + to a new account. + +* Extra gas overhead of ~42k for a basic `UserOperation` compared to ~21k for a basic transaction. + +* Less benefit from in-protocol censorship resistance techniques such as crLists, which target transactions + and would miss `UserOperations`. + +* Relying on a significantly smaller set of participating nodes and non-standard RPC methods like + `eth_sendRawTransactionConditional`. + +* Inability to use `tx.origin` or contracts that rely on it as it returns the meaningless address of a bundler. + +EIP-2938 defines a very mature alternative approach to Account Abstraction. However, it does not translate +well to the architecture of ERC-4337 that is being used in production without any protocol changes. +Therefore, the implementation of EIP-2938 will not benefit as much from the production experience gained by using +ERC-4337 and from maintaining backward compatibility with it. + +There is also a possibility that at some point in the future, the EOAs on Ethereum will be replaced with pre-deployed +smart contracts. This, however, is impossible without an addition of Native Account Abstraction to the protocol. + +## Specification + +### Constants + +| Name | Value | +|-----------------------|---------------------------------------------------------------------------------| +| FORK_BLOCK | TBD | +| AA_TX_TYPE | 4 | +| AA_ENTRY_POINT | `address(9999)` << current EIP number | +| AA_SENDER_CREATOR | `address(ffff9999)` | +| AA_NONCE_MANAGER | TODO | +| AA_BASE_GAS_COST | 15000 | +| AA_ECRECOVER_COST | 6000 | +| VERSION | 1 | +| MAGIC_VALUE_SENDER | 0xbf45c166 // keccak256("validateTransaction(uint256,bytes32,bytes)") | +| MAGIC_VALUE_PAYMASTER | 0xe0e6183a // keccak256("validatePaymasterTransaction(uint256,bytes32,bytes)") | +| MAX_CONTEXT_SIZE | 65536 | + +### New Transaction Type + +A new [EIP-2718](./eip-2718) transaction with type AA_TX_TYPE is introduced. Transactions of this type are referred to as +“AA transactions”. Their payload should be interpreted as: + +``` + +0x04 || 0x00 || rlp([ + chainId, sender, nonce, builderFee, + callData, paymasterData, deployerData, + maxPriorityFeePerGas, maxFeePerGas, + validationGasLimit, paymasterGasLimit, callGasLimit, + accessList, signature +]) + +``` + +The base gas cost of this transaction is set to AA_BASE_GAS_COST instead of 21000 to reflect the lack of “intrinsic” +ECDSA and signature. + +If `paymasterData` is specified, its first 20 bytes contain the address of a `paymaster` contract. + +If `deployerData` is specified, its first 20 bytes contain the address of a `deployer` contract. + +### Non-sequential nonce support + +Before EIP-9999, for accounts with associated code (smart contracts), the account nonce is only used and incremented +when the account executes the `CREATE` (`0xf0`) opcode. + +However, with Smart Contract Accounts this creates a bottleneck for some use-cases. +For example, an account that is operated by multiple participants simultaneously will require these participants +to coordinate their transactions to avoid invalidating each other. + +Another example when this can also be a limitation is a case where there are separate execution flows. +A configuration change may require multiple participants to co-sing a transaction but a regular operation does not. +With sequential nonces, all operations will have to be halted until the configuration change is executed. + +To address it we propose an introduction of a separate 2-dimensional nonce used when contracts initiate a transaction. + +The `nonce` parameter of the transaction is to be interpreted as `uint192 key || uint64 seq` value. +The contract account nonce is then defined as a mapping `address account => uint192 key => uint64 seq`. +This approach guarantees unique transaction nonce and hash but removes the requirement of nonce being sequential +numbers. + +This `nonce` is exposed to the EVM in a `NonceManager` pre-deployed contract located at the AA_NONCE_MANAGER address. + +The `nonce` is [validated and incremented](#nonce-validation-frame) on-chain before the rest of the validation code. + +The old `nonce` account parameter remains in use for transactions initiated by EOAs and for the `CREATE` opcode. + +#### NonceManager Pseudocode + +``` + +if evm.caller == AA_ENTRY_POINT: + validate_increment() +else: + get() + +def get(): + if len(evm.calldata) != 44: + evm.revert() + + // address sender, uint192 key + address = to_uint160_be(evm.calldata[0:20]) + key = to_uint192_be(evm.calldata[20:44]) + + nonce = storage.get(keccack(address, key)) + + evm.return((key << 64) + nonce) + +def validate_increment(): + + address = to_uint160_be(evm.calldata[0:20]) + key = to_uint192_be(evm.calldata[20:44]) + nonce = to_uint64_be(evm.calldata[44:52]) + + current_nonce = storage.get(keccack(address, key)) + + if (nonce != current_nonce): + evm.revert() + + storage.set(keccack(address, key), current_nonce + 1) + +``` + +#### NonceManager Bytecode and deployment + +TODO. + +### Gas fees are charged directly from the contract balance + +The maximum gas cost of the AA_TX_TYPE transaction is defined as: + +``` + +maxPossibleGasCost = AA_BASE_GAS_COST + + callGasLimit + + paymasterGasLimit + + validationGasLimit + +``` + +If `paymaster` is not specified, the `maxPossibleGasCost` is charged up-front, before any computation is done in any +execution frame, from the balance of the `sender` address. +If `paymaster` is specified, the gas cost is charged from its balance. +The transaction is invalid if the balance of the account that is being pre-charged, +whether it is a `sender` or a `paymaster`, is insufficient. +After the transaction finishes its execution, the address that was pre-charged may receive a gas refund. + +### Gas fees charged for transaction input + +For all the existing transaction types, G_txdatazero (4 gas) and G_txdatanonzero (16 gas) per byte is +charged for the `data` parameter. + +Transaction Type AA_TX_TYPE introduces the following dynamic length inputs: `callData`, `paymasterData`, +`deployerData`, `signature`. Each of these parameters' gas cost is counted towards transaction data cost. +This transaction data gas cost is referred to as `calldataCost` and is subtracted from the `callGasLimit` +before execution of the transaction. +The transaction is considered INVALID if `callGasLimit` is smaller than `calldataCost`. + +### Builder Fee + +As we need to account for an additional off-chain work that block builders have to perform to +include `AA_TX_TYPE` transactions in their blocks, as well as a potential L1 gas cost for builders +operating on L2 rollups, and given that this work does not correspond to the amount of gas spent on +validation and is not linked to the gas price, the `sender` may decide +to pay an extra `builderFee` as a "tip" to the block builder. + +This value is denominated in wei and is passed from the `sender` to the `coinbase` as part of the gas pre-charge. + +### Multiple execution frames for a single transaction + +All existing transaction types only have an implicit validation phase where balance, nonce, and signature are checked, +and a single top-level execution frame with +`tx.origin == msg.sender` which is the address that is determined by a transaction ECDSA signature. + +When processing a transaction of type `AA_TX_TYPE`, however, multiple execution frames will be created. +The full list of possible frames tries to replicate the ERC-4337 flow: + +1. Validation Phase + * `sender` deployment frame (once per account) + * `sender` validation frame (required) + * `paymaster` validation frame (optional) +2. Execution Phase + * `sender` execution frame (required) + * `paymaster` post-transaction frame (optional) + +All execution frames in the "Validation Phase" must be completed successfully without reverting, and the return value +for `sender` and `paymaster` validation frames must include `MAGIC_VALUE_SENDER` and `MAGIC_VALUE_PAYMASTER` accrodingly +in order for the transaction to be considered valid for a given position in a block. + +In terms of block validity, all validation and execution frames may read and write any state when included in the block. +However, the AA transactions in the mempool SHOULD be bound by storage access rules to avoid DoS on block builders. +These rules are defined in EIP-9999. + +In all top-level frames, the global variables have the following meaning: + +| Opcode Name | Solidity Equivalent | Value | +|-------------|---------------------|-------------------------------------------------------------------------------| +| `CALLER` | `msg.sender` | The `AA_ENTRY_POINT` address. `AA_SENDER_CREATOR` for the "deployment frame". | +| `ORIGIN` | `tx.origin` | The transaction `sender` address | +| `CALLDATA*` | `msg.data` | The transaction data is set to inputs of the corresponding frame | + +#### Nonce validation frame + +The `NonceManager` is invoked with the following data: + +```solidity +abi.encodePacked(sender, nonce) +``` + +#### Sender deployment frame + +The `deployer` address is invoked with the `deployerData[20:]` as call data input. +It is important that the `deployer` is **not** invoked from the `AA_ENTRY_POINT` but from the `AA_SENDER_CREATOR`. +This is necessary to guarantee that `AA_ENTRY_POINT` may never initiate a call to a `sender` execution function +without first completing a successful validation. + +The gas limit of this frame is set to `validationGasLimit`. +The amount of gas used by this frame is referred to as `senderCreationGasUsed`. + +The sender deployment frame MUST result in the `sender` address becoming +initialized with contract code. + +#### Sender validation frame + +We define the following Solidity struct to represent the AA transaction on-chain: + +```solidity + +struct TransactionType4 { + address sender; + uint256 nonce; + uint256 validationGasLimit; + uint256 paymasterGasLimit; + uint256 callGasLimit; + uint256 maxFeePerGas; + uint256 maxPriorityFeePerGas; + uint256 builderFee; + bytes paymasterData; + bytes deployerData; + bytes callData; + bytes signature; +} + +``` + +We then define the following Solidity method and the `sender` of the transaction is invoked with the corresponding data: + +```solidity + +function validateTransaction(uint256 version, bytes32 txHash, bytes transaction) external returns (uint256 validationData); + +``` + +The gas limit of this frame is set to `validationGasLimit - senderCreationGasUsed`. +The `transaction` parameter is interpreted as an ABI encoding of `TransactionType4`. +The `version` parameter is added in order to maintain the Solidity method ID in case of changes to this struct +in future revisions of this EIP. + +The amount of gas used by this frame is referred to as `senderValidationGasUsed`. + +The frame must return 32 bytes `validationData` that is interpreted as: + +```solidity + +abi.encodePacked(MAGIC_VALUE_SENDER, validBefore, validAfter) + +``` + +In order to allow a gas estimation to determine the amount of gas that this frame +requires to complete successfully while not having the actual `signature` value, this function +should avoid reverting on invalid signature, and should return a value different from `MAGIC_VALUE_SENDER`. + +The `validateTransaction` function can choose to revert on any condition that can be satisfied during gas estimation. + +#### Paymaster validation frame + +The `paymaster` of the transaction, if specified, is invoked with the following data: + +```solidity + +function validatePaymasterTransaction(uint256 version, bytes32 txHash, bytes transaction) external returns (bytes context, uint256 validationData); + +``` + +The gas limit of this frame is set to `paymasterGasLimit`. + +The amount of gas used by this frame is referred to as `paymasterValidationGasUsed`. + +The `transaction` parameter is interpreted as an ABI encoding of `TransactionType4`. + +The frame must return a bytes array that is interpreted as: + +```solidity + +abi.encode(context, MAGIC_VALUE_PAYMASTER, validBefore, validAfter) + +``` + +Same as in the [`sender` validation frame](#sender-validation-frame), in order to support gas estimation this +frame should return a value different from `MAGIC_VALUE_PAYMASTER` for conditions that cannot be satisfied +before signing. + +The size of the `context` byte array may not exceed `MAX_CONTEXT_SIZE` for a transaction to be considered valid. + +#### Sender execution frame + +The `sender` address is invoked with `callData` input. + +The gas limit of this frame is set to `callGasLimit`. +The amount of gas used by this frame is referred to as `gasUsedByExecution`. + +The validation frames do not revert if the execution frame reverts. +The `postPaymasterTransaction` may still be called with a `success: false` flag. + +#### Paymaster post-transaction frame + +After the sender execution frame is over the `paymaster` may need to perform some kind of cleanup or bookkeeping. +If the gas payment validation returned a non-zero `context`, the `paymaster` is invoked again +with the following inputs: + +```solidity + +function postPaymasterTransaction(bool success, uint256 actualGasCost, bytes context) external; + +``` + +The `actualGasCost` parameter is the actual amount paid by the paymaster for this transaction, +and `success` indicates whether this transaction's execution frame completed without revert. + +The gas limit of this frame is set to `paymasterGasLimit - paymasterValidationGasUsed`. + +Revert in the `postPaymasterTransaction` frame reverts the transaction's execution frame as well. +The validation frames do not revert if the `postPaymasterTransaction` frame reverts. +The gas fees charged from the `paymaster` will still include the gas cost of the reverted execution frame. + +### Execution layer transaction validation + +On the execution layer, the transaction validity conditions for a block are extended as follows: + +``` + +func validateAccountAbstractionTransaction(tx *Transaction) { + + if (sender.code.length == 0 && deployerData.length == 0) { + validUntil = (nonce >> 112) & 0xffffffffffff + validAfter = (nonce >> 160) & 0xffffffffffff + assert Date.now() <= validUntil + assert Date.now() >= validAfter + } + + if (sender.code.length == 0 && deployerData.length > 0) { + assert deployerData.length > 20 + deployer := deployerData[0:20] + retDeployer, error := evm.Call( + from: AA_SENDER_CREATOR, + to: deployer, + input: deployerData[20:], + gas: validationGasLimit) + assert error == nil + assert sender.code.length > 0 + } + + if (paymasterData.length > 0) { + assert paymasterData.length > 20 + paymaster := paymasterData[0:20] + paymasterInput := ABI.encodeWithSelector('validatePaymasterTransaction', tx, tx.hash) + retPaymaster, error := evm.Call( + from: AA_ENTRY_POINT, + to: paymaster, + input: paymasterInput, + gas: paymasterGasLimit) + assert error == nil + assert Date.now() <= retPaymaster.validUntil + assert Date.now() >= retPaymaster.validAfter + assert retPaymaster.isValid + } + + if (sender.code.length == 0) { + signer := ecrecover(tx.hash, tx.signature) + assert signer == sender.address + } else { + senderInput := ABI.encodeWithSelector('validateTransaction', tx, tx.hash); + retSender, error := evm.Call( + from: AA_ENTRY_POINT, + to: sender, + input: senderInput, + gas: validationGasLimit - retDeployer.gasUsed) + assert error == nil + assert Date.now() <= retSender.validUntil + assert Date.now() >= retSender.validAfter + assert retSender.isValid + } +} + +``` + +In order to defend from DoS attack vectors, the block builders performing mempool transaction validation SHOULD consider +the opcode banning and storage access rules described in EIP-9999. + +[Block validation](#execution-layer-block-validation) takes roughly the same amount of work as without AA transactions. +In any case, validation must execute the entire block in order to verify the state change. +During this execution, it currently verifies signatures, nonces, and gas payment. +With Account Abstraction, it will also verify that all the validation frames were successful. +There is a slight increase in required memory mostly used to store the `context` value that is passed from +the `paymaster` validation frame to its post-transaction frame. + +As long as all transaction validation steps return correct values the block is considered valid. +Block builders who are willing to relax the rules applied to the validation frames MAY do so. + +Such transactions MUST NOT be propagated through the default transaction mempool as they will be rejected by the nodes +and the sending node will be blocked as a spammer. +They may be propagated in the alternative mempool that allows them explicitly as defined in EIP-9999. + +### All validation state changes apply before all execution ones + +Filling a block with AA transactions must not be a challenge for the block builder. +However, if each transaction during its execution can alter any state that affects the validity of another transaction +in the mempool, the block builder will be forced to revalidate all transactions in the mempool after each inclusion. + +We mitigate that by applying all changes in all the validation frames of a sequence of AA transactions first +and all execution frames apply immediately after that. + +In theory, the validation frames can also invalidate each other, but we define ways to prevent that by applying +certain rules for the mempool transactions in EIP-9999. + +A builder that chooses not to enforce the rules from EIP-9999 **must** take care to re-validate each transaction +against the mid-block state at the position where it is being included into a block. +Otherwise, the resulting block is likely to end up being invalid. + +### Validation state change virtual transactions + +The validation frames of the AA_TX_TYPE transaction are represented as individual virtual transactions by the clients. +They are assigned their own sequential `transactionIndex`, and their `transactionHash` is defined as +(`AA_TX_TYPE transaction hash + 1`). + +All block-related RPC methods, like `eth_getBlockByHash` and `eth_getBlockByNumber`, must include these virtual +transactions as part of the `transactions` field and include validation in the block transaction count. + +All transaction-related RPC methods, like `eth_getTransactionByHash` and `eth_getTransactionReceipt`, must +accept the virtual transaction hash as input and return the details calculated as if the validation was a +separate transaction. + +There is a number of behaviours that define transaction-wide effects in Ethereum. +This list includes, but is not limited to: + +* Tracking `accessed_addresses` +* [EIP-1283](./eip-1283) Gas metering for SSTORE +* [EIP-1153](./eip-1153) Transient storage opcodes + +Any such behaviour has separate effects in the "Validation Virtual Transaction" and "Execution Transaction". + +Gas refunds are issued at the end of the entire transaction only. + +### Transaction validity time range parameters + +The `Paymaster validation frame` and the `Sender validation frame` each return values `validBefore` and `validAfter`. +If the transaction is initiated by an EOA, these fields may be encoded into unused bits of the `nonce`. + +These values allow the `sender` and `paymaster` contracts to specify +a time range for the blocks the transaction will be valid for. + +Transaction cannot be included in a block outside of this time range. +If included, such a block is considered invalid. + +Passing `validBefore = 0` and `validAfter = 0` disables the check. + +### Calculation of Transaction Type AA_TX_TYPE hash + +``` + +keccak256(AA_TX_TYPE || 0x00 || rlp(transaction_payload) + +``` + +Note that the `chainId` and `accessList` parameters are included in the transaction hash calculation but are not +available on-chain as part of the `TransactionType4` struct. + +### Accepting EOA account as `sender` to achieve native gas abstraction + +In case the `sender` address does not have any code deployed and the `deployerData` length is zero, +interpret the `signature` parameter as `(y_parity, r, s)` and the `nonce` parameter +as `(validUntil, validAfter, nonce)`. +Replace the sender validation frame with default ECDSA signature validation. +Also check the block timestamp is within the `[validUntil, validAfter]` range. + +The base transaction gas cost, in this case, is increased by `AA_ECRECOVER_COST`. + +The `callData` parameter in this case is interpreted as following: + +``` + +target || value || data + +``` + +### Execution layer block validation + +When validating a block, the validity conditions for a block are extended as follows: + +``` + +for txIndex := 0; txIndex < range block.Transactions.Len(); txIndex++ { + + // 1. Save the current transaction + txCurr = block.Transactions[txIndex] + + if (txCurr.Type() == AccountAbstractionTransaction) { + + // 2. Start running validations for AA transactions + for j := txIndex; j < range block.Transactions().Len(); j++ { + tx = block.Transactions[j] + + // 3. Stop after encountering a non-AA transaction (or reaching the end of the block) + if (tx.Type() != AccountAbstractionTransaction) { + break + } + context[j], paymasterValidationGasUsed[j], error := validateAccountAbstractionTransaction(tx) + assert error == nil + } + + // 4. If all validations are successful, go back to the saved tx index and run all executions + for j := txIndex; j < range block.Transactions().Len(); j++ { + tx = block.Transactions[j] + if (tx.Type() != AccountAbstractionTransaction) { + break + } + + calldataCost := calculateCalldataCost(tx) + retCall, error := evm.Call( + from: AA_ENTRY_POINT, + to: sender, + input: callData, + gas: callGasLimit - calldataCost) + + txIndex := j // transaction executed - no need to revisit in the outer loop + + + // 5. Run cleanups if necessary + if (context[j].Len() == 0){ + continue + } + + paymasterPostTransactionInput := ABI.encodeWithSelector('postPaymasterTransaction', success, actualGasCost, context[j]) + retPostTransaction, error := evm.Call( + from: AA_ENTRY_POINT, + to: paymaster, + input: paymasterPostTransactionInput, + gas: paymasterGasLimit - paymasterValidationGasUsed[j]) + } + } + else { + // handle other types of transactions + evm.Apply(txCurr) + } +} + +``` + +### RPC methods (eth namespace) + +#### `eth_sendTransaction` and `eth_sendRawTransaction` + +Accepts Transaction Type `AA_TX_TYPE`. + +Return values unchanged for a successful call. + +In case of failure, MUST return an error result object, with code and message. +The error code and message SHOULD be set as follows: + +* code: -32500 - transaction validation failed by `sender`. + The message field SHOULD be set to the revert message from the `sender`. + +* code: -32501 - transaction validation failed by `paymaster`. + The message field SHOULD be set to the revert message from the `paymaster`. + +* code: -32502 - transaction rejected because of storage or opcode rules violation in a validation frame. + The message field SHOULD be set to the location and description of the violated rule. + +* code: -32503 - Transaction out of time range. + +* code: -32504 - transaction rejected because `paymaster` is throttled or banned, as defined by EIP-9999. + +* code: -32505 - transaction rejected because `factory` is throttled or banned. + +* code: -32506 - transaction rejected because `sender` is throttled or banned. + +#### `eth_signTransaction` + +Accepts Transaction Type `AA_TX_TYPE`. + +Returns the RLP-encoded transaction object with value for the `signature` field that makes the `AA_TX_TYPE` +transaction valid. + +Returns error object if this operation cannot be performed by the RPC endpoint. + +#### `eth_getTransactionReceipt` + +Accepts the hash of a virtual transaction that encapsulates the validation frames of the `AA_TX_TYPE` transaction. +This transaction's ID is defined as (`AA_TX_TYPE transaction hash + 1`). + +If an AA transaction is included in a block, returns the following values in addition to the existing fields: + +| Name | Value | +|----------------------------|------------------------------------------------------------------------------| +| sender | Address of the sender of this transaction | +| nonce | The transaction nonce value | +| paymaster | Address of the Paymaster if it is paying for the transaction, null otherwise | +| deployer | Address of the Deployer if it is included in the transaction, null otherwise | +| senderCreationGasUsed | The amount of gas actually used by the sender deployment frame | +| senderValidationGasUsed | The amount of gas actually used by the sender validation frame | +| paymasterValidationGasUsed | The amount of gas actually used by the paymaster validation frame | + +Accepts hash of Transaction Type `AA_TX_TYPE`. + +If an AA transaction is included in a block, returns the following values in addition to the existing fields: + +| Name | Value | +|---------------------------------|------------------------------------------------------------------------------------------------| +| status | Either 1 (success) or 0 (failure) status of the execution frame | +| executionGasUsed | The amount of gas actually used by the execution frame | +| postPaymasterTransactionStatus | Either 1 (success), 0 (failure), or `null` (did not run) status of the `postPaymasterTransaction` frame | +| postPaymasterTransactionGasUsed | The amount of gas actually used by the paymaster `postPaymasterTransaction` frame | + +Note that the field `to` is not included as there is no clear `target` in an `AA_TX_TYPE` transaction. + +#### `eth_call` + +Accepts Transaction Type `AA_TX_TYPE` with all fields except `from` and `callData` optional. + +Returns the return value of [the `sender` execution frame](#sender-execution-frame). + +If provided with `paymasterData` and `deployerData` also executes the corresponding frame. + +If any of the frames reverts the call returns the revert data of each reverted frame. + +#### `eth_estimateGasAccountAbstraction` + +Accepts Transaction Type `AA_TX_TYPE` with fields `validationGasLimit`, `paymasterGasLimit`, `callGasLimit` optional. + +Returns `{validationGasLimit, paymasterGasLimit, callGasLimit, builderFee}` object. + +Note that the `deployerData` and `paymasterData` fields are required for a consistent result. + +As mentioned earlier, the `sender` and `paymaster` contracts should not revert on the validation failure +and should return a value different from `MAGIC_VALUE_SENDER` or `MAGIC_VALUE_PAYMASTER` accordingly +in order to enable gas estimation. + +## Rationale + +### Using Solidity method selectors in a Core EIP + +The contracts that have a role in this Account Abstraction proposal, such as `sender` or `paymaster`, +MUST know which code to execute and understand the calldata provided to them in order to validate the transaction. + +We argue that the most straightforward implementation is to rely on Solidity 4-byte method selectors as it is an +established de-facto standard. + +### Accepting `AA_TX_TYPE` transactions from EOAs + +While it may seem like allowing EOAs to initiate `AA_TX_TYPE` transactions contradicts the purpose of Account Abstraction, we argue that this +may actually be important for the adoption of Smart Contract Accounts. + +It will enable all existing EOAs to benefit from the improved UX features like gas abstraction and validity ranges. + +In the future, this can be used to pay gas for transactions that add code to the EOA addresses, +once Ethereum implements changes like the ones proposed in +[EIP-5003: Insert Code into EOAs with AUTHUSURP](./eip-5003), +[EIP-6913: SETCODE instruction](./eip-6913) and +[EIP-7377: Migration Transaction](./eip-7377). + +## Backwards Compatibility + +This EIP preserves most of the design elements established by the ERC-4337. This allows the same client code and smart +contracts to be used in both systems with minimal to no modifications, while providing significant UX improvements. + +Existing contracts are not significantly affected by the change. +The assumption that `tx.origin` is guaranteed to be an EOA is no longer valid. +The assumption that `tx.origin` is the address that pays for the current transaction is no longer valid as well. + +Any code that expects a single top-level execution frame for an Ethereum transaction will have to accommodate +the new transaction type. + +[EIP-3607](./eip-3607) introduces a ban on transactions from senders with deployed code. +This limitation does not apply to AA_TX_TYPE transactions. + +### Migration path for existing ERC-4337 projects and further roadmap + +#### Existing bundlers can co-exist on the network + +The ERC-4337 is not a protocol change and may remain operational in parallel to this EIP indefinitely. +Given the similarity to ERC-4337, the same block builders may easily support both ERC-4337 and `AA_TX_TYPE` transactions. + +#### Accounts need to upgrade their `EntryPoint` to an adapter contract + +The team behind ERC-4337 will provide a reference implementation of a contract converting +the ABI of the `paymaster` and `sender` contracts. This adapter can be set as a trusted +`EntryPoint` address by the ERC-4337 contracts. + +#### Supporting ERC-4337 RPC calls as a compatibility layer + +The `sender` contracts MAY support both ERC-4337 and `AA_TX_TYPE` transactions during a transition period, +as long as this EIP may be adopted by some chains and not by others. + +The participating RPC nodes MAY be able to handle the `eth_sendUserOperation` call and +convert it into an `eth_sendTransaction` call if necessary. + +## Security Considerations + +This EIP creates a complex and sophisticated mechanism and aims to expand the usage of Smart Contract Accounts. +All of it creates a lot of new risk vectors and attack surfaces. + +The following is a non-exhaustive list of known security considerations regarding Native Account Abstraction. + +### Attacks on validation-execution separation + +The state that exists at the end of the validation frame may be observed or modified by unrelated contracts before +the execution frame begins. +`Sender` contracts must take great care in making sure their code does not make any false assumptions. + +### DoS attacks on block builders + +The amount of computation and available memory that is necessary to maintain a mempool and produce valid blocks is +increased significantly. + +### Directly charging the balance of a contract + +This EIP adds a new way for a smart contract to have its balance charged simply by returning a valid value from a +function with method ID that corresponds to `validateTransaction`, `validatePaymasterTransaction`. + +This creates a new kind of risk for contracts that accidentally or maliciously contain such methods but are not public +about the fact that these contracts can be used as a `sender` or a `paymaster` in an `AA_TX_TYPE` transaction. + +This is somewhat mitigated by requiring these contracts to return `MAGIC_VALUE_SENDER` or `MAGIC_VALUE_PAYMASTER`, +however code reviewers should still be aware of this. + +### Observing revert reasons in a validation frame + +Existing transaction types get included in a block even if reverted and provide a revert reason for debugging purposes. +There is a very short list of things that can cause a transaction not to be included on-chain: + +* low gas fee +* insufficient balance +* invalid nonce +* censorship + +This is not the case for reverts that occur in the validation phase of an `AA_TX_TYPE` transaction. +In order to address this developers should track the validity of these transactions being signed and are encouraged +to rely on the `validUntil` time range parameter to guarantee a transaction that has not been included in the intended time +will not become valid again unexpectedly for the user who had sent it. + +## Copyright + +Copyright and related rights waived via [CC0](../LICENSE.md). From be7635fb5f17e8546200decc49d8345fb122314d Mon Sep 17 00:00:00 2001 From: Alex Forshtat Date: Mon, 2 Oct 2023 21:09:43 +0300 Subject: [PATCH 02/10] Update EIPS/eip-00.md Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com> --- EIPS/eip-00.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md index fcb5c36c886a6..7da8444754381 100644 --- a/EIPS/eip-00.md +++ b/EIPS/eip-00.md @@ -105,7 +105,7 @@ For example, an account that is operated by multiple participants simultaneously to coordinate their transactions to avoid invalidating each other. Another example when this can also be a limitation is a case where there are separate execution flows. -A configuration change may require multiple participants to co-sing a transaction but a regular operation does not. +A configuration change may require multiple participants to co-sign a transaction but a regular operation does not. With sequential nonces, all operations will have to be halted until the configuration change is executed. To address it we propose an introduction of a separate 2-dimensional nonce used when contracts initiate a transaction. From ff70ed654af414f3e57d8cd71ff440f00f3485e3 Mon Sep 17 00:00:00 2001 From: Alex Forshtat Date: Wed, 4 Oct 2023 19:51:28 +0300 Subject: [PATCH 03/10] Fix: cannot provide 'deployerData' for contract that already exists --- EIPS/eip-00.md | 1 + 1 file changed, 1 insertion(+) diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md index 7da8444754381..1f0902337235b 100644 --- a/EIPS/eip-00.md +++ b/EIPS/eip-00.md @@ -376,6 +376,7 @@ On the execution layer, the transaction validity conditions for a block are exte ``` func validateAccountAbstractionTransaction(tx *Transaction) { + assert !(sender.code.length > 0 && deployerData.length > 0) if (sender.code.length == 0 && deployerData.length == 0) { validUntil = (nonce >> 112) & 0xffffffffffff From c87005b3b5a9baa000901eddcd7a37e88cd236de Mon Sep 17 00:00:00 2001 From: Alex Forshtat Date: Tue, 10 Oct 2023 16:04:48 +0200 Subject: [PATCH 04/10] Native account abstraction EIP revision 1 * Issue 1: Add flow and block diagrams * Issue 2: Remove claim 'eth_sendUserOperation' can be supported * Issue 3: Explicitly define the signature-less transaction hash value * Issue 5: Explicitly mention the nonce validation frame in the frames list * Issue 7: Replace vague "cleanup" with more generic "post-transaction logic" * Issue 8: Explicitly allow passing a "state override" to AA gas estimation RPC * Issue 9: Include description of the "dummy signature" pattern * Issue 10: Fix incorrect execution gas limit description --- EIPS/eip-00.md | 58 ++++++++++++++++++++---- assets/eip-00/block_overview.png | Bin 0 -> 63126 bytes assets/eip-00/flow_diagram.png | Bin 0 -> 142917 bytes assets/eip-00/zoom_into_transaction.png | Bin 0 -> 55317 bytes 4 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 assets/eip-00/block_overview.png create mode 100644 assets/eip-00/flow_diagram.png create mode 100644 assets/eip-00/zoom_into_transaction.png diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md index 1f0902337235b..b9209d39fb64d 100644 --- a/EIPS/eip-00.md +++ b/EIPS/eip-00.md @@ -17,7 +17,8 @@ Combining the [EIP-2938](./eip-2938) and [ERC-4337](./eip-4337) into a comprehensive Native Account Abstraction proposal. -We propose splitting the Ethereum transaction scope into multiple steps: validations, execution, and cleanup. +We propose splitting the Ethereum transaction scope into multiple steps: validations, execution, +and post-transaction logic. Transaction validity is determined by the result of the validation steps of a transaction. We further separate transaction validation for the purposes of authorization and the gas fee payment, @@ -212,6 +213,7 @@ When processing a transaction of type `AA_TX_TYPE`, however, multiple execution The full list of possible frames tries to replicate the ERC-4337 flow: 1. Validation Phase + * `nonce` validation and increment frame (required) * `sender` deployment frame (once per account) * `sender` validation frame (required) * `paymaster` validation frame (optional) @@ -287,8 +289,10 @@ function validateTransaction(uint256 version, bytes32 txHash, bytes transaction) ``` -The gas limit of this frame is set to `validationGasLimit - senderCreationGasUsed`. -The `transaction` parameter is interpreted as an ABI encoding of `TransactionType4`. +The gas limit of this frame is set to `validationGasLimit - senderCreationGasUsed`.\ +The `transaction` parameter is interpreted as an ABI encoding of `TransactionType4`.\ +The `txHash` parameter represents the hash of the AA_TX_TYPE transaction with empty signature, as defined in section +[Calculation of Transaction Type AA_TX_TYPE hash](#calculation-of-transaction-type-aatxtype-hash).\ The `version` parameter is added in order to maintain the Solidity method ID in case of changes to this struct in future revisions of this EIP. @@ -322,7 +326,9 @@ The gas limit of this frame is set to `paymasterGasLimit`. The amount of gas used by this frame is referred to as `paymasterValidationGasUsed`. -The `transaction` parameter is interpreted as an ABI encoding of `TransactionType4`. +The `transaction` parameter is interpreted as an ABI encoding of `TransactionType4`.\ +The `txHash` parameter represents the hash of the AA_TX_TYPE transaction with empty signature, as defined in section +[Calculation of Transaction Type AA_TX_TYPE hash](#calculation-of-transaction-type-aatxtype-hash). The frame must return a bytes array that is interpreted as: @@ -342,7 +348,9 @@ The size of the `context` byte array may not exceed `MAX_CONTEXT_SIZE` for a tra The `sender` address is invoked with `callData` input. -The gas limit of this frame is set to `callGasLimit`. +The gas limit of this frame is set to `callGasLimit - calldataCost`.\ +Calculation of the `calldataCost` value is defined in the +[Gas fees charged for transaction input](#gas-fees-charged-for-transaction-input) section.\ The amount of gas used by this frame is referred to as `gasUsedByExecution`. The validation frames do not revert if the execution frame reverts. @@ -350,7 +358,8 @@ The `postPaymasterTransaction` may still be called with a `success: false` flag. #### Paymaster post-transaction frame -After the sender execution frame is over the `paymaster` may need to perform some kind of cleanup or bookkeeping. +After the sender execution frame is over the `paymaster` may need to perform some post-transaction logic, +for instance to perform some kind of cleanup or bookkeeping. If the gas payment validation returned a non-zero `context`, the `paymaster` is invoked again with the following inputs: @@ -369,6 +378,13 @@ Revert in the `postPaymasterTransaction` frame reverts the transaction's executi The validation frames do not revert if the `postPaymasterTransaction` frame reverts. The gas fees charged from the `paymaster` will still include the gas cost of the reverted execution frame. +### Execution flow diagram + +The execution flow determined by an Account Abstraction Transaction is visualised by the following flow diagram: + +![](../assets/eip-00/flow_diagram.png) +*Execution flow for the Native Account Abstraction Transactions* + ### Execution layer transaction validation On the execution layer, the transaction validity conditions for a block are extended as follows: @@ -464,6 +480,20 @@ A builder that chooses not to enforce the rules from EIP-9999 **must** take care against the mid-block state at the position where it is being included into a block. Otherwise, the resulting block is likely to end up being invalid. +### Block structure diagram + +Here is a visual representation of a block that contains multiple Account Abstraction Transactions. +The validation parts of AA transactions are executed as separate transactions, +but are not represented as separate transactions in the block data. + +![](../assets/eip-00/block_overview.png) +*The structure of a block containing multiple Native Account Abstraction Transactions* + +Zooming into a single transaction, the validation part of an AA transaction may include multiple exectution frames: + +![](../assets/eip-00/zoom_into_transaction.png) +*Frames within a single Native Account Abstraction Transaction within a block* + ### Validation state change virtual transactions The validation frames of the AA_TX_TYPE transaction are represented as individual virtual transactions by the clients. @@ -512,6 +542,10 @@ keccak256(AA_TX_TYPE || 0x00 || rlp(transaction_payload) Note that the `chainId` and `accessList` parameters are included in the transaction hash calculation but are not available on-chain as part of the `TransactionType4` struct. +In order to calculate the transaction hash that will be used during the signing of the transaction and validation of +the transaction signature by the `sender`, the value of the `signature` parameter is considered to be an empty +byte array. + ### Accepting EOA account as `sender` to achieve native gas abstraction In case the `sender` address does not have any code deployed and the `deployerData` length is zero, @@ -572,7 +606,7 @@ for txIndex := 0; txIndex < range block.Transactions.Len(); txIndex++ { txIndex := j // transaction executed - no need to revisit in the outer loop - // 5. Run cleanups if necessary + // 5. Run paymaster's post-transaction logic if necessary if (context[j].Len() == 0){ continue } @@ -674,6 +708,9 @@ If any of the frames reverts the call returns the revert data of each reverted f Accepts Transaction Type `AA_TX_TYPE` with fields `validationGasLimit`, `paymasterGasLimit`, `callGasLimit` optional. +Optionally accepts the State Override Set to allow users to modify the state during the gas estimation. +This field as well as its behavior is equivalent to the ones defined for `eth_call` RPC method. + Returns `{validationGasLimit, paymasterGasLimit, callGasLimit, builderFee}` object. Note that the `deployerData` and `paymasterData` fields are required for a consistent result. @@ -682,6 +719,10 @@ As mentioned earlier, the `sender` and `paymaster` contracts should not revert o and should return a value different from `MAGIC_VALUE_SENDER` or `MAGIC_VALUE_PAYMASTER` accordingly in order to enable gas estimation. +One acceptable way to achieve this behavior for Smart Contract Accounts is to compare the `signature` parameter to +a predetermined "dummy signature" and to return without reverting in case the values match. +This will not result in transaction being authorized as long as returned value does not include `MAGIC_VALUE_SENDER`. + ## Rationale ### Using Solidity method selectors in a Core EIP @@ -738,9 +779,6 @@ the ABI of the `paymaster` and `sender` contracts. This adapter can be set as a The `sender` contracts MAY support both ERC-4337 and `AA_TX_TYPE` transactions during a transition period, as long as this EIP may be adopted by some chains and not by others. -The participating RPC nodes MAY be able to handle the `eth_sendUserOperation` call and -convert it into an `eth_sendTransaction` call if necessary. - ## Security Considerations This EIP creates a complex and sophisticated mechanism and aims to expand the usage of Smart Contract Accounts. diff --git a/assets/eip-00/block_overview.png b/assets/eip-00/block_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..ae3db3ab7828cbcc83f91570a16669ea0d4b69ba GIT binary patch literal 63126 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 literal 0 HcmV?d00001 diff --git a/assets/eip-00/flow_diagram.png b/assets/eip-00/flow_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..eceb86c642e374059efee2c843ae902b0ca1bb83 GIT binary patch literal 142917 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
Us65!Nej$8I@><%_Poe%bT7!? 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%0A~-HdJl-LnJXj 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 literal 0 HcmV?d00001 From b1cd85aa5bba6f69399e33d26c07257f6a902eba Mon Sep 17 00:00:00 2001 From: Yoav Weiss Date: Sat, 14 Oct 2023 12:36:45 +0300 Subject: [PATCH 05/10] Update EIPS/eip-00.md: `bytes4()` for function sigs Co-authored-by: Julien Niset --- EIPS/eip-00.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md index b9209d39fb64d..6f466656977f4 100644 --- a/EIPS/eip-00.md +++ b/EIPS/eip-00.md @@ -68,8 +68,8 @@ smart contracts. This, however, is impossible without an addition of Native Acco | AA_BASE_GAS_COST | 15000 | | AA_ECRECOVER_COST | 6000 | | VERSION | 1 | -| MAGIC_VALUE_SENDER | 0xbf45c166 // keccak256("validateTransaction(uint256,bytes32,bytes)") | -| MAGIC_VALUE_PAYMASTER | 0xe0e6183a // keccak256("validatePaymasterTransaction(uint256,bytes32,bytes)") | +| MAGIC_VALUE_SENDER | 0xbf45c166 // bytes4(keccak256("validateTransaction(uint256,bytes32,bytes)")) | +| MAGIC_VALUE_PAYMASTER | 0xe0e6183a // bytes4(keccak256("validatePaymasterTransaction(uint256,bytes32,bytes)")) | | MAX_CONTEXT_SIZE | 65536 | ### New Transaction Type From a50ad95e0bbafba1016dcc8a751ec6ee7e95147e Mon Sep 17 00:00:00 2001 From: Alex Forshtat Date: Mon, 16 Oct 2023 18:10:48 +0300 Subject: [PATCH 06/10] Use 'validUntil' name consistently; define parameter types --- EIPS/eip-00.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md index 6f466656977f4..ba892e3dffcd7 100644 --- a/EIPS/eip-00.md +++ b/EIPS/eip-00.md @@ -302,7 +302,7 @@ The frame must return 32 bytes `validationData` that is interpreted as: ```solidity -abi.encodePacked(MAGIC_VALUE_SENDER, validBefore, validAfter) +abi.encodePacked(MAGIC_VALUE_SENDER, validUntil, validAfter) ``` @@ -310,6 +310,9 @@ In order to allow a gas estimation to determine the amount of gas that this fram requires to complete successfully while not having the actual `signature` value, this function should avoid reverting on invalid signature, and should return a value different from `MAGIC_VALUE_SENDER`. +Type of the `validUntil` is 6-byte timestamp value, or zero for "infinite". The transaction is valid only up to this time. +Type of the `validAfter` is 6-byte timestamp. The transaction is valid only after this time. + The `validateTransaction` function can choose to revert on any condition that can be satisfied during gas estimation. #### Paymaster validation frame @@ -334,7 +337,7 @@ The frame must return a bytes array that is interpreted as: ```solidity -abi.encode(context, MAGIC_VALUE_PAYMASTER, validBefore, validAfter) +abi.encode(context, MAGIC_VALUE_PAYMASTER, validUntil, validAfter) ``` @@ -520,7 +523,7 @@ Gas refunds are issued at the end of the entire transaction only. ### Transaction validity time range parameters -The `Paymaster validation frame` and the `Sender validation frame` each return values `validBefore` and `validAfter`. +The `Paymaster validation frame` and the `Sender validation frame` each return values `validUntil` and `validAfter`. If the transaction is initiated by an EOA, these fields may be encoded into unused bits of the `nonce`. These values allow the `sender` and `paymaster` contracts to specify @@ -529,7 +532,7 @@ a time range for the blocks the transaction will be valid for. Transaction cannot be included in a block outside of this time range. If included, such a block is considered invalid. -Passing `validBefore = 0` and `validAfter = 0` disables the check. +Passing `validUntil = 0` and `validAfter = 0` disables the check. ### Calculation of Transaction Type AA_TX_TYPE hash From e639666fc306bc4c69350e312ace48746806a29a Mon Sep 17 00:00:00 2001 From: Yoav Weiss Date: Tue, 7 Nov 2023 06:14:53 +0200 Subject: [PATCH 07/10] Allow paymasters with no data. Co-authored-by: Stanislav Bezkorovainyi --- EIPS/eip-00.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md index ba892e3dffcd7..b2dd7893b76d9 100644 --- a/EIPS/eip-00.md +++ b/EIPS/eip-00.md @@ -417,7 +417,7 @@ func validateAccountAbstractionTransaction(tx *Transaction) { } if (paymasterData.length > 0) { - assert paymasterData.length > 20 + assert paymasterData.length >= 20 paymaster := paymasterData[0:20] paymasterInput := ABI.encodeWithSelector('validatePaymasterTransaction', tx, tx.hash) retPaymaster, error := evm.Call( From 1d44120427bc32ede615a4dd6626e5b33edf332e Mon Sep 17 00:00:00 2001 From: Yoav Weiss Date: Tue, 7 Nov 2023 06:16:49 +0200 Subject: [PATCH 08/10] Allow deployer with empty calldata. Co-authored-by: Stanislav Bezkorovainyi --- EIPS/eip-00.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md index b2dd7893b76d9..c4a7549dfab87 100644 --- a/EIPS/eip-00.md +++ b/EIPS/eip-00.md @@ -405,7 +405,7 @@ func validateAccountAbstractionTransaction(tx *Transaction) { } if (sender.code.length == 0 && deployerData.length > 0) { - assert deployerData.length > 20 + assert deployerData.length >= 20 deployer := deployerData[0:20] retDeployer, error := evm.Call( from: AA_SENDER_CREATOR, From 2a28809f15a9fa88e6575d07955ac51eda461fa7 Mon Sep 17 00:00:00 2001 From: Alex Forshtat Date: Tue, 14 Nov 2023 16:44:38 +0100 Subject: [PATCH 09/10] Add both unused gas penalty and a no-op transaction subtype to the Native AA EIP (#5) * Add both unused gas penalty and a no-op transaction subtype to the Native AA EIP * Replace no-op transaction with an optional "header counter" transaction --- EIPS/eip-00.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md index c4a7549dfab87..21a2af51a89e0 100644 --- a/EIPS/eip-00.md +++ b/EIPS/eip-00.md @@ -71,6 +71,7 @@ smart contracts. This, however, is impossible without an addition of Native Acco | MAGIC_VALUE_SENDER | 0xbf45c166 // bytes4(keccak256("validateTransaction(uint256,bytes32,bytes)")) | | MAGIC_VALUE_PAYMASTER | 0xe0e6183a // bytes4(keccak256("validatePaymasterTransaction(uint256,bytes32,bytes)")) | | MAX_CONTEXT_SIZE | 65536 | +| UNUSED_GAS_PENALTY | 10 | ### New Transaction Type @@ -96,6 +97,35 @@ If `paymasterData` is specified, its first 20 bytes contain the address of a `pa If `deployerData` is specified, its first 20 bytes contain the address of a `deployer` contract. +### Optional "transaction counter header" + +In some cases the block builders may want to split up an array of type `AA_TX_TYPE` transactions into individual +batches of transactions that perform validations and executions separately. + +Without a header transaction type this would only be possible by creating an artificial legacy type transaction. +Instead, we propose to introduce an explicit "counter" transaction subtype. + +Their payload should be interpreted as: + +``` +0x04 || 0x01 || rlp([chainId, transactionCount]) +``` + +Header transactions have a unique hash calculated as follows: + +``` +keccak256(AA_TX_TYPE || 0x00 || rlp(chainId, transactionCount, blockNumber, txIndex)) +``` + +The `blockNumber` and `txIndex` parameters are added to the hash to achieve unique header transaction IDs. + +The header transactions are only used to help execution clients determine how many of the `AA_TX_TYPE` transactions +belong to each individual batch. +The block is not valid if a header transaction is located anywhere except before an `AA_TX_TYPE` transactions.\ +If a header transaction is included all `AA_TX_TYPE` transactions in the block must be covered by one. + +Header transactions do not affect blockchain state and do not cost any gas. + ### Non-sequential nonce support Before EIP-9999, for accounts with associated code (smart contracts), the account nonce is only used and incremented @@ -203,6 +233,21 @@ to pay an extra `builderFee` as a "tip" to the block builder. This value is denominated in wei and is passed from the `sender` to the `coinbase` as part of the gas pre-charge. +### Unused gas penalty charge + +Transactions of type `AA_TX_TYPE` that reserve a lot of gas for themselves using `validationGasLimit`, +`paymasterGasLimit` and `callGasLimit` fields but do not use the reserved gas present a challenge for +block builders. This is especially demanding in case a gas used by a transaction can be significantly different +based on its position within a block, as such transactions may cause the block builder to iterate its algorithm +many times until a fully utilized block is discovered. + +A penalty of `UNUSED_GAS_PENALTY` percent of the entire unused gas limit is charged from the +transaction `sender` or `paymaster`. + +The total gas limit is calculated as `totalLimit = validationGasLimit + paymasterGasLimit + callGasLimit`.\ +The `totalGasUsed` is calculated as a sum of all gas used during the transaction.\ +The unused gas is calculated as `unusedGas = totalLimit - totalGasUsed`. + ### Multiple execution frames for a single transaction All existing transaction types only have an implicit validation phase where balance, nonce, and signature are checked, From cbb2197f582c2f9008eae55ff8d186db61e02a48 Mon Sep 17 00:00:00 2001 From: Alex Forshtat Date: Tue, 14 Nov 2023 17:04:22 +0100 Subject: [PATCH 10/10] Move the 'calldataCost' from the 'callGasLimit' to 'validationGasLimit' (#7) * Move the 'calldataCost' from the 'callGasLimit' to 'validationGasLimit' It is reasonable to assume the "inner" call is the first piece of data known to the transaction sender. This includes the gas limit needed for the "inner" call to happen. However, the 'calldataCost' also depends on the validation and paymaster data, creating a chicken-or-egg problem. Moving the costs of caldata to validation defers the calculation of expected calldata cost and allows solving the paradox in most cases. --- EIPS/eip-00.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/EIPS/eip-00.md b/EIPS/eip-00.md index 21a2af51a89e0..23682f7db155d 100644 --- a/EIPS/eip-00.md +++ b/EIPS/eip-00.md @@ -219,9 +219,9 @@ charged for the `data` parameter. Transaction Type AA_TX_TYPE introduces the following dynamic length inputs: `callData`, `paymasterData`, `deployerData`, `signature`. Each of these parameters' gas cost is counted towards transaction data cost. -This transaction data gas cost is referred to as `calldataCost` and is subtracted from the `callGasLimit` +This transaction data gas cost is referred to as `calldataCost` and is subtracted from the `validationGasLimit` before execution of the transaction. -The transaction is considered INVALID if `callGasLimit` is smaller than `calldataCost`. +The transaction is considered INVALID if `validationGasLimit` is smaller than `calldataCost`. ### Builder Fee @@ -334,7 +334,7 @@ function validateTransaction(uint256 version, bytes32 txHash, bytes transaction) ``` -The gas limit of this frame is set to `validationGasLimit - senderCreationGasUsed`.\ +The gas limit of this frame is set to `validationGasLimit - senderCreationGasUsed - calldataCost`.\ The `transaction` parameter is interpreted as an ABI encoding of `TransactionType4`.\ The `txHash` parameter represents the hash of the AA_TX_TYPE transaction with empty signature, as defined in section [Calculation of Transaction Type AA_TX_TYPE hash](#calculation-of-transaction-type-aatxtype-hash).\ @@ -396,7 +396,7 @@ The size of the `context` byte array may not exceed `MAX_CONTEXT_SIZE` for a tra The `sender` address is invoked with `callData` input. -The gas limit of this frame is set to `callGasLimit - calldataCost`.\ +The gas limit of this frame is set to `callGasLimit`.\ Calculation of the `calldataCost` value is defined in the [Gas fees charged for transaction input](#gas-fees-charged-for-transaction-input) section.\ The amount of gas used by this frame is referred to as `gasUsedByExecution`. @@ -452,11 +452,12 @@ func validateAccountAbstractionTransaction(tx *Transaction) { if (sender.code.length == 0 && deployerData.length > 0) { assert deployerData.length >= 20 deployer := deployerData[0:20] + calldataCost := calculateCalldataCost(tx) retDeployer, error := evm.Call( from: AA_SENDER_CREATOR, to: deployer, input: deployerData[20:], - gas: validationGasLimit) + gas: validationGasLimit - calldataCost) assert error == nil assert sender.code.length > 0 } @@ -644,12 +645,11 @@ for txIndex := 0; txIndex < range block.Transactions.Len(); txIndex++ { break } - calldataCost := calculateCalldataCost(tx) retCall, error := evm.Call( from: AA_ENTRY_POINT, to: sender, input: callData, - gas: callGasLimit - calldataCost) + gas: callGasLimit) txIndex := j // transaction executed - no need to revisit in the outer loop