Author: Fu Shaoqing, SatoshiLab, ThreeDAO BTC Studio

Preface

1. Basic knowledge

  • 1.1. Many impossible triangles in the real world

  • 1.2. Blockchain capacity expansion and capabilities expansion

  • 1.3. Some common mistakes at present

2. The two-layer structure of Bitcoin ecology and the application architecture of Web3.0

  • 2.1. Three common system structures and characteristics in the real world

  • 2.2. Web3.0 application architecture

  • 2.3. Three construction paths visible in the application architecture

3. Blockchain capacity expansion (expansion performance-TPS)

  • 3.1. Exploration of the structure of the blockchain itself-two directions

  • 3.2. Sharding and homogeneous layered design of blockchain

  • 3.3. Heterogeneous second-layer construction in layered design

4. Blockchain capabilities expansion (expansion function-Turing completeness)

  • 4.1. From non-Turing completeness to Turing completeness

  • 4.2. Capabilities expansion on non-Turing complete systems

  • 4.3. The most difficult path - capabilities expansion (RGB-like)

5. Summary

References

Preface

Blockchain technology has been around for more than 15 years, and various blockchain projects and application cases have gradually become richer. With the development of new Bitcoin technologies, especially the gradual clarity of Bitcoin's second-layer technology, the solutions to many problems have evolved from finding answers in a single system to finding answers at the architectural level.

In the process of my gradual learning and in-depth understanding of Bitcoin knowledge, I wrote some related articles, three of which made me increasingly touch on a topic: how to achieve blockchain scalability? What is the essential idea to solve this problem? At the beginning, I vaguely felt that expanding performance and functions on a single blockchain was the wrong direction, but I couldn't find the right answer. Later, by reading related articles and several articles I wrote, I finally compiled an article that can systematically explain this topic.

The first three articles recommended for reading are:

"Summarizes the basic knowledge system of Bitcoin Layer2 construction"

https://mirror.xyz/0xBa5Bf91143881F2974b07FBe608b83dA258F308B/J3cA7vmAYSy9e2bY7uwQu8Tds-4sBO8rjWlKj9-tnag

https://mirror.xyz/0xBa5Bf91143881F2974b07FBe608b83dA258F308B/o0ZW9xXSbv4bhWb_HMMIDX8IsuqdhGfl1DmHEX8C0bc

I personally think that if you want to understand this topic in depth, you also need to understand the overall process of blockchain development and evolution. An important theme in the entire evolution process is the scalability issue, that is, capacity expansion and capabilities expansion. For example, reading the white paper of Ethereum, you can understand that the design of Ethereum was created to solve the imperfections of Bitcoin. The creation of Ethereum is actually a phased product of all blockchain development and exploration technologies. This phased product has accumulated exploration results such as colored coins, side chain technology, and Turing complete blockchain systems.

Reading the upgrade knowledge of Ethereum 2.0 will give you a further understanding of the sharding design proposed by Ethereum. Reading the second-layer extension of Ethereum (or Ethereum-like), you can see the exploration results of Rollup aggregation technology. At this stage, the expansion of blockchain is basically limited to the combination of blockchain technology itself. It was not until the combination of blockchain and heterogeneous systems was created that a complete solution was found, that is, blockchain system + distributed system, such as Bitcoin + Lightning Network. Blockchain + centralized system can also solve the scalability problem, but this combination has many shortcomings and is not considered the ultimate solution.

In order to avoid too much controversy, understanding the scalability problem of blockchain also requires the ideas and experience of architectural design, and an understanding of large-scale layered protocol design. I have worked in the Internet industry for many years. I have some understanding and experience in single applications, C/S structure programs, B/S structure programs, and B/S ultra-large-scale design architectures. In addition to the extensive and in-depth study of blockchain technology in the past few years, I have a certain understanding of blockchain knowledge from the macro and micro levels. The gradual change process of some ideas is explained in the reference description. If you read the content of this article from this perspective and there are still disputes and incorrect content, please contact the author for in-depth communication.

