Preface

Transactions are the soul of web3, attention is the core resource of web3, price is the starting point of crowding, and value is the end of time. It has been a month since the BTC halving, and it has also been a month since the long-awaited Runes protocol. During this period, more than a dozen proxy platforms and trading markets have emerged. On the day of the halving, even a proxy transaction for a Runes asset costs more than $100. This article takes the Runes asset as an example to analyze which is the best mechanism for the asset proxy (etching) model on Bitcoin?

1. Runes proxy platform GAS ranking

The picture below is an overview compiled by Shi Sijun.

From the perspective of the program, the core conclusion is:

  • Gas cost: "Split + Chain Solution" < "Chain" < "Split" < "Single"

  • Degree of centralization: Chain (no intermediate address) < Split (no intermediate address) < Chain (with intermediate address) < Split (with intermediate address)

  • Asset aggregation: Chain > Split+Chain > Split

  • Batch chaining speed: Split = Split + Chain > Chain

  • At first glance, it may be a bit confusing. What is chaining and what is splitting? This is to return to the Runes protocol itself. It is recommended to read further: "BTC halving is imminent, interpreting the underlying design mechanism and limitations of the Runes protocol"

1.1. Brief description of Runes etching mechanism

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 the UTXO (unspent transaction) in bitcoin. Since the function was enabled in Bitcoin Core client version 0.9 (14 years), OP-RETURN will create a clear verifiable non-consumable output, allowing data to exist on the blockchain, similar to the output of utxo, but it cannot be consumed. In the btc blockchain browser, it can be easily seen that the transaction is attached with an op-return message, such as the following figure:

As you can see, output#3here is actually free. Although it occupies the output position of the output of the utxo, it is a closed rectangle, which means that it cannot be transferred and consumed again, so it is like a transaction note area, and it is left in the storage space of Bitcoin, and it can be found through the transaction hash area index. Careful people may find out why there is a RUNE_TEST after OP_RETURN. This is the result after decoding the specific content. After clicking the details button, you can find a coded string like 52554 e 455 f 54455354. In fact, a string of hexadecimal coded data can be decoded to get RUNE_TEST. Similarly, there are other codes in the details, and finally it will become a string after decoding, which is probably in the format of json, thus reflecting the deployment, casting, issuance and other implications of Runes assets.

Therefore, the specific mechanism of proxy betting can be summarized as follows: Runes can only be used to bet on one asset per transaction.

The so-called transaction cost in BTC is reflected by the amount of data on the transaction chain. The design of the proxy platform is equivalent to who can control the number of utxos in the transaction to the minimum, which is the optimal model. Let's explain the split model and the chain model in detail.

1.2 Split Model

The so-called split model is to split a transaction into multiple sub-transactions during the proxy process, and then each sub-transaction goes through the asset minting process.

For example, the proxy scheme of tools.mempool is executed as shown in the figure below. The first transaction will estimate the handling fee consumption of each sub-transaction, and then reserve 546 (the common dust value of Bitcoin) + the handling fee amount to split it into multiple UTXOs. Here you will find that it is transferred to a new address.

The second transaction is to transfer the money from the new address back to the user's address, complete the proxy transaction, and the user also collects the Runes assets.

The obvious problem with this model is that it requires a transaction to be split first, and users get decentralized UTXO. Then when the user wants to place an order to sell, he or she must place the orders one by one or merge them first and then place the orders. For large customers, this will increase the cost of the transaction. Moreover, the tools.mempool platform will not perform a proxy transaction for users in the split transaction, so the comprehensive loss is higher in the split model.

1.3 Chain Mode

The so-called chain is similar to the following structure. The user initially has 20,000 satoshis, and each transaction consumes the previous transaction that is still in the memory pool, which also involves multiple transactions.

Here we can find that the 6144 satoshis collected by the last number s 2 t 4 are the platform's commission. Compared with the commission of 3892 required for executing the commission, it can be said that the profit of the commission platform is very high.

The platform is Runestone, which claimed to have developed a Runes proxy + trading market in 5 days. In fact, judging from the transactions, the platform has been ignored for a long time. However, in the first few days, it still generated almost 3 BTC (more than 1.5 million) in transaction fees, which is quite high for an individual developer.

However, this is actually a meaningless fee. There are already multiple platforms with open source proxy codes. For example, OKX has also open sourced the Runes code: it perfectly solves the Runes encoding and decoding and proxy problems. Developers can directly reference it to build their own proxy tools https://github.com/okx/js-wallet-sdk.

Back to the chain, since it is almost the first transaction that charges the handling fee, each subsequent transaction is processed in a cycle as shown in the figure below, so the amount of data itself is actually relatively small.

2. Runes Best Proxy Model: Split + Chain

