Author: jolestar, source: author’s Twitter @jolestar
Technically speaking, the inscription is simple and crude. When a technical person sees it for the first time, he should have the question mark expression. What is this?
However, after these days of experience in parsing inscriptions in smart contracts, I concluded that it can actually be understood as a semi-fungible asset (SFT).
Originally Ordinals Inscription can be understood as an expression of NFT, with a unique ID, including content_type and content, and can be embedded in any data type. The BRC20 protocol embeds JSON into content and defines FT. FT in NFT is actually a typical expression of SFT. Everyone is accustomed to using "pieces" as the unit when buying and selling inscriptions.
And what does SFT have? What about usage scenarios? In fact, everyone had in-depth research on this during the last DeFi. For example, it is used to express game props. The value of FT in the middle can express scarcity. It can also be used to express bonds, coupons, various bills, etc. But its characteristics were not fully utilized in the last cycle, and not many SFT-type assets were created. And now that inscriptions are so popular, this type of assets has been fully created. How to use them?
The current scalability dilemma of inscription
If you want to take advantage of inscription as SFT, you must create usage scenarios for it, and you must extend the inscription protocol. Some teams have tried to achieve this by expanding the inscription protocol, such as adding more op instructions in BRC20. However, once an inscription protocol is widely accepted by the market, it must be implemented by multiple indexers. To expand the protocol, multiple indexers must reach a consensus off-chain and achieve consensus upgrade. The difficulty of this upgrade is no less than the L1 consensus upgrade. Obviously it is difficult to meet the scalability requirements.
In response to this scalability requirement, the industry has actually developed a mature solution, which is smart contracts. The smart contract virtual machine model of the blockchain is the most scalable model explored by the entire software engineering community. So there are two current solutions:1. Introduce smart contracts into the indexer. 2. Express inscriptions through smart contracts.
Introducing smart contracts into the indexer
Introducing smart contracts into the indexer can be called a smart indexer, or modularization The execution layer in the blockchain. The inscription model can be understood as DA first's sovereign rollup. It uses L1 as DA and does not introduce a sequencer. It directly sorts transactions through the blocks of L1, and the indexer can naturally be understood as the execution layer. . I used this model in the article "Is the inscription a bug or a feature?" 》 has been explained. Rooch is also exploring this direction. For specific plans, see "How should Bitcoin's Layer 2 be done?" 》.
< /p>
We are building a sample game for this scenario called Bitcoin Plants. Since there is a full amount of Bitcoin status in Rooch, the Inscription of Ordinals can be read in the smart contract. The user can use an Inscription as a seed in the game to grow a plant. This plant requires regular watering by the user, and then it can Bear fruit. This plant is bound to the Inscription. If the user transfers the Inscription on Bitcoin, the plant will also be transferred. This simple example shows how to create usage scenarios for L1 inscriptions by executing smart contracts at the layer. For details, see github issue https://github.com/rooch-network/rooch/issues/1214.
In addition, I also saw that Ethscriptions is building a facet virtual machine, which is also a similar route. It seems that friends in the industry have also seen this direction.
Expressing inscriptions through smart contracts
If there is no smart contract on Bitcoin, developers have figured out a way to inscribe JSON. Why do other smart contract chains still write JSON? The most incomprehensible thing is that when writing JSON on Rollup L2, that JSON will eventually be rolled up to L1, so why write it on L2? Shouldn't L2 naturally become the indexer for the L1 inscription? Do you still need an inscription indexer? But even this can't stop users' enthusiasm for playing inscriptions, and many L2 players have failed. So after thinking about it, I summarized several revelations from the inscription:
1. It is a semi-homogeneous asset, and its liquidity is not as good as FT, but this is an advantage in the initial stage of the market. .
2. Its threshold for issuing assets is lower than FT on each chain, and its cognitive cost is also low. Issuing assets on each chain generally requires the deployment of a smart contract, and identification is mainly through the contract address, which is difficult for novices. This wave of inscriptions has basically lowered this threshold to the lowest level.
3. Its fair issuance model on Bitcoin can be understood as the PoW issuance model of leasing miners through Gas.
In that case, why don’t we use smart contracts to implement an inscription protocol that has the above characteristics? So this week I tried to implement a Movementscriptions protocol using Move.
First of all, it is a semi-fungible asset protocol expressed through Move. Move's data structure-based asset expression is ideal for expressing this protocol.
1. Use the globally unique name tick to express the type, learn from BRC20, comply with the KISS principle, be simple and intuitive.
2. Value can be used to express the balance of FT or the key value in NFT.
3. Metadata can be appended with any type of data.
Secondly, it supports the distribution of assets through PoW. Deployers can set a difficulty by specifying difficulty to ensure a fairer and more decentralized distribution of assets. Because the Gas of other chains is too low, it is difficult to prevent witch attacks by burning Gas.
The inscriptions realized through smart contracts are what I call smart inscriptions. It is finally time for inscriptions to evolve to the point where smart contracts are needed. Such inscriptions are naturally the status of smart contracts and do not rely on indexers. They can be easily combined with various application scenarios, such as FOCG. Friends who are interested in this experiment can follow @movescription and github https://github.com/movescriptions/movescriptions. The current Rooch version of the contract has been initially completed, PoW distribution has also been implemented, and other Move chain versions are in progress.
Inscription's inspiration to developers
Inscription originated from a random attempt on Bitcoin, and now it has swept across all public chains. Although it is simple and crude, it is extremely vital. Its future is unclear and there is great divergence in views on it, but this is also the interesting part of the market, and the opportunities are always where the divergence arises. So let's add some randomness to it. Developers can take action. Instead of letting users imprint a bunch of JSON that they don't know how to use, it's better to try to combine it with smart contracts. If the combination is successful, it may be the ignition stone for the launch of FOGC and AW. We can talk about this in the next article.