I think the solution to most scientific and technological problems ultimately reflects a certain philosophical thought. In terms of the performance expansion of blockchain (capacity expansion and capabilities expansion), it also reflects a philosophical thought: the solution to a problem cannot be answered at the level where the problem occurs, but it can be solved at a higher level. Maybe it is not particularly easy to understand this sentence clearly. I think there is a particularly good metaphor in "Zen and the Art of Motorcycle Maintenance": We cannot pull ourselves up by our hair. This tells us that we cannot rely on the system itself to solve our own problems, and we must rely on external systems to solve them.

1. Basic knowledge

There are many impossible triangles in the real world. These are problems that manifest in one system or one dimension. Solutions can be found across this system or this dimension. The combination of heterogeneous systems is the theoretical basis for us to solve the capacity  expansion and capabilities expansion of blockchain systems. We can find the best path that meets the requirements in heterogeneous systems. We can first introduce some typical cases of impossible triangles.

Note: Why use triangles to describe impossible phenomena? Can other graphics be used? I personally feel that there must be other graphics composed of multiple conditions, but as long as the triangle is a typical situation at the critical value, it is a typical phenomenon that can be analyzed and solved. (If anyone has a better theoretical case in this regard, or has analyzed this phenomenon, please give a better answer.)

1.1. Many impossible triangles in the real world

Here, we only introduce three impossible triangles related to blockchain systems.

(1) Impossible triangle CAP in distributed systems

In distributed systems, a similar impossible triangle is the CAP principle. CAP means that in a distributed system, consistency, availability, and partition tolerance cannot be achieved at the same time. The blockchain system is a distributed system with the Byzantine Generals Problem, so the CAP principle also applies.

The CAP principle is shown in the figure below:

(2) Impossible triangle DSS in blockchain systems

Among the basic characteristics of blockchain, most of them are restricted by the impossible triangle in their mutual development relationship. For example, the DSS conjecture, namely decentralization (Decentralization, D), security (Security, S) and scalability (Scalability, S). As shown in the figure below:

In the following analysis, we will see that the impossible problem of DSS is solved through heterogeneous systems.

(3) Impossible triangle in economics - Mundell triangle

The Mundell triangle is also called the international financial trilemma or the trilemma, and its theoretical basis is the Mundell-Fleming model. In 1999, Krugman clearly put forward this principle. It means that a country cannot achieve free capital flow, exchange rate stability and monetary policy independence at the same time. At most, it can achieve two goals and give up another goal. As shown in the figure, a country must choose one side of the triangle and give up the institutional characteristics of the opposite angle.

Take a real country as an example:

(1)The first option is to allow free capital flow and implement independent monetary policy, just like the United States. In this case, it is impossible to have a fixed exchange rate system. Instead, the exchange rate must float to balance the foreign exchange market.

(2)The second option is to allow free capital flow and fixed exchange rate, just like Hong Kong, China. In this case, the country or region loses the ability to implement independent monetary policy. The money supply must be adjusted to keep the exchange rate at its predetermined level. In a sense, when a country (or region) pegs its currency to the currency of another country (or region), it is adopting the monetary policy of another country (or region).

(3)The third option is to restrict the inflow and outflow of international capital into and out of the country, just like mainland China. In this case, the interest rate is no longer fixed by the world interest rate level, but is determined by domestic forces, similar to the situation of a closed economy. In this way, it is possible to have a fixed exchange rate and an independent monetary policy.

Does this Mundell triangle no longer exist in the blockchain world? But if some projects seek some kind of token governance, will they also have to think about related issues?

1.2. Blockchain capacity expansion and capabilities expansion

The capacity expansion and capabilities expansion of blockchain have been developing and exploring since the birth of Bitcoin. It has not stopped until today, but has developed from the primary stage to the intermediate and advanced stage. Here we first clarify the definition of blockchain capacity expansion and blockchain capabilities expansion.

Blockchain capacity expansion refers to increasing the transaction capacity of blockchain, which is generally expressed by TPS indicators, that is, the number of transactions per second.

Blockchain capabilities expansion refers to increasing the computing power of blockchain, which is generally distinguished by non-Turing completeness and Turing completeness. In non-Turing completeness, it is mainly measured by the number and capabilities of instruction sets.

