User Tools

Site Tools


dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:2930

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:2930 [2022/05/21 14:05]
nick
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:2930 [2022/05/21 15:17] (current)
nick
Line 2: Line 2:
 [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​ethereum:​start| Return to Ethereum ERCs ]] [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​ethereum:​start| Return to Ethereum ERCs ]]
  
-: **Note**: The following is an excerpt from the official Ethereum site. It is provided here as a convenience and is not authoritative. Refer to the original document as the authoritative reference.+  ​: **Note**: The following is an excerpt from the official Ethereum site. It is provided here as a convenience and is not authoritative. Refer to the original document as the authoritative reference.
  
 <​table>​ <​table>​
Line 8: Line 8:
 | Title                      | Optional access lists | | Title                      | Optional access lists |
 | EIP                        | 2930 | | EIP                        | 2930 |
-| Requires ​                  | 27182929 |+| Requires ​                  ​| ​<​WRAP>​ 
 +  * [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​ethereum:​eip:​2718]] 
 +  * [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​ethereum:​eip:​2929]] 
 +</​WRAP> ​|
 | Author ​                    | <​WRAP>​ | Author ​                    | <​WRAP>​
   * Vitalik Buterin (@vbuterin),​   * Vitalik Buterin (@vbuterin),​
Line 28: Line 31:
 We introduce a new [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​ethereum:​eip:​2718]] transaction type, with the format **''​0x01 || rlp([chainId,​ nonce, gasPrice, gasLimit, to, value, data, accessList, signatureYParity,​ signatureR, signatureS]''​** ). We introduce a new [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​ethereum:​eip:​2718]] transaction type, with the format **''​0x01 || rlp([chainId,​ nonce, gasPrice, gasLimit, to, value, data, accessList, signatureYParity,​ signatureR, signatureS]''​** ).
  
-The **''​accessList''​** specifies a list of addresses and storage keys; these addresses and storage keys are added into the accessed_addresses and accessed_storage_keys global sets (introduced in EIP-2929). A gas cost is charged, though at a discount relative to the cost of accessing outside the list.+The **''​accessList''​** specifies a list of addresses and storage keys; these addresses and storage keys are added into the accessed_addresses and accessed_storage_keys global sets (introduced in [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​ethereum:​eip:​2929 | EIP-2929]]). A gas cost is charged, though at a discount relative to the cost of accessing outside the list.
  
 ===== Motivation ===== ===== Motivation =====
Line 34: Line 37:
 This EIP serves two functions: This EIP serves two functions:
  
-  - Mitigates contract breakage risks introduced by EIP-2929, as transactions could pre-specify and pre-pay for the accounts and storage slots that the transaction plans to access; as a result, in the actual execution, the SLOAD and EXT* opcodes would only cost 100 gas: low enough that it would not only prevent breakage due to that EIP but also "​unstuck"​ any contracts that became stuck due to EIP 1884.+  - Mitigates contract breakage risks introduced by [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​ethereum:​eip:​2929 | EIP-2929]], as transactions could pre-specify and pre-pay for the accounts and storage slots that the transaction plans to access; as a result, in the actual execution, the SLOAD and EXT* opcodes would only cost 100 gas: low enough that it would not only prevent breakage due to that EIP but also "​unstuck"​ any contracts that became stuck due to [[ dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​ethereum:​eip:​1884 | EIP 1884]].
   - Introduces the access list format and the logic for handling the format. This logic can later be repurposed for many other purposes, including block-wide witnesses, use in ReGenesis, moving toward static state access over time, and more.   - Introduces the access list format and the logic for handling the format. This logic can later be repurposed for many other purposes, including block-wide witnesses, use in ReGenesis, moving toward static state access over time, and more.
  
dido/public/ra/xapend/xapend.b_stds/defact/ethereum/eip/2930.1653156357.txt.gz · Last modified: 2022/05/21 14:05 by nick