Luminex is currently a relatively good solution model, which can do large-scale minting. The platform has a utxo splitting tool for easy use, and adopts a split + chain solution. As shown in the following figure:

  • When splitting, the platform will first give users an asset, without any waste.

  • And if the casting is within 25 times, split out enough gas for chain casting and then execute the casting.

  • Finally, if the casting is more than 25 times, the required gas will be split into multiple chains and then the casting will be executed.

Although the basic transaction fee is not better than the chain type, it can achieve the crucial large-scale casting, and its chain efficiency can complete the casting within the limit of 2 blocks.

2.1. Why are there indicators for chain efficiency?

This is because the BTC node has a mechanism to prevent DoS attacks.

In the process of consuming the vout of a single utxo and the link in which it is consumed, a maximum of 25 transactions will be limited in the memory pool.

This is why most large-scale mints use intermediate addresses to remove such restrictions. For chains, assets are stacked up and eventually transferred to users.

Therefore, in the chain model, only 25 transactions can be in the memory pool at the same time, but in the split model, after the split transactions are put on the chain, unlimited values ​​can be put into the memory pool (because the parent transaction is no longer in the memory pool, the vout of each utxo is independently calculated within the 25 limit). Therefore, luminex, as the optimal model, does not only have the lowest gas, but also has the ability to mint in large quantities while keeping the gas very low.

However, there are actually better models than luminex.

Because the split transactions of luminex will also be paid to users separately, but this asset does not need to be transferred to the user, but 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. Comparison of BTC Fee Optimization Rate

We have been talking about the cost for a long time, but how to measure the cost? In fact, it is very simple. Users usually set the unit price, which is similar to gasPrice, but BTC actually relies entirely on the storage data as the quantity unit, namely vsize. So let's take the taproot address as an example (different addresses have different handling fees, and the taproot address has a lower handling fee). In the structure of this address:

  1. For each additional input, vsize increases by 58.

  2. For each additional output, vsize increases by 43.

  3. To write each OP_RETURN, vsize needs to be around 30.

Therefore, we can calculate the following optimization rate

Chain Batch Mint 10 pens, cost: i * 10 + o 10 + p 10 = 1310

Split Batch Mint 10 pieces, cost: i * 10 + o 10 + o 9 + p* 10 = 1697

Gas optimization rate: (1697-1310)/1697 = 22.8%

Chain batch Mint 20 pens, cost: i * 20 + o 20 + p 20 = 2620

Split batch Mint 20 pens, cost: i * 20 + o 20 + o 19 + p* 20 = 3437

Gas optimization rate: (3437-2620)/3437 = 23.8%

20% may not seem like much, but at its peak a single casting consumes 100 U, and 10 batches can reduce the cost by 200 U. The tiny cost difference is ultimately reflected in the psychological threshold for a transaction.

Faced with high proxy fees, those who hope to get the earliest share of the web3 circle in the future still need to learn basic node js, so as to directly run the open source codes of various companies (such as the OKX open source signature component mentioned above) to bypass the platform charging issue. In the next article on the trading market, they can even directly bypass the obstacles of multiple platforms to directly build cross-platform transactions, and even directly monitor the memory pool to directly gain profits.

3. Summary

Runes asset protocol was issued for one month, but unfortunately it did not break through the threshold of 1 billion US dollars. It was also reported that Ordinals and Runes founder Casey wanted to have a live chat on Seppuku.

But the bottom line is that the two core infrastructures of the ecosystem, proxy gaming and the market, are not perfect, making it too costly for retail investors to participate and lacking in ecological operations for institutional participation.

First of all, the platforms that have emerged either charge high fees or have incomplete functions. For example, although Runestone has low chain costs, its gas estimation is inaccurate, which can easily lead to the wear and tear of the last transaction. Along with the uncertainty of chaining, it will gradually withdraw from the market.

In addition, the current proxy model still ignores the real demands of users and the transaction itself.

Each asset that is obtained often needs to be transferred more quickly, but in the early stage of the market, when prices fluctuate greatly and BTC is extremely crowded, in fact, apart from the market behavior of the project party itself, there will not be too much demand for large-scale asset purchases. In other words, those who have such a large amount of funds to purchase 1,000 assets are also capable of doing so. The core users of the platform are retail investors. Therefore, although the chain type has low cost, it is not suitable for the earliest stage. In the high-speed fluctuation pricing, in the absence of splitting tools in the market, the more than 20 composites generated by the chain type in 1 transaction will increase the threshold of the transaction sweep. Finally, this article is about the proxy mechanism of assets on BTC. There will be a subsequent article on the trading market model, which can be adapted to the trading mode of new assets such as (BRC 20, Ordinals, Atomical, Runes), etc. Please pay attention and don't miss it.

References:

  • Runes split generation Open source code: https://github.com/okx/js-wallet-sdk

  • Ruens protocol official source code: https://github.com/ordinals/ord