In article "Summary of new technological developments that led to Bitcoin’s resurgence", we have preliminarily explored the capacity expansion and capabilities expansion of blockchain. The various fork cases of Bitcoin are actually cases of capacity expansion in a single blockchain. In the second-layer design of Bitcoin and the Web3.0 application architecture, the idea of using layered design for capacity expansion has begun to emerge. In Section 3, several common expansion methods will be explained in detail.

In terms of capabilities expansion, it seems relatively simple. Only early blockchain systems are non-Turing complete, such as Bitcoin, Litecoin and other systems. These early blockchain systems are also constantly exploring the internal expansion of non-Turing complete systems by using technologies such as OP_RETURN, Segwit, and Taproot. There are many cases from non-Turing complete to Turing complete. The blockchain system represented by Ethereum has completely solved the Turing complete problem within a single blockchain system. Most of the current blockchain systems are Turing complete, which is also one of the reasons why DAPP has been developed on a large scale. Within a single blockchain system, or a homogeneous system across blockchains, Turing completeness is no longer a problem, it is just about solving maturity and rich applications.

However, in the application architecture of Web3.0, solving the Turing complete problem in heterogeneous systems is still a very challenging task, that is, the RGB-like system that is being developed. In Section 4, several common expansion methods will be analyzed in detail.

1.3. Some common mistakes at present

There are some common mistakes in the capacity expansion and capabilities expansion of blockchain. Especially in the capacity expansion, the mistakes are more obvious. These mistakes are reflected in several aspects:

(1) Over-centralization: In order to improve performance, some blockchain projects may sacrifice the principle of decentralization and adopt a more centralized processing method, such as a more centralized consensus protocol and centralized hardware requirements (extremely high hardware configuration and network environment requirements, so that only a few institutions can meet them). Although this can improve performance TPS, it will also reduce other characteristics of blockchain, such as security, anti-censorship ability, transparency, privacy, etc.

(2) Increasing block size: Some projects may try to increase the block size to accommodate more transactions and thus improve performance TPS. This method was very popular in the early days of blockchain. Doing so may make blockchain data storage and transmission more difficult and expensive, and will also increase the time and resource consumption of node synchronization. In fact, it is also a way of gradual centralization.

(3) Ignoring the hierarchical structure: Many projects may ignore the hierarchical structure of the blockchain and put all transactions and calculations on one chain. Doing so may cause the chain to be overcrowded and congested, reducing overall performance. I personally don't agree with sharding design. Compared with layering, sharding has more technical difficulties and performance ceilings.

These common mistakes are mostly due to the immaturity of technology and the resulting staged exploration errors. Some are due to the lack of structural design scenarios for large applications, and the neglect of solving problems from the architectural design level.

2. The two-layer structure of Bitcoin ecology and the application architecture of Web3.0

In order to fully understand the application scenarios of blockchain capacity expansion and capacity expansion at the architectural level, we need to understand the three common system structures and layered design ideas in the application architecture. From this more macro level, we can see several typical construction paths.

2.1. Three common system structures and characteristics in the real world

Regarding the layered protocol design, this article will not repeat it. Readers can refer to the introduction of why layered design is needed in "Summarizes the basic knowledge system of Bitcoin Layer2 construction". However, the three system structures are very important for this article, and we still need to make appropriate references and targeted introductions.

From the articles in the references, we can see several typical structures of Bitcoin Layer 2 construction, including blockchain structure, distributed system structure, and centralized system structure. This is a common classification of system structures: Decentralised, Distributed, Centralised. From this perspective, it is easier for us to understand the characteristics and applicable scenarios of each type. The combined application of these three structures can also be seen in the application architecture of Web3.0.

In order to better understand the characteristics of the three structures, the basic characteristics of blockchain and the characteristics of the three Layer 2 constructions are summarized in reference 6.2. By comparing some basic characteristics of Bitcoin's first and second layer constructions, we can clearly see the differences between them and easily understand the characteristics of several different paths for expansion and capacity expansion.

