This shows you the differences between two versions of the page.
|
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:2718 [2022/05/21 13:28] nick created |
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:2718 [2022/05/21 13:30] (current) nick |
||
|---|---|---|---|
| Line 21: | Line 21: | ||
| Motivation | Motivation | ||
| - | In the past, when we have wanted to add new transaction types we have had to ensure they were backward compatible with all other transactions, meaning that you could differentiate them based only on the encoded payload, and it was not possible to have a transaction that matched both types. This was seen in EIP-155 where the new value was bit-packed into one of the encoded fields. There are multiple proposals in the discussion that define new transaction types such as one that allows EOA accounts to execute code directly within their context, one that enables someone besides **''msg.sender''** to pay for gas, and proposals related to layer 1 multi-sig transactions. These all need to be defined in a way that is mutually compatible, which quickly becomes burdensome to EIP authors and to clients who now have to follow complex rules for differentiating transaction types. | + | In the past, when we have wanted to add new transaction types we have had to ensure they were backward compatible with all other transactions, meaning that you could differentiate them based only on the encoded payload, and it was not possible to have a transaction that matched both types. This was seen in [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0155]] where the new value was bit-packed into one of the encoded fields. There are multiple proposals in the discussion that define new transaction types such as one that allows EOA accounts to execute code directly within their context, one that enables someone besides **''msg.sender''** to pay for gas, and proposals related to layer 1 multi-sig transactions. These all need to be defined in a way that is mutually compatible, which quickly becomes burdensome to EIP authors and to clients who now have to follow complex rules for differentiating transaction types. |
| By introducing an envelope transaction type, we only need to ensure backward compatibility with existing transactions and from then on we just need to solve the much simpler problem of ensuring there is no numbering conflict between TransactionTypes. | By introducing an envelope transaction type, we only need to ensure backward compatibility with existing transactions and from then on we just need to solve the much simpler problem of ensuring there is no numbering conflict between TransactionTypes. | ||