Author: 0xKJ | PoW 2.0 Source: X, @kernel1983< /p>
Subtraction theory has brought us a great improvement in the understanding of blockchain.If smart contracts are additions to Bitcoin, then the inscription Space is to subtract Bitcoin. Sorting and consensus on transactions are essential tasks for all blockchains, so the subtraction theory can be applied to all public chains, and the inscription space naturally has cross-chain characteristics.
When we start to think about the subtraction protocol, it brings us a lot of design space, and also gives us the opportunity to rethink the shortcomings and security risks of EVM CALLDATA . First, inscriptions, such as BRC20, are actually "clear text", whereas CALLDATA is much less readable. The design of the inscription protocol should follow this principle and let users know what they are doing from the protocol level.
p>
Inscription vs CALLDATA
The second point we think about is the paradigm of smart contracts. Smart contracts allow each blockchain application to have its own land to define data and code. User assets are data, and code can operate on data, such as transfer, mint and approve. For those commonly used contracts, such as USDT, the code has actually been verified by countless pairs of eyes for a long time. However, there are thousands of assets on the blockchain, and even though most assets follow the ERC20 standard, standard implementation is not mandatory. In the early days, many contracts were scrapped due to major safety issues. As engineers’ experience increases, major security issues become less and less common, but it is still impossible for users to audit all smart contracts by themselves. Thinking about the essence behind this phenomenon, it is actually because smart contracts allow publishers to customize all codes of the contract, and rarely directly reuse existing codes (reuse is also through copy and paste), resulting in a virtual dark forest for on-chain security. .
The design of the subtraction protocol, trying to fix this, we combine the basic elements in the programming language, function, and the basic element asset concept in the blockchain Be independent. In a smart contract, the contract code handles the contract assets, while in a subtraction protocol, the function has the authority to operate an asset. For example, transfer has permission to operate all assets, which eliminates the need for people to rewrite all code for each asset. For the mint method, higher freedom of definition is required. The mint logic of meme assets is necessarily different from that of USDT assets, and a specific [asset]_mint function needs to be written.
In addition, the function also has a require attribute, which more statically specifies other functions that the function depends on, and during the calling process, the assets that can be manipulated by the calling function Types are defined in more detail to improve security.
Third point, we have always liked the idea of ERC6551, but since 6551 appeared later than ERC20, all ERC20 cannot bind assets together. NFTs can only be held by Ethereum addresses. The address is like a public key, which is bound one-to-one with the private key. Suppose I suspect that my private key is no longer secure. When trying to change the private key, it means that the address (username) must be changed at the same time. To change addresses on Ethereum, users need to transfer all assets to the new address, which requires a considerable gas fee. Therefore, we believe that the security cost for users to change their private keys will be very high.
In the subtraction protocol, we can improve the protocol design. We allow assets to be held by a "name", and the "name" can be bound to an address. Therefore, there is no need to change the "name" when changing the private key, thereby reducing the cost of frequently changing the private key.
We are designing and implementing Subtraction Protocol, which is a cross-chain inscription guided by Subtraction Theory space. Our progress is very optimistic, it only took a week from Minus Theory to the Minus Protocol demo running.
It is expected to run after testing in the near future! Stay tuned.