Through the above table, we can roughly summarize the characteristics of blockchain structure, distributed system structure, and centralized structure.

(1) Blockchain structure

The biggest advantage of blockchain structure is that it solves trust-related problems (the role of ledgers) and can record the change process of data (state transition), so that data and computing rules become trusted data and trusted computing. In Dr. Xiao Feng's speech, there is a summary, the first principle of blockchain: a new accounting method. This feature is irreplaceable among the three structures.

The biggest problem of blockchain structure is poor performance. There are two reasons for this. First, the blockchain structure cannot remove some computing scenarios, and all requests are processed in a full-volume computing manner. Second, the blockchain structure has a clear performance ceiling. In order to expand the performance of the blockchain structure, multi-layer construction is required, and it needs to be used in combination with heterogeneous systems.

Based on the above table and the first principle of blockchain, only the blockchain structure can realize the trustless ledger function. Therefore, if a system wants to realize the trustless ledger function, it must include a blockchain system. However, the performance requirements of large-scale applications require that the blockchain system must be combined with other systems to meet the needs.

(2) Distributed systems

In the table above, we can see the obvious advantages of distributed systems: decentralization, performance, and scalability are all excellent, but the only feature is that the implementation of functions is relatively complex. In addition, distributed systems do not have the ability to trustless  ledger.

So if we can use distributed systems in the second-layer construction based on the first-layer ledger function of Bitcoin, theoretically, we can maintain the basic characteristics of the blockchain while achieving unlimited performance expansion. Bitcoin + Lightning Network is a representative example of this. The performance of this combination is 7TPS * ∞ of Bitcoin.

The reason for achieving Turing completeness in a distributed system is that the cost of recording and running smart contracts in a blockchain system is very high because it is global data and global code. Therefore, smart contracts are also suitable for layered theory, limiting the storage and execution of smart contract code to participants.

(3) Centralized systems

In the table above, we can see that the advantage of centralized systems is that the engineering implementation is relatively simple, which is due to the simple internal logic control and simple calculation. Similarly, centralized systems do not have the ability to trust the ledger. The advantages of centralized systems are not prominent. If you are processing small-scale data, or processing temporary data and temporary calculations, it will be relatively suitable.

The second-layer construction of the centralized system can be used as a supplement or transitional solution to the other two methods, or as a scenario for certain specific applications.

(4) Comprehensive analysis

In the value era of Web3.0, through the above content, we can see that it is difficult to achieve the effect of meeting the needs by relying on a single system. This is also a practical demand for the second-layer development of the Bitcoin ecosystem. However, how to combine these three systems requires a lot of exploration. Let us first analyze it theoretically. In the face of different needs, there will be different combination structures.

First, from the design idea of protocol layering, the Bitcoin network does not need Turing completeness. It is a global trust machine that only needs to save data that requires global trust and the trajectory of data changes. According to this most basic requirement, the instruction set of Bitcoin can be reduced to a minimum. Other functions are left to the upper-layer extension to complete.

General small applications can be completed on a single blockchain. Slightly larger systems are suitable for completion on the second-layer construction of blockchain + blockchain. But for large-scale applications, the preferred solution is to use blockchain system + distributed system.

Through the combination of multiple system structures, the limitations of the basic theory of a single system can be broken. For example, the blockchain system is limited by the DSS impossible triangle, but if the blockchain system + distributed system is used, the impossible triangle of decentralization D, security S, and scalability S can be solved. Other combinations, blockchain + centralized system, can also solve the scalability problem to a certain extent. Distributed system + centralized system can solve the limitations of the CAP triangle in the distributed system.

2.2. Web3.0 application architecture

With the blockchain system, we can process value applications, and we have entered the Web3.0 era. The applications of this period are a complex architecture built on the blockchain system, distributed system, and centralized system. The blockchain system and its second-layer extension complete the transmission and processing of value, the distributed system and the centralized system complete the transmission and processing of information, and the upper-layer applications of Web3.0 are built on the information and value processing system.

