From aa6065c162c48227fc52b314921da993d704a6c6 Mon Sep 17 00:00:00 2001 From: Lily Johnson Date: Thu, 27 Jun 2024 09:11:28 +0200 Subject: [PATCH] addressed comments from @SamWilsn --- EIPS/eip-7727.md | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/EIPS/eip-7727.md b/EIPS/eip-7727.md index 644f58cf67e8b..7e55a109d52a8 100644 --- a/EIPS/eip-7727.md +++ b/EIPS/eip-7727.md @@ -1,7 +1,7 @@ --- eip: 7727 title: EVM Transaction Bundles -description: Enable EVM support for transaction bundles without revert protections. +description: Enable meta transactions to order other transactions without revert protections. author: Lily Johnson (@lilyjjo) discussions-to: https://ethereum-magicians.org/t/eip-7727-evm-transaction-bundles/20322 status: Draft @@ -13,14 +13,14 @@ requires: 2718 ## Abstract -This EIP introduces two new [EIP-2718](./eip-2718.md) transaction types and one new opcode, enabling smart contracts and transactions to delegate their local sequencing rights to an off-chain entity. These new transaction types work together to create EVM-native 'bundles', which are similar but weaker than the PBS bundles offered by builders to searchers. +This EIP introduces two new [EIP-2718](./eip-2718.md) transaction types and one new opcode, enabling smart contracts and transactions to delegate their local sequencing rights to an off-chain entity. These new transaction types work together to create EVM-native 'bundles', which are similar but weaker than the Proposer-Builder Separation (PBS) bundles offered by builders to searchers. One of the EIP-2718 transactions is an extended normal transaction that supports: - Specifying the entity who can place the transaction in a bundle. - An optional block number that the transaction is valid in. -The other EIP-2718 transaction is a ‘meta’ transaction that does not enter into execution, but rather orders transactions of its own type and the other new type. The 'meta' transaction can also specify an entity allowed to include it in a bundle and a valid block number. +The other EIP-2718 transaction is a 'meta' transaction that does not enter into execution, but rather orders transactions of its own type and the other new type. The 'meta' transaction can also specify an entity allowed to include it in a bundle and a valid block number. The new opcode reveals to the EVM the entity that placed the transaction in a bundle if the transaction was in a bundle. @@ -38,7 +38,6 @@ Currently, a single block builder has unrestricted control over the final sequen | DELEGATED_TX_TYPE | 0x05 | | BUNDLE_TX_TYPE | 0x06 | | BUNDLE_BASE_GAS_COST | TBD | -| BUNDLE_SIGNER_OPCODE_COST | TBD | | BUNDLE_SIGNER_OPCODE_NUMBER | TBD | ### New Transaction Payload Types @@ -112,7 +111,7 @@ The `BUNDLE_SIGNER` is a new opcode, added in `FORK_BLOCK`, identified by `BUNDL When the transaction type is `DELEGATED_TX_TYPE`, this opcode pushes the `bundleSigner` from the transaction payload onto the stack as an address. If the transaction is of a different type, it returns the zero address. -The gas cost for this opcode is `BUNDLE_SIGNER_OPCODE_COST`. +The gas cost for this opcode is `GAS_VERY_LOW` gas constant. ### Transaction Validity Rules @@ -207,14 +206,6 @@ These choices were made to prevent DoS attacks on builders and to be compatible No backward compatibility issues found. -## Test Cases - -TBD - -## Reference Implementation - -TBD - ## Security Considerations Block builders are problematic today partly due to their ability to perform censorship and enforce malicious orderings. These concerns persist even when sequencing rights are delegated to a specific entity. The code that generates the off-chain ordering should be public and executed in a trust-minimized manner, such as in a TEE (Trusted Execution Environment) or on a blockchain with faster block times. @@ -223,6 +214,4 @@ Similarly, smart contracts that restrict functionality to transactions signed by ## Copyright -Copyright and related rights waived via CC0. - - +Copyright and related rights waived via [CC0](../LICENSE.md).