In a previous article about BRC-20/Ordinals, I wrote that theoretically, data from BRC-20/Ordinals could be deleted. At the end of the article, a reader raised a different opinion.
First of all, I want to thank this reader for pointing out this critical issue related to asset security. The question raised makes me feel it is necessary to understand the principles of the protocol and clarify its data security. Because for such virtual assets, their potential future value is highly related to the technical guarantee of data security.
After checking related information, I learned the following:
Before 2017, Bitcoin’s signature data was included in the transaction data. In this mechanism, when the network transaction volume is large, the block space of Bitcoin will be severely occupied by transaction data, thereby affecting the performance of the entire Bitcoin network.
- What is the attitude of CFTC while SEC is crazily outputting?
- SEC Chairman Gary Gensler is being heavily criticized by the media: a national disgrace, step down immediately
- Evening Read | Why is the US SEC Continuously Avoiding ETH?
Therefore, core developers proposed improvements to this, which is commonly referred to as segregated witness in the industry. Segregated witness separates Bitcoin’s signature data and no longer puts it in transaction data. This greatly reduces the amount of transaction data, and network performance can be greatly improved.
The extracted signature data will be saved to a data structure called the “Witness Block”. The Witness Block will be hashed again, and its hash value will be added to the transaction data. Then this Witness Block will be attached to the transaction data and sent to all nodes on the network.
When the nodes on the entire network receive the transaction data, they will verify the hash value contained in the transaction data. When verifying the hash value, nodes also need to use the Witness Block.
At this point, if the node itself does not have the data of this Witness Block due to various reasons, it will request the data from other nodes in the network. When the node obtains the data of the Witness Block, and after verifying the hash value, it can process this Witness Block arbitrarily. For example, if the node thinks that the Witness Block takes up too much space, it can delete this Witness Block; if the node thinks this is not a problem, it may continue to save this data.
Segregated witness was introduced into the Bitcoin system in 2017.
However, it was introduced not by a hard fork, but by a soft fork. That is to say, nodes in the network do not have to support this feature. When a node supports this feature, it can verify both non-segregated witness transactions and segregated witness transactions; but when it does not support this feature, it can only verify non-segregated witness transactions.
In extreme cases, if all nodes on the Bitcoin network delete the witness data associated with historical transactions, new nodes that want to join the Bitcoin network can only verify non-segregated witness transactions in the past.
However, as long as there is one node on the entire network that saves segregated witness data, this extreme situation will not occur.
So according to my understanding, the data of BRC-20/Ordinals does theoretically have the possibility of being deleted, but the possibility of being completely deleted in practice is very limited.
However, this theoretical possibility is highly valued in overseas communities, and overseas enthusiasts often have heated debates around this issue.
Recently, the Bitcoin community has reported new news: core developers who control the Bitcoin code update rights want to add new features to the Bitcoin code to restrict the use of BRC-20/Ordinals.
However, in order for such changes to be implemented, they ultimately need the support of the entire community, especially the support of miners. And miners are the biggest beneficiary of these protocols.
In this case, even if the core developers really have this idea, will the miners support it? Will there be another split in Bitcoin at that time?