Original title: "Technical Interpretation of Ethereum Inscription ETHS: Essentially Financial Speculation Rather Than Product Innovation"
Original source: Wuyue, Geek Web3
The current Ethereum inscription is still a new wine in an old bottle, whether it is based on Ordinals or not. There is no real new paradigm. ETHS still has security risks, although it is indeed more decentralized than Rollup, its withdrawal process still relies on third-party notaries/managers, which poses a risk of theft. Obviously, ETHS is still mostly driven by financial speculation, rather than bringing innovations that Ethereum Layer2 cannot bring.
Recently, the popularity of BTC's ecological inscriptions has driven developers of other chains to build similar systems. The implementation methods and achievable functions of the inscription systems on different chains are slightly different, but there are some commonalities:
1. The inscriptions use the additional text information attached during the transfer to express the desired operation, such as writing "transfer 1 coin to XXX" in the information. Note that this information is pure text and does not involve the execution of smart contracts on the chain.
2. Developers will design a series of specifications and standards to standardize all text information.
3.Developers provide a set of Indexer indexers to collect the text information of all inscriptions on the chain and calculate the status of the inscription system.Indexer is an open source component off the chain that anyone can run.
BTC Inscription Ordinals has established a mechanism for issuing NFTs and tokens on BTC, which has also led to a large-scale consideration of BTC L2. In this sense, we can consider Ordinals to have a certain degree of forward-looking and exploratory nature. However, Ordinals is limited by the technical and product experience of BTC's own architecture, and has also been criticized by BTC community OGs due to dust pollution and data occupancy.
So, does it make sense to replicate inscriptions on Ethereum? After all, Ethereum itself has complex smart contracts, and ERC20 and NFT are also content that already exists on Ethereum; what kind of impact will these inscription projects have on the Ethereum ecosystem, and will there be controversies and storms like those on BTC?
Let's first take a look at the implementation of Ethscriptions. It is a well-known inscription project on Ethereum, mainly using Calldata to operate.
Calldata is the raw input data transmitted in Ethereum transactions. It is generally used to transmit the parameters required for interacting with smart contracts, but can also be used to send text messages (such as messages, inscriptions, transfer remarks, etc.) to EOA addresses for any purpose. The Input Data in the image refers to calldata.
If you want to engrave 'Hello world' using Ethscriptions in a transaction, you need to construct a transaction that includes the following calldata.
After the Indexer off-chain detects this transaction, it will update the database and notify the user: a new inscription has been created, and the content engraved is "Hello world". The inscription can also contain more complex content, such as base64 representing image information.
Ethscriptions currently has passed 6 ESIPs (Proposals for improvement to the Ethscriptions protocol), which are similar to EIP proposals, to define the use of inscriptions in different scenarios. However, these are only basic inscription specifications, such as the format of inscription transactions initiated from EOA, contract emit events, and so on.
Ethscriptions is a project built on Ethereum, which can also utilize Ethereum's smart contracts to achieve certain levels of logic. It should be noted that directly interacting with smart contracts is not the recommended approach by Ethscriptions.
Although the official NFT market is also implemented directly through smart contracts. According to the official documentation, Ethscriptions aims to provide users with "decentralized and reasonably priced computing services": stripping off computations off-chain will significantly reduce the cost of using Ethereum.
Let's take a closer look at the cost of calling smart contracts, which can be divided into three parts:
·Basic transaction cost: Any Ethereum transaction requires payment, currently 21000 gas.
·Data transmission cost (calldata): Calldata is generally used to submit data and parameters for interaction with smart contracts. After the adjustment of EIP-2028, calldata data generally consumes 16 gas per byte (if the data is a byte of 0, it consumes 4 gas).
·Contract Execution Cost: If a transaction calls a function in a smart contract, a computation cost must be paid based on the complexity of the function execution. For example, if there is a state update (such as updating balance information in an ERC-20 contract), calling SSTORE can consume up to 5000~20000 gas.
Let's take a very simple USDT transfer transaction as an example. The transaction consumed a total of 63197 gas, and the calldata is:
We will analyze the calldata and how much gas it will cost:
·Ethereum calldata is in hexadecimal format, with every two digits representing one byte (16^2 = 2^8). The prefix "0x" indicates that the data is in hexadecimal format.
Starting with ·, a9059cbb after 0x is the function selector, occupying 4 non-zero bytes.
After the · symbol, the next 32 bytes represent the address, with 12 preceding zero bytes (because Ethereum addresses are 20 bytes, so zeros are added to the left to make it 32 bytes), followed by 20 bytes of non-zero address data.
·The last 32 bytes represent the amount, with a large number of zeros padded on the left, and non-zero data of 3b9aca00 at the end, with 4 non-zero bytes.
·Therefore, there are 28 non-zero bytes and 40 zero bytes.
Therefore, calldataGas = 28 * 16 + 40 * 4 = 608 gas.
And the total gas is 63197, subtracting the cost of calldata and fixed cost, the calculated cost of executing the smart contract for this transaction is 41589 gas. In this transaction, the cost of contract operation accounts for the majority, and this is just a simple transaction. The cost of contract operation in complex transactions will further increase.
Putting the computation process off-chain can significantly reduce the cost of use: if you don't want to directly call the smart contract on-chain, you can send it to a pre-agreed EOA address.
So you can also see that the name of the recharge event is PotentialEthscriptionDeposit, which means "possible inscription recharge", rather than a deterministic recharge, because the contract cannot determine whether the inscription exists and cannot verify its authenticity. If you place an order for a non-existent inscription or someone else's inscription, the contract will not reject you, and the Indexer will simply not record your behavior.
Therefore, the inscription system can only implement this simple pseudo-contract logic, and placing an order is one of them. The essence of placing an order is that the two parties to the transaction mutually recognize the information provided by each other under a certain rule, which can actually be expressed in plain text without using smart contracts, similar to the principles of inscriptions.
We can imagine how to complete the above process without using smart contracts: the seller carves a message in a regular transaction, transfers 1 ETH to me, and states that the person with the number 123 can get my engraved NFT with the number 123. This only requires Indexer to support this logic. If it detects that someone has transferred 1 ETH to the seller with the memo ABC, it can directly transfer it in the off-chain Indexer database.
Of course, this example will actually bring some problems, such as the possibility of duplicate transactions caused by multiple people buying the same NFT. The seller received multiple transfers, but the NFT can only be assigned to one person by the Indexer. This is also one of the reasons why the official criticizes smart contracts but uses contracts to implement the NFT market. Therefore, you should also understand what the official means by saying that calling smart contracts through Facet without calculation is an unreliable promotion.
Of course, theoretically, limit orders can be executed using plain text instead of contracts. However, for more complex logic like AMM, smart contracts are necessary because it requires contract agreement rather than peer-to-peer agreement. The contract acts as a reliable auditor, checking basic information such as balance and liquidity, performing calculations, and obtaining any asset data it needs. Therefore, it is essential for the contract to be able to access all necessary data.
AMM is just a simple form of DeFi, and any other complex logic is impossible to implement on Ethscriptions alone. This is why Facet was launched - Facet's first priority is cross-domain! It is actually an L2, but without a block structure, so we call it cross-domain instead of cross-chain. When all L1 assets are cross-domain to Facet, there is no problem of cross-domain unable to be called, and all off-chain assets can be operated with simple contracts off-chain, thus supporting complex contract logic.
translates to
in English.
Through the above lengthy discussion, everyone should be able to see that the Ethscriptions solution is somewhat similar to Rollup. However, this is only "similar to", and strictly speaking, it can only achieve a subset of Rollup's core functions. The missing features have brought fatal injuries to its narrative, or put users in serious danger.
Rollup is a complex system, which we will not delve into here. It shares some similarities with Ethscriptions:
- Data calldata submitted for L2 transactions on Ethereum.
- All computations will be processed off-chain.
The common points are very clear, and we need to elaborate on the differences.
Most users in Rollup do not directly submit transactions to L1, but instead submit them to the off-chain sequencer. The sequencer sorts all transactions, packages and compresses them, and then sends the calldata in batches to L1. This way, the calldata of multiple users can be submitted in a single transaction, which can spread the basic cost of 21000 gas.
There is no such mechanism in Ethscriptions, and all users submit calldata directly to L1.
Using the example of USDT above (608 gas for calldata), let's assume that 100 users initiated 100 transactions. Roughly calculating the cost difference between the two, without being too precise:
·Inscription users need to pay 21608 gas (608 + 21000) per person. The remaining computational parts are not paid because the computation is off-chain.
·Rollup users pay 818 gas per person ((608*100+21000)/100). The calculation is the same as above.
Of course, Rollup users also need to pay for the computation and storage fees of L2 to the sorter, but it is much cheaper than L1, which can be ignored in this example. In addition, Rollup also requires some additional special fields to increase its volume, but it also has good data compression, which we will not go into here.
Through this rough estimate, it can be found that Ethscriptions has no cost advantage compared to Layer2. In addition, I have seen similar statements in the project's community propaganda language, such as "4000 inscriptions can be transferred in batches, which requires about 0.11 ETH, and the average transfer only requires 0.05U" to prove that the use of Ethscriptions is very cheap, but this has not clarified the principles and interaction details of ETHS.
Due to the off-chain sorter, Rollup's user requests can receive pre-confirmation within 1 second. This is much better than the 12 seconds or more on L1 and the UX of the inscription system. Of course, supporters of the inscription system can also argue that the finality of such transaction results is unreliable before the calldata is submitted to the ETH chain.
Users may be subject to off-chain sequencer censorship in Rollup, while Ethscriptions cannot censor users. However, well-designed Rollups will have mandatory aggregation functions to resist sequencer censorship, ultimately rendering sequencers powerless to censor users.
Therefore, when users use Rollup, they can also directly bypass the sorter on L1. Rollup gives users different choices, they can use faster sorters, or they can directly use L1. However, Ethscriptions can only use L1 and does not give users the freedom to choose.
Additionally, Ethscriptions criticizes that the sorter of Rollup is centralized. However, the Indexer itself is also a highly centralized component. Ethscriptions explains that since anyone can run and verify the Indexer, it is not considered centralized, but in fact, the vast majority of people will not run their own nodes. Therefore, ETHS only shows its more decentralized side in extreme cases, as the Rollup sorter may crash or malfunction, but ETHS can continue to operate as long as multiple community members run Indexers.
Any project cannot generate electricity with love. Projects that aim for long-term development must seriously consider the issue of profit models. Whether it is a combination of centralized entities or decentralized entities, there must be profits in order to safeguard network security in the long run.
Rollup's sorter has a clear profit model: charge more gas fees and extract MEV, etc. The sorter has the motivation to ensure the normal operation of the network. Ethscriptions is not easy for Indexers to charge fees because users directly submit calldata to L1.
0xD729345aA12c5Af2121D96f87B673987f354496B。
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia