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 end point of time. It has been a month since the BTC halving, 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 was over $100. In this article, we will analyze which platform is the best mechanism for proxying (etching) assets on Bitcoin using Runes assets as an example.
1. Runes Proxy Platform GAS Ranking
The following figure is a summary of the ranking from a scheme perspective.
From a scheme perspective, the core conclusion is:
Gas cost: “Split + Chain” < "Chain" < "Split" < "Single Proxy"
Centralization: Chain (without intermediate address) < Split (without intermediate address) < Chain (with intermediate address) < Split (with intermediate address)
Asset consolidation: Chain > Split + Chain > Split
Batch on-chain speed: Split = Split + Chain > Chain
At first glance, it may be a bit confusing. What is “Chain” and what is “Split”? This brings us back to the Runes protocol itself. It is recommended to read the expanded article: “Interpreting the underlying design mechanism and limitations of the Runes protocol before the BTC halving.”
1.1 Runes Etching Mechanism Brief
Runes uses etching technology, which is a simple and intuitive way to record information on the chain: that is, writing into the op-return field of unspent transactions (UTXO) in Bitcoin Core client version 0.9 (14 years), OP-RETURN creates a clear and verifiable non-consumable output that allows 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 to an op-return message, as shown in the figure below:
As you can see, output #3 here is actually independent. Although it occupies a position in the output of this UTXO, it is a closed circular rectangle. This means that it cannot be transferred or consumed again, so it is like a note area of a transaction, left on the storage space of Bitcoin and can be found by indexing the transaction hash area. If you look closely, you may wonder 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 a coded string like “52554e455f54455354”, which is actually a hexadecimal encoded data that can be decoded to “RUNE_TEST”. Similarly, there are other encodings in the details, which will eventually be decoded into a string, probably in JSON format, reflecting the deployment, minting, issuance, and other meanings of Runes assets.
Therefore, the so-called proxying means that Runes can only proxy one asset in a transaction.
So the so-called transaction cost in BTC is reflected by the size of the data on the chain, and the design of the proxy platform is equivalent to who can control the minimum number of UTXOs in the transaction, which is the optimal model. Now let’s 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 undergoes the asset minting process.
For example, the proxy solution of tools.mempool is shown in the following figure. The first transaction will estimate the cost of each sub-transaction, and then reserve 546 (a common dust value in Bitcoin) plus the fee amount to split multiple UTXOs, which will be transferred to a new address.
The second transaction is to transfer back to the user’s address from the new address and complete the proxying, and the user also receives the Runes asset.
The significant problem with this model is that it requires a transaction split in advance, and the user receives dispersed UTXOs. So when the user wants to place a sell order, they either have to place individual orders or merge them before placing an order. For large clients, this will increase the cost of transactions. In addition, the tools.mempool platform does not proxy on behalf of the user 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 Satoshi, and each transaction consumes the previous transaction that is still in the memory pool. This also involves multiple transactions.
It can be seen that the 6144 Satoshi collected by the address ending with s2t4 is the proxy fee of the platform. Compared with the required fee of 3892 Satoshi for the proxy itself, it can be said that the platform’s profit is very high. This platform is Runestone, which claimed to develop the Runes proxy + trading market in 5 days. In fact, from the perspective of trading, this platform has already lost its appeal, but in the first few days, it still generated nearly 3 BTC (over 1.5 million USD) in transaction fees. This is quite significant for individual developers.
However, this is actually meaningless. There are already multiple platforms that have open-sourced proxy code, such as OKX, which has also open-sourced the Runes code: perfectly solving the encoding and proxying issues of Runes assets. Developers can directly reference it to build their own proxy tools.
Returning to the Chain model, since it collects fees almost in the first transaction, each subsequent transaction is processed in a similar loop, 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, adopting the Split + Chain solution as shown in the figure below:
This platform will first proxy an asset to the user during the split, without wasting anything.
And if the minting is within 25 times, it will split enough chain minting gas and then execute the minting.
Finally, if the minting is more than 25 times, it will split multiple chain gas required for minting and then execute the minting.
Although the basic transaction fee is not better than the Chain model, it can achieve the important capability 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 BTC nodes have a mechanism to prevent Dos attacks. In the case where the vout of a single UTXO is consumed and its consumption chain is limited to at most 25 transactions in the memory pool.
This is why most large-scale Minting mostly uses intermediate addresses, aiming to remove this limitation. For the Chain model, assets will accumulate and eventually be 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-chain (because the parent transaction is no longer in the memory pool, the vout of each UTXO is independently calculated with a 25 limit). Therefore, Luminex is not only the model with the lowest gas cost, but also has the ability to perform large-scale minting.
However, there is actually a better model than Luminex.
Because in Luminex, the split transaction will also be 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 an asset default flow mechanism. This can reduce the cost of one UTXO in the case of Luminex.
2.2 BTC Fee Optimization Rate Comparison
After talking about costs for a long time, how can costs be measured? It’s actually very simple. Users usually set a unit price, similar to gasPrice, but on BTC, it actually relies entirely on the amount of data stored as the unit of quantity, that is, vsize. So let’s take the taproot address as an example (different addresses have different fees). In this type of address structure:
For each additional input, vsize increases by 58.
For each additional output, vsize increases 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 only 20%, but when a single minting requires a peak of 100 U, 10 batches can reduce the cost of 200 U. The slight cost difference ultimately reflects on the psychological threshold of transactions.
In the face of high proxy fees, those who hope to be the first to benefit in the web3 community in the future still need to learn basic node js skills, so that they can directly run various open-source codes from different platforms (such as the signature component open-sourced by OKX mentioned earlier), bypassing platform fees. Even in the next article on the trading market, they can directly bypass multiple platforms and build cross-platform trades, or even directly monitor the memory pool to seize opportunities and make profits.
3. Conclusion
Runes asset protocol has been launched for a month, but unfortunately, it did not break the threshold of 1 billion USD, and there were rumors of a live broadcast of “seppuku” by Ordinals and the founder of Runes, Casey.
But ultimately, 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 investors.
First of all, the platforms that have emerged so far 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 last transaction and gradually make it exit the market.
In addition, the current proxying model overlooks the real needs of users and the transactions themselves. The assets that are proxied often need to be transferred quickly, but in the early stages of the market where prices fluctuate greatly and BTC is extremely congested, there is actually not much demand for large-scale proxying of assets other than the market behavior of the project itself. In other words, those who have such a large amount of money to proxy 1000 transactions also have the ability to do it themselves. The core users of the platform are retail investors. Therefore, although the Chain model has lower costs, it is not suitable for the very early stage when pricing is highly volatile. In the absence of split tools in the market, having more than 20 assets combined in 1 transaction will increase the threshold for transaction sweeping. Finally, this article is about the proxying mechanism of assets on BTC. There will be another article on the trading market model, which can be adapted to the trading models of new assets such as BRC20, Ordinals, Atomical, and Runes. Stay tuned and don’t miss it.