The blockchain is likened to a "world computer", which also leads to the fact that the overall structure of Web3.0 is completely different from the system structure of the Web2.0 era. The applications of Web3.0 are more built on these shared infrastructures on a global scale, rather than being limited to a certain company or organization like Web2.0. Compared with the large-scale application of Web2.0, the application classification and function of Web3.0 will not be much different, but the implementation mechanism has changed a lot. For the content of large-scale application of Web2.0, you can refer to the introduction of common applications in the article "Observing Bitcoin's second layer from the perspective of state machine, you can see the architecture and construction path of future Web3.0 applications", or read the Internet development reports of some professional institutions.

The specific content of the application architecture diagram of Web3.0 is described as follows:

(1) The Bitcoin main network and the second layer construction are the center of all values, and most of the value is built on this network.

  • In the construction of Bitcoin's second layer, the second layer construction based on the chain completes the capacity expansion and capabilities expansion of the blockchain and processes the full amount of ledger data.

  • In the construction of Bitcoin's second layer, the second layer construction based on the distributed system completes the expansion processing, processing only local related data, using the consensus of stakeholders, but the final calculation results need to be implemented in the blockchain system.

  • In the construction of Bitcoin's second layer, the second layer construction based on the centralized system directly provides services for upper-layer applications.

(2) RGB-like systems and upper-layer applications of Web3.0 will also need some temporary chains or intermediate chains to complete the settlement function of the ledger. It has not appeared on a large scale because the construction of RGB-like systems is complex and has not yet reached maturity.

(3) In addition to the Bitcoin ecosystem, there are other blockchain system ecosystems to meet the needs of different business scenarios. As described in our article on the second-layer infrastructure, there will be many projects based on the second layer of the chain, and the same applies to chains that are not part of the Bitcoin ecosystem. Other blockchain systems and the second layer can also enter the Lightning Network and RGB, and this situation will gradually appear as the technology matures.

(4) In the Web3.0 ecosystem, centralized systems will also have a place, but the proportion will no longer be as large as in Web2.0. Centralized systems have many advantages.

In actual applications, the internal connections in the above diagram will be more complicated. Some do not need to use the second layer, but directly operate on the first layer network, such as RGB when using the BP protocol. Other blockchains may also use distributed systems, such as the Raiden Network on Ethereum. Although the Raiden Network is immature, if there is a demand scenario, it will also have a usage scenario by modifying some basic features. The above diagram is a simplified description of the Web3.0 application architecture.

2.3. Three construction paths visible in the application architecture

Here we will directly give the results first, and then analyze the characteristics of each path. As shown in the figure below, there are three typical construction paths in the application architecture.

(1) Path 1: Chain-based second-layer construction (mainly completing capabilities expansion, partially achieving capacity expansion)

This path is relatively easy to implement in theory, and Ethereum's second-layer construction has provided many running cases. Therefore, in the final Web3.0 application architecture, the construction based on Bitcoin's first-layer network + chain second-layer is this implementation path. As shown in Path 1 in the figure.

(2) Path 2: Strong capacity expansion of blockchain (mainly relying on the capacity expansion of distributed systems)

This path is the best way to achieve capacity expansion of blockchain systems, that is, blockchain + distributed systems, which can expand the transaction capacity TPS to infinity. The current Bitcoin + Lightning Network is a representative of this path. As shown in Path 2 in the figure.

(3) Path 3: Strong capabilities expansion of blockchain (capabilities expansion based on capacity expansion)

This path is the most difficult capacity expansion method, that is, to achieve capabilities expansion based on the strongest capacity expansion plan. The current RGB system is an example of this implementation method, as shown in Path 3 in the figure.

3. Blockchain capacity expansion (expansion performance-TPS)

There are three main ways to explore blockchain expansion: the first is to explore the structure of the blockchain itself, the second is to use the idea of sharding and layering to start the homogeneous expansion (both are blockchain structures); the third is the heterogeneous expansion in layered design (blockchain + distributed system, blockchain + centralized system)

3.1. Exploration of the structure of the blockchain itself-two directions

(1) Directly expand the block size of Bitcoin.

This is the main exploration method in the early stage (some explorations are to fine-tune the block time, but the difference in block time is not large and remains at the same level). As shown in the Bitcoin fork history chart below.

(2) Using a more centralized consensus algorithm to reduce the block time is another typical way to expand capacity.

This method is mainly based on improved consensus algorithms such as DPOS, POSA, and POA. By reducing the degree of decentralization, it is easier to reach a consensus within the blockchain system in a short time, and the block time is reduced to a sufficiently low level, generally at the level of seconds. For example, the block time of Ethereum is about 15 seconds, the block time of EOS is 0.5 seconds, and the block time of BSC (Binance Smart Chain) is about 3 seconds.

3.2. Sharding and homogeneous layered design of blockchain

Sharding and layered design are two typical performance expansion ideas.

(1) Sharding is to maintain a blockchain system, but to shard it internally, so that the overall transaction capacity can be expanded. The idea of blockchain sharding technology comes from the sharding of traditional databases. There are several major types of sharding technology: network sharding, transaction sharding, and state sharding. Their basic principles are "divide the whole into parts, divide and conquer", using multiple shards to process different transactions at the same time, and finally aggregate them to the main chain.

Typical examples of blockchain sharding include Ethereum 2.0, Zilliqa, and Polkadot. The sharding technology in blockchain was first proposed in 2015. At that time, a pair of teachers and students from the National University of Singapore published a paper "A Secure Sharding Protocol For Open Blockchains" at the international top security conference CCS, which first proposed the concept of sharding in the blockchain field. Later, the teacher and student developed the first sharding technology landing project Zilliqa, which combines PBFT and PoW consensus mechanisms, has 6 shards, and a test network of 3,600 nodes, which can process 2,800 transactions per second, which was the fastest processing speed in the public chain at that time.

Problems with sharding design

The balance between security and performance in sharding is an issue worthy of attention. After many experiments, Zilliqa decided to build a shard with 600 nodes, because 600 nodes can achieve the best balance between performance and security. If the number of nodes is reduced blindly in order to improve TPS, it will be very unfavorable for the decentralization and security of the sharding.

There are still many problems to be solved in sharding technology, especially state sharding, and computer technicians have not yet developed a good solution. At the same time, the principle of sharding is not only about how to shard, but also about how to manage each shard safely and effectively. Many projects blindly pursue one aspect and ignore the basic governance issues of blockchain, which undermines the overall performance indicators of the blockchain system.

(2) Layered design (chain-based layering)

Layered design includes broad layering and narrow layering construction. Sidechain technologies and other alternative chain technologies can be considered as second-layer construction in a broad sense. Direct second-layer network construction on the main chain is the most typical layered design method. Ethereum's second-layer network construction is a typical representative of layered construction that is already in operation. Bitcoin's second-layer network construction will complete the layered construction of the entire blockchain world.

Chain-based second-layer layered construction simultaneously completes the functions of capacity expansion and capabilities expansion. The capacity expansion is not significant enough, generally only one or two orders of magnitude, but in terms of energy expansion, it generally completes the transformation from non-Turing complete to Turing complete. If the main chain is already Turing complete, the second-layer construction will complete more capacity expansion or targeted function expansion.

3.3. Heterogeneous second-layer construction in layered design

The heterogeneous second-layer construction in the layered thinking includes blockchain + distributed system, blockchain + centralized system. Among them, blockchain + distributed system has a very obvious performance improvement on the expansion of blockchain. Let's take Bitcoin + Lightning Network as an example. In theory, while maintaining the basic characteristics of blockchain, it can also achieve unlimited performance expansion. The performance of this combination is Bitcoin's 7TPS * ∞.

There are similar cases in the layered design of Ethereum. Ethereum's main network + Raiden network is also the idea of this heterogeneous design, but the development of Ethereum's Raiden network is not smooth enough at present.

If you want to achieve large-scale application of Mass adoption, only the second layer with this structure can support it. Taking Visa payment as an example, the performance requirement during peak hours is: 65,000TPS. Such performance indicators can only be supported by centralized systems and distributed systems. The current lightning network has a performance of 40 million transactions per second, and the performance of the lightning network has no upper limit in theory.

This is an optimal expansion method, which can achieve unlimited performance expansion, which is the path 2 we identified in 2.3.

4. Blockchain capabilities expansion (expansion function-Turing completeness)

There are three main ways to explore the capabilities expansion of blockchain: the first is the capabilities expansion from non-Turing complete to Turing complete, the second is the capabilities expansion within the non-Turing complete system, and the third is the heterogeneous capacity expansion in the application architecture design (first complete the capacity expansion of the blockchain + distributed system, and then expand the capabilities on this expanded system).

4.1. From non-Turing completeness to Turing completeness

The beginning of the blockchain era is marked by the birth of Bitcoin. In the early stages of blockchain development, the computing power of Bitcoin and related imitation chains was non-Turing complete. This was due to different stages of technological development and the consideration of later protocol layering design. However, the development of blockchain computing power from non-Turing complete to Turing complete is a necessary path.

Ethereum is a typical representative of this expansion of blockchain computing capabilities. Many teams started related explorations before Ethereum, but there is still a distance and development path dispute from a relatively satisfactory solution. After Vitalik failed to persuade other project teams, he formed his own team to publish a white paper to develop a new generation of blockchain systems in response to Bitcoin's imperfections: UTXO's accountless system, non-Turing completeness of the execution language, and poor scalability. From the name of the white paper "A Next-Generation Smart Contract and Decentralized Application Platform", it can be seen that Ethereum mainly solves the problem of capabilities, otherwise it would be impossible to produce a DAPP platform.

In a blockchain system and on the second-layer construction based on the chain, it is relatively easy to go from non-Turing complete to Turing complete (compared with the Turing completeness on the blockchain + distributed system later). The construction of this stage has been basically completed and is gradually maturing.

This expansion method is path 1 identified in 2.3 application architecture, which mainly completes the expansion function and also completes capacity expansion partially. Partial  capacity expansion here means that this method can only increase TPS to a limited extent. For example, the second layer on Ethereum is basically increased to hundreds to thousands of transactions. Compared with the expansion solution of blockchain + distributed system, this chain's second-layer expansion effect is relatively limited.

The division of capabilites above Turing completeness is no longer discussed in this article. Like many special computing devices in traditional fields, special computing blockchain systems with different characteristics will also be developed.

4.2. Capabilities expansion on non-Turing complete systems

In article "Summary of new technological developments that led to Bitcoin’s resurgence", due to the layered design of the protocol, we can see that some blockchain systems do not necessarily have to be expanded from a non-Turing complete system to a Turing complete system. Does that mean that systems like Bitcoin do not need to be expanded? The answer is no. Such systems also need to be expanded, and almost all new technologies that lead to Bitcoin's re-explosion are the results of this expansion.

This expansion is first manifested in the exploration of basic instructions, such as the initial exploration on OP_RETURN, which led to the need to promote the emergence of expansion technologies for capacity expansion, such as Segwit and Taproot. With the increase of space, expansion technology has further developed, resulting in technical elements such as Schnorr, MAST, and Taproot Scripts. In turn, products based on these technologies have been generated, such as Ordinals, Inscriptions, BRC20 and other protocols. With the development of these products and the requirements of the second-layer construction for the main network capabilities, the expansion of non-Turing complete systems will develop further.

4.3. The most difficult path - capabilities expansion (RGB-like)

In Section 4.1, we discussed that the second-layer construction based on the chain has completed both capabilities expansion and partial capacity expansion. In Section 3.3, the structure of blockchain + distributed system provides the best capacity expansion solution. If capabilities expansion is completed on the basis of this best capacity expansion solution, is it the best expansion solution? The current RGB is exploring this ultimate capabilities expansion method. Due to the complexity and difficulty of this method, the RGB system is not mature enough and its development is relatively slow.

RGB is based on LNP (Lightning Network Protocol) and BP (Bitcoin Protocol). If RGB capabilities expansion is directly based on BP, it is not the strongest expansion solution. It directly expands the Turing complete function of Bitcoin and belongs to the second layer. This method has limited performance expansion. If RGB is based on LNP, this method can expand both performance and Turing complete computing power, which is the strongest expansion solution. Therefore, some concepts in this implementation method seem to be very different from the blockchain system, such as client-side validation and single-use-seals, because of the special structure of blockchain + distribution.

RGB is designed to run scalable, robust and private smart contracts on the blockchain to achieve all possibilities. Through RGB, developers can execute applications in traditional blockchain fields such as token issuance, NFT casting, DeFi, DAO, and more complex multi-category smart contracts in the future. I guess this approach will also be the main technical support for large-scale applications of Web3.0.

5. Summary

Through the above content, we summarize several construction paths into a table for easy comparison and analysis.

We have introduced in Section 2.2 that Web3.0 applications are built on these shared infrastructures on a global scale, which is a reference for the architectural design of large systems. For small systems or relatively closed applications, some compromises can be taken. Moreover, in many cases, the combination of blockchain + centralized system is a good way to achieve the required effect, reduce the complexity of implementation, and even maintain some basic characteristics of blockchain as much as possible.

After writing this article, I still have a lot of trepidation in my heart. With my many years of experience in learning blockchain knowledge, in this very innovative field, many analyses and conclusions are still one-sided. It is necessary to make the summary more accurate and complete after this innovative field matures. For this reason, this analysis and conclusion on capacity expansion and capabilities expansion should still be incomplete, or there is a missing knowledge system. Interested friends are welcome to improve it together.

References

1. "Blockchain Knowledge-Technology Popularization Edition", when writing this book, I understood the micro-knowledge composition of blockchain and knew the main structure and characteristics of the blockchain system.

2. "Turing Blockchain", when writing this book, I was able to look at the entire blockchain system from the perspective of von Neumann architecture, as well as the development history of each component, and began to feel the relationship with the distributed system.

3. "Mastering Ethereum-System", the first draft of this book was completed in 2021, but it has not been published. It made me understand the causes and consequences of Ethereum, as well as many blockchain technology development and application cases.

4. "Web3.0: Building the Digital Future of the Metaverse", when I finished writing this book in 2022, I understood Gavin Wood's Web3 technology stack design ideas and preliminary thinking on Web3.0 applications, and referred to the preliminary architecture design diagram of industry expert Preethi Kasireddy, but I had not yet formed a conclusion on what the application architecture of Web3.0 should be, until I wrote "Observing Bitcoin Layer 2 from the perspective of the state machine, you can see the architecture and construction path of future Web3.0 applications".

5. "Full text of Xiao Feng's speech in Hong Kong: Web3's 1995 moment, the first principles of blockchain and disruptive innovation". This article allows me to understand blockchain from the perspective of several revolutionary development histories, and also helps me verify some concepts in my previous articles, the most important of which is the first principles of blockchain: new accounting methods.

6. References to other specific technologies are listed in other articles I have written.

(1) "Summarizes the basic knowledge system of Bitcoin Layer2 constructionV2.0"

(2) "Observing Bitcoin's second layer from the perspective of the state machine, we can see the architecture and construction path of future Web3.0 applications"

(3) "The high price of Bitcoin will lead to the emergence of a new alternative chain"

(4) "Summary of new technologies that led to Bitcoin's resurgence"

(5) "Re-examining decentralization from the disappearance of Satoshi Nakamoto and the layered construction of the Bitcoin ecosystem"

The writing of this article is a continuation of the ideas of my previous articles. Basically, I have sorted out my main thoughts on Bitcoin's ecological technology at this stage.

Mirror文章信息

Mirror原文:查看原文

作者地址:0x8CdFb8A6CFc164A18c9783A00A8FB5C046268D62

内容类型:application/json

应用名称:MirrorXYZ

内容摘要:bi-bsmOIPpT3R7I_7vIbcmQT1FezxJaH4CaGF12bqMo

原始内容摘要:ALbRQMZ5EY71z7oT5C2H8Wy15K0pVmSVjOihmnIy3PI

区块高度:1513659

发布时间:2024-09-25 03:20:49