Crypto Exchange Crypto Exchange
Ctrl+D Crypto Exchange

New transaction types on Ethereum: Introduction to EIP-2718



Ethereum uses different transaction types to define different operations, for example, sending ether to an address, deploying a contract, and so on. Before the recent Berlin upgrade, there were mainly 4 different transaction "types" in Ethereum: regular transactions with payee address, data fields contract deployment transactions without payee addresses, whose data fields were filled with Contract code signature v value does not contain a chain ID transaction (before EIP155 is implemented) signature v value contains a chain ID transaction The above transaction types all use the same format. Different Ethereum clients, libraries, and other tools must analyze each transaction to determine which type it belongs to. These four different transaction types introduce a lot of complications. We need to look at all the fields of the transaction to determine its type. This is a major difficulty that people have to face when proposing new transaction types (such as meta-transactions, multi-signature transactions, etc.), until EIP 2718 appears to break this dilemma. Ethereum now has a new transaction standard Typed Transaction Envelope (Typed Transaction Envelope), defined by EIP 2718 proposer Micah Zoltu. This standard forms the basis for some new and upcoming features on Ethereum. In this article, we review some of the standards introduced by the Berlin upgrade and others that may be introduced in the future. Argent Ethereum zkSync network Layer2 wallet waiting list registered users exceeded 500,000: On March 7th, London-based startup Argent has launched a new encrypted wallet designed to reduce the cost and environmental impact of interacting with the DeFi system . Argent said more than 500,000 people have signed up for a waitlist to use layer 2 accounts based on zkSync, an ethereum-focused scaling solution. Prior to the news in December last year, the smart contract wallet Argent announced that its Layer 2 version was officially launched on zkSync. (The Block) [2022/3/7 13:42:28] In the past, Ethereum transactions all used the same format. Every Ethereum transaction has 6 fields: nonce, gasprice, gaslimit, to address, value, data, v, r, and s. These fields need to be RLP encoded as follows: RLP([nonce, gasPrice, gasLimit, to, value, data, v, r, s]) EIP 2718 defines a new generic envelope for typed transactions. Under the new standard, the transaction looks like this: TransactionType || Stanley analyst Denny Galindo said in his latest report that Ethereum's market share may decrease as investors turn to cheaper and faster competitors. He said: "Ethereum faces more competition in the smart contract market than Bitcoin in the value store market. Ethereum may lose market share of smart contract platforms to faster or cheaper altcoins." Galindo It added that Ethereum may have scalability issues due to on-chain congestion and high transaction fees, and without an upgrade, ETH's storage needs may eventually exceed its own resources. Additionally, he said: “The changing regulatory environment presents another significant risk for Ethereum. Most of the activity on Ethereum is in DeFi and NFTs, and regulations in these two areas are rapidly evolving. Restricting or eliminating certain Regulations for the use of Ethereum in some market segments may reduce the demand for Ethereum transactions." (dailyhodl) [2022/2/21 10:05:18] TransactionType: a value in the range of 0 to 0x7f, representing at most 128 transaction types. TransactionPayload: An arbitrary byte array defined by the transaction type. Connect (merge) the above fields to get a typed transaction. EIP 2718 does not define a format for a transaction's payload. Therefore, the payload of a transaction can be any encoded sequence of bytes, as long as an encoder that conforms to the definition of the new transaction type (such as RLP, SSZ, etc.) is used. The simple concatenation of bytes was chosen because reading the first byte of a byte array is very simple without using any libraries or tools. That is, you don't need to use RLP or SSZ parsers to determine transaction types. The circulation of stablecoins on Ethereum has exceeded 41 billion US dollars: According to data from OKLink, as of 10:00 today, the total circulation of stablecoins on Ethereum has reached 41.63 billion US dollars, and the new circulation of 2.491 billion US dollars has been added in the past week. Among them, the circulation of USDT is 22.416 billion, an increase of 1.498 billion in the past week; the circulation of USDC is 10.18 billion, an increase of 681 million in the past week; the circulation of DAI is 2.891 billion, an increase of 154 million in the past week. [2021/3/22 19:06:26] This method can avoid the new EIP adding complexity to the existing transaction format when introducing new transaction types, and make it easier for different Ethereum tools (clients, libraries) distinguish between different transactions. EIP-155 is a good example of this point of increased complexity. It achieves replay attack protection by introducing chain IDs in transactions. Since adding a new field to the transaction parameters would break backwards compatibility, the chain ID is encoded into the recovery parameter (v) of the transaction signature, as explained in my previous article on digital signatures. After implementing EIP 2718, we can define new transaction types without affecting backward compatibility. A major feature of EIP 2718 is backward compatibility. EIP 2718 is fully backward compatible. That is, existing tools, libraries, (hardware) wallets, and transactions work out of the box, but they cannot use the new "features" provided by EIP 2718 (and standards adopting EIP 2718). New transactions on the Ethereum network can still use the old transaction format (ie, legacy transactions). Since August this year, USDT’s share of stable currency market circulation on Ethereum has dropped by nearly 10%: According to data from OKLink, the current stable currency circulation on Ethereum is about 15.8 billion US dollars. Among them, the top three are USDT 10.33 billion, USDC 2.797 billion and Dai 914 million. It is worth noting that since August, the share of USDT in the stable currency market on Ethereum has begun to decrease, and the current share is about 65.24%, which is nearly 10% lower than the previous high. The share of USDC and Dai increased by about 5% and 2.3%. [2020/10/21] There are up to 0x7f types of new transactions. This upper limit was chosen to guarantee backward compatibility with legacy transactions. The first byte of an RLP-encoded transaction is always greater than or equal to 0xc0, so typed transactions will never conflict with traditional transactions, and typed transactions and traditional transactions can be distinguished by the first byte. EIP 2718 itself does not define any transaction types, although there are already a few EIPs that adopt this new standard: EIP 1559: Reforming the transaction fee market on the ETH 1.0 chain. You must have heard of this EIP. EIP 2711: Agency payment transactions, deadline transactions, and batch transactions. This EIP was also proposed by Micah Zoltu, for which the standard defined in EIP-2718 was created. News | Ethereum Guide is about to be released: According to ethnews reports, blockchain heavyweight Andreas Antonopoulos recently announced via reddit that his Ethereum guide "Mastering Ethereum" co-authored with Gavin Wood has been copy-edited and will soon start printing. According to Antonopoulos, the book will help developers learn how to build on the Ethereum network. It is reported that the guide has more than 400 pages and will be launched on December 10. [2018/10/20] EIP 2930: Optional access lists. We explain some of these criteria in detail below. New transaction types enable functional integration that would otherwise require the help of Solidity contracts or third-party solutions. Take deadline transactions as an example. In existing solutions, you can send funds to a Solidity contract, sign a transaction and send it to a dedicated node, giving the transaction additional parameters (e.g., an expiration date). The node then processes the transaction, making sure it is executed before the expiration date, otherwise the transaction will not be broadcast. Some dApps and contracts (such as Uniswap) have this feature built in, but it is difficult to implement for most transactions. EIP 2711 can add this functionality to the Ethereum network while maintaining backwards compatibility with traditional transactions (as described above), without the need for smart contracts or specialized nodes. However, EIP 2711 is still a draft, and we are not sure whether it will be implemented on the Ethereum network in the near future. EIP 2711 may also be split into several smaller EIPs (such as EIP 3074). In EIP 1559, the way gas works has undergone a drastic change: gas will be partially destroyed and no longer fully paid to miners. This article will not elaborate on all the changes in EIP 1559, but EIP 1559 does propose a new transaction format: 0x02 || RLP([chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gasLimit, to, value, data, accessList, signatureYParity, signatureR, signatureS]) The most notable changes include: replacing gas price with "max priority fee per gas" and "max fee per gas". The chain ID is encoded separately and is no longer included in the signature v-value. This actually replaces EIP 155 with a simpler implementation. The signature v value becomes a simple check digit (the "signature Y check digit") that is either 0 or 1, depending on which point on the elliptic curve is used. EIP 1559 also provides a way to specify access lists based on EIP 2930. This reduces the gas cost of transactions. Since EIP 1559 drastically changes the way gas fees work, it is not directly compatible with traditional transactions. In order to ensure backward compatibility, EIP 1559 proposes a method to upgrade traditional transactions to EIP 1559-compatible transactions, that is, use "highest priority fee per unit of gas" and "highest fee per unit of gas" instead of "gas price". Meta-transactions have been around for a few years, but so far have relied on smart contracts. Like deadline transactions, meta transactions also require users to send ether to a smart contract created specifically for meta transactions. EIP 2711 makes native meta-transactions (also known as payment transactions) and batch transactions possible without relying on smart contracts. A new transaction format is defined here, and the transaction type is 0x02 (but the transaction type may change, because EIP-1559 also uses the same transaction type identifier). The transaction is as follows: 0x02 || RLP([...SenderPayload, ...SenderSignature, ...GasPayerPayload, ...GasPayerSignature]) EIP 2711 mainly includes the gas payer (the account used to pay the transaction gas fee) Payload (optional) and signature. This allows sending ERC 20 tokens even to addresses that do not hold any ether. The sender's payload, signature, etc. are defined based on the transaction subtype (1 to 4). For example, if the transaction type is 1, the sender's payload is defined as: [1, ChildTransaction[], nonce, ChainId, ValidUntil, gasLimit, gasPrice] ChildTransaction is defined as [to, value, data], which can be used in a single transaction Specify the payee address, value, and data in . For example, ChildTransaction can be used to call approve and transferFrom of ERC 20 in a single transaction. If you want to learn more about the transaction subtypes of EIP 2711, I recommend you to read the specification of EIP 2711. Typed transactions bring more possibilities to the Ethereum network. We create typed transactions without adding complexity to Ethereum clients, libraries, and other tools. Currently, new transaction types are not widely used as EIP 2718 was only recently added to the network, but there are still some great EIPs in development, for example, EIP 2711 proposes deadline transactions, batch transactions and proxy payments Transactions (ie, meta-transactions). Since new transaction types can be defined on Ethereum, it will also become easier to propose new EIPs.


Bitcoin Price USD
Ethereum's amazingly high returns are best explained by these 6 charts

The world's second-largest digital currency, ethereum (ETH), has been on a bull run in recent months. This week, things entered a critical phase, with Ethereum's value point just above $4.

What is the value of HT under the blessing of Heco and Prime after two years?

On May 15th, Huobi Global released the "HT April Operation Monthly Report". The data showed that the monthly destruction amount of HT exceeded US$100 million, a record high. As soon as the news came out.

Mille-feuille: A Layer-2 Guide

Hi everyone? I'm Zac, the CEO of Aztec. We invented Plonk, a general-purpose ZK-SNARK technology, and

New transaction types on Ethereum: Introduction to EIP-2718

Ethereum uses different transaction types to define different operations, for example, sending ether to an address, deploying a contract, and so on. Before the recent Berlin upgrade.

Golden Sentinel | Vulnerabilities or project shipments? BSC’s largest lending platform, Venus, was raised nearly 100 million US dollars

Venus, the largest lending platform on the Binance Smart Chain, is in another crisis.On the evening of May 18, 2021.

Golden Observation | Entering May, 24 institutions began to accept Bitcoin payments

From being questioned, ridiculed, and ridiculed, to gradually getting out of the small group of geeks, and making the Wall Street giants who once scoffed at it overthrow themselves to actively embrace it.

DeFi Weekly | The total circulation of stablecoins on Ethereum exceeded $60 billion, a record high

DeFi Weekly is a weekly summary column in the DeFi field launched by Jinse Finance. It covers important DeFi data and DeFi project dynamics this week. 1. Total market value of DeFi: USD 87.