Introduction
Trading is the soul of web3, attention is the core resource of web3, price is the starting point of clustering, and value is the endpoint of time. BTC halving has passed for a month, and the highly anticipated Runes protocol has also been around for a month. During this period, more than ten proxy platforms and trading markets have emerged. On the day of halving, the cost of proxying a Runes asset even exceeded $100. This article uses Runes assets as an example to analyze which platform is the best mechanism for proxying (etching) assets on Bitcoin.
1. Runes Proxy Platform GAS Ranking
The following figure is a summary of the rankings.
From the perspective of the plan, the core conclusion is:
Gas cost: “Split + Chain” < "Chain" < "Split" < "Solo"
Centralization level: Chain (without intermediate addresses) < Split (without intermediate addresses) < Chain (with intermediate addresses) < Split (with intermediate addresses)
Asset collection: Chain > Split + Chain > Split
Batch on-chain speed: Split = Split + Chain > Chain
At first glance, it may be a bit confusing. What is the chain model and what is the split model? This brings us back to the Runes protocol itself. It is recommended to expand reading: “Interpreting the underlying design mechanism and limitations of the Runes protocol as Bitcoin halving approaches.”
1.1. Brief Introduction to Runes Etching Mechanism
Runes uses etching technology, which is a simple and intuitive way to record information on the chain: that is, write it into the op-return field of the unspent transaction output (UTXO) in Bitcoin Core client version 0.9 (in 2014) (OP-RETURN). It creates a verifiable and non-consumable output, allowing data to exist on the blockchain, similar to the output of UTXO, but cannot be consumed. In the Bitcoin blockchain browser, you can easily see that this transaction is attached with an op-return message, as shown in the figure below:
As you can see, the output #3 is actually detached. Although it occupies the output position of a UTXO, it is a closed circular rectangle, which means it cannot be transferred and consumed again. So it is like a memo area of a transaction, staying on the storage space of Bitcoin and can be found by the transaction hash index. You may notice why there is a “RUNE_TEST” after OP_RETURN. This is the decoded result of the specific content. Clicking on the details button will reveal the encoded string, such as “52554e455f54455354”, which is actually a hexadecimal encoded data. After decoding, it becomes “RUNE_TEST”. Similarly, there are other encodings in the details, which will be decoded into a string in JSON format. This reflects the deployment, minting, and issuance of Runes assets.
Therefore, the so-called proxying means that Runes can only proxy one asset in one transaction. The so-called transaction cost in BTC is reflected by the size of the data on the chain. Therefore, the design of proxy platforms is equivalent to who can control the minimum number of UTXOs in the transaction, which is the optimal model. Let us now explain the split model and the chain model.
1.2. Split Model
The so-called split model is to split multiple sub-transactions in the proxy process, and each sub-transaction is then minted.
For example, the proxy solution provided by tools.mempool is shown below. The first transaction estimates the cost of each sub-transaction, and then reserves 546 (common dust value in Bitcoin) plus the transaction fee amount to split multiple UTXOs. Here, it can be seen that it is transferred to a new address.
The second transaction transfers back to the user address from the new address and completes the proxy. The user also receives the Runes asset.
The significant problem with this model is that it requires a transaction to be split first, and the user receives scattered UTXOs. So when users want to place an order for sale, they either have to place individual orders or combine them before placing orders. For large customers, this increases the cost of transactions. Moreover, the tools.mempool platform does not perform the proxy for users in the split transaction, so the overall loss is higher in the split model.
1.3. Chain Model
The so-called chain model is similar to the following structure. The user initially has 2W satoshis, and each transaction consumes the previous transaction that is still in the memory pool, resulting in multiple transactions.
It can be seen that the 6144 satoshis collected by the last transaction with a suffix of s2t4 is the proxy fee of the platform. Compared with the 3892 satoshis required for the proxy itself, it can be said that the platform’s profit is high. This platform is Runestone, which claims to have developed the Runes proxy + trading market in 5 days. In fact, from the perspective of transactions, the platform has long been ignored. However, in the first few days, it generated nearly 3 BTC (over 1.5 million USD) in transaction fee income, which is significant for individual developers.
However, this is actually meaningless cost. Multiple platforms have already open-sourced proxy code. For example, OKX has also open-sourced Runes code, perfectly solving the encoding and proxying problems of Runes. Developers can directly reference and build their own proxy tools using it.
https://github.com/okx/js-wallet-sdk.
Regarding the chain model, since it almost collects fees in the first transaction, each subsequent transaction is processed in a loop similar to the following figure, so the data volume itself is relatively small.
2. The Best Proxy Model for Runes: Split + Chain
Luminex is currently a relatively good solution model, which can perform large-scale minting and has a UTXO splitting tool for easy use. It adopts the split + chain model, as shown in the figure below:
On the platform, a transaction will first be minted for the user during the split process, without any waste.
And if the minting is within 25 times, enough chain minting gas will be split and then executed.
Finally, if the minting is over 25 times, multiple chain gas required for minting will be split and then executed.
Although the basic transaction fee is not better than the chain model, it can achieve the crucial ability of large-scale minting, and its on-chain efficiency can be completed within a maximum of 2 blocks.
2.1. Why is there an on-chain efficiency indicator?
This is because the BTC node has a mechanism to prevent Dos attacks. It limits a maximum of 25 transactions in the memory pool for vout of a single UTXO and its consumed links.
This is why most large-scale mints use intermediate addresses, to remove this restriction. For the chain model, assets are accumulated and eventually transferred to users.
Therefore, the chain model can only have 25 transactions in the memory pool at the same time, but the split model can put an unlimited number of transactions in the memory pool after the split transactions are on the chain (because the parent transaction is no longer in the memory pool, and each UTXO’s vout is independently calculated with a limit of 25). Therefore, Luminex is the optimal model because it not only has the lowest gas, but also has the ability to mint in large quantities.
However, there is actually a better model than Luminex. In Luminex, the split transaction is also individually proxied to the user, but this asset does not need to be transferred to the user. It can be transferred to the UTXO of the second chain transaction because Runes has a default asset flow mechanism. This can reduce the cost of one UTXO in the case of Luminex.
2.2. BTC Transaction Fee Optimization Rate Comparison
After talking about costs for a long time, how to measure costs? It’s actually very simple. Users usually set the unit price, similar to gasPrice, but on BTC, it actually relies entirely on the amount of data stored as the quantity unit, namely vsize. So let’s take the taproot address as an example (different addresses have different transaction fees). In this type of address structure:
Each additional input increases vsize by 58.
Each additional output increases vsize by 43.
And writing each OP_RETURN requires about 30 vsize.
Therefore, we can calculate the following optimization rates:
Chain Model, batch minting of 10 transactions, cost: i * 10 + o * 10 + p * 10 = 1310
Split Model, batch minting of 10 transactions, cost: i * 10 + o * 10 + o * 9 + p * 10 = 1697
Gas optimization rate: (1697-1310)/1697 = 22.8%
Chain Model, batch minting of 20 transactions, cost: i * 20 + o * 20 + p * 20 = 2620
Split Model, batch minting of 20 transactions, cost: i * 20 + o * 20 + o * 19 + p * 20 = 3437
Gas optimization rate: (3437-2620)/3437 = 23.8%
It may seem like a small difference of 20%, but in the peak period when minting one transaction consumes 100 U, 10 batches can reduce the cost by 200 U. The slight cost difference ultimately affects the psychological threshold for transactions.
Faced with high proxy fees, those who hope to be the first to benefit in the web3 community will still need to learn basic node.js in order to directly run various open-source codes (such as the signature component mentioned above open-sourced by OKX) to bypass platform fees. In the next part on the trading market, you can also bypass multiple platforms and directly build cross-platform transactions, even directly listen to the memory pool to seize opportunities for profit.
3. Conclusion
Runes asset protocol has been issued for one month, but unfortunately, it did not break the threshold of 1 billion USD, and there were rumors of a live broadcast discussion about “seppuku” by Ordinals and Runes founder Casey.
But in the final analysis, it is still the lack of core infrastructure in the ecosystem, including proxying and trading markets, that makes it costly for retail investors to participate and lacks ecosystem operations for institutional participation.
First of all, the current platforms either charge high fees or have incomplete functionality. For example, although Runestone has low chain costs, its gas estimation is inaccurate, which can easily lead to wear and tear in the final transaction. With the uncertainty of on-chain transactions, it gradually withdrew from the market.
Also, the current proxy models still ignore the real demands of users and the transactions themselves. The assets that have been proxied often need to be quickly transferred, but in the early stage of the market with significant price fluctuations and extreme congestion in BTC, except for the market behavior of the project itself, there will not be much demand for large-scale proxying of assets. In other words, those who have such a large amount of funds to proxy 1000 transactions are capable of doing it themselves. The core users of the platform are retail investors. Therefore, although the chain model has low costs, it is not suitable for the very early stage when pricing is highly volatile. In the absence of splitting tools in the market, having more than 20 assets combined in one transaction in the chain model will increase the threshold for transaction sweeping.
Finally, this article is about the proxying mechanism of assets on BTC. In the next part on the trading market, it will cover trading models for new assets such as BRC20, Ordinals, Atomical, Runes, etc. Stay tuned and don’t miss it.