● The architecture of the software system determines how the node computers are organized and how they connect with other computers.
● Centralized and decentralized software systems can be seen as the north and south poles of system architecture.
● Distributed systems consist of many independent computers that cooperate with each other through communication media to achieve specific goals, with no single computer able to control the entire system.
● It can be pointed out from experience that as long as there is a single component that could cause the entire system to crash, no matter how complex the system architecture is, it is not decentralized.
● Blockchain is part of the implementation layer of decentralized software systems.
● The significance of blockchain lies in ensuring a particular non-functional characteristic in decentralized software systems: achieving and maintaining the integrity of the system.
The advantage of peer-to-peer systems over centralized systems lies in their direct interaction between the two parties involved in a transaction, without intermediaries, thus resulting in shorter processing times and lower costs.
The advantages of peer-to-peer systems are not limited to transfers; almost all intermediaries between producers and customers of virtual goods and services are susceptible to being replaced by peer-to-peer systems. With the development of digitalization, an increasing number of virtual goods and services will emerge, all benefiting from the efficiency improvements of peer-to-peer systems. Advocates of peer-to-peer systems believe that nearly every aspect of our lives will be influenced by digital technologies and peer-to-peer systems, such as payments, savings, loans, insurance, birth certificates, driver's licenses, passports, identity cards, educational certificates, patents, and labor contracts. Most of these already exist in digital form within the centralized systems of institutions that mediate between providers and consumers.
The removal of intermediaries is also known as the "disintermediation phenomenon," which poses a serious threat to many commercial companies. This is because the foundation of these companies' existence is their ability to act as primary intermediaries among different groups, such as between buyers and sellers, borrowers and lenders, or producers and consumers.
A peer-to-peer system is a distributed software system composed of several nodes (personal computers), where the computational resources of a single node (such as CPU processing power and storage capacity) can be directly invoked by other nodes. When joining a peer-to-peer system, users convert their computers into nodes of the system according to their permissions and roles. Although the resources contributed by users to the system may vary, all nodes in the system have the same functions and responsibilities. Therefore, all users' computers are both suppliers and consumers of resources.
For example, in a peer-to-peer file-sharing system, each file is stored on the computers of various users. When someone wants to download a file in such a system, they can download it directly from another person's computer, who could be a neighbor next door or anyone else in the world.
Architecture of Peer-to-Peer Systems
Peer-to-peer systems are distributed computer systems composed of various nodes that share computing resources. However, there are still some peer-to-peer systems that utilize centralized design concepts. Centralized systems facilitate interactions between system members by maintaining a central node while also maintaining a directory of services provided by different nodes or performing tasks such as node lookup and identification. Centralized peer-to-peer systems typically use a hybrid architecture, as shown on the left side of Figure 2-2, which combines the advantages of centralized and decentralized systems. On the other hand, fully distributed peer-to-peer systems do not have a central node for control or coordination, so all nodes in the system perform the same tasks, acting both as providers of resources and services and as consumers.
An example of a centralized peer-to-peer system is Napster, which maintained a central database of available songs on all nodes connected to the system.
The Relationship Between Peer-to-Peer Systems and Blockchain
As mentioned, blockchain can be seen as a tool for achieving and maintaining the integrity of distributed systems. Fully distributed peer-to-peer systems can use blockchain technology to achieve and maintain the integrity of the system.
The Potential of Blockchain
The connection between fully decentralized peer-to-peer systems and blockchain is that the latter provides the former with tools to achieve and maintain integrity. Fully decentralized peer-to-peer systems have great commercial potential because they can replace business models built on information intermediaries in centralized systems. Since fully decentralized peer-to-peer systems can use blockchain to achieve and maintain integrity, blockchain becomes very important. The real reason is that when we feel incredibly excited about decentralized industrial models, we find that blockchain is the only means that can help us achieve our goals.
Because their application in software systems is somewhat different from their application elsewhere.
● Identity authentication.
● Verification.
● Authorization.
The meanings and interrelationships of the three can be illustrated with real-world examples. For instance, if you are going to a supermarket to buy a bottle of wine, and the supermarket does not allow the sale of alcoholic beverages to minors, how does the supermarket ensure that they are only selling wine to the right demographic? They achieve this through the three steps of identity authentication, verification, and authorization. We will provide further introductions next.
Identity Authentication
Identity authentication refers to confirming the user's identity by providing relevant information that can serve as an identifier. In the case of buying wine, you might provide an ID card, but identity authentication does not prove that you are who you say you are, nor does it prove that you are of legal age; it merely means you claim to be a certain person.
Verification
The purpose of verification is to prevent someone from impersonating another person. Verification means verifying that you are indeed the person you claim to be. This verification process can be conducted by providing something that can prove your identity, such as an ID card or driver's license. An important point in this process is that the proof of your identity you provide must have some unique attributes related to you, such as a photo or fingerprint. In the case of buying wine, you can present a driver's license that contains your photo, and by comparing you with the photo on the license, the verification can be completed. Checking the photo on the driver's license is to prevent the misuse of the license.
Authorization
Authorization means granting access to specific resources or services based on the identity characteristics of the corresponding person. Authorization arises from a successful verification and an accurate assessment of the rights they possess. In the case of buying wine, authorization means allowing you to purchase wine after checking the birth date on your driver's license. If you are too young, the clerk has the right to refuse to sell you wine. Note that in this example, the refusal to sell wine does not occur because of a failure in verification; both identity authentication and verification have been successfully completed; it is simply because during the authorization process, the clerk found that you were too young and thus did not grant authorization. Therefore, authorization usually means comparing the results of verification with certain rules for evaluation.
█ Note: Identity authentication refers to confirming the user's identity. Verification refers to proving that you are indeed the person you claim to be. Authorization refers to allowing you to access specific resources or receive specific services based on prior identity verification.
Nature and Significance of the Ledger#
The relationship between proof and change of ownership and the functions of the ledger
A ledger must simultaneously fulfill two opposing functions. On one hand, it must be able to prove ownership by reading the data in the ledger, and on the other hand, the ledger needs to record every transfer of ownership, which means new data needs to be written into the ledger. The most important difference between these two functions can be summarized as the difference between public and private.
When the ledger is open to everyone, proving ownership becomes relatively easy. Therefore, public access is the basis for proving ownership, akin to a witness testifying publicly in court. However, the transfer of ownership should be specifically limited to legitimate transferees (owners), so privacy is the basis for ownership changes. Writing data to the ledger means changing ownership, so we only want absolutely trustworthy entities to have the permission to write data to the ledger.
The contradictions between privacy and public access, proving ownership and transferring ownership, as well as reading the ledger and writing to the ledger can also be found in blockchain, so we point out here that blockchain is a massive decentralized peer-to-peer system that can be accessed by anyone and has ledger-like functions, and it can also be understood as a decentralized ledger.
Ownership and Blockchain
The form of proof documents issued by the government is key to determining ownership of many high-value items. But what happens when the information stored by the government is destroyed or lost? Or what if someone intentionally makes an error when updating ledger information or simply fails to update the proof information? Once this happens, the proof information issued by the government will no longer reflect the true situation.
The problem of having only one ledger to prove ownership can be resolved through court adjudication. Relying solely on the testimony of one witness to reach a conclusion faces the risk of the witness being dishonest, so having more witnesses is clearly better. The more independent witnesses involved, the greater the likelihood that the main consistent parts of their testimonies are true. This can also be proven through the law of large numbers or statistical knowledge, and in this process, the key to approaching and finding the truth lies in having a large number of mutually independent witnesses and ensuring that these witnesses are independent of each other and do not influence one another.
Not just a simple sum of all "fragments"
This lecture is the final stop on the journey of blockchain knowledge. Lectures 9 to 20 introduced various concepts that make up blockchain, and this lecture will combine all these concepts. Therefore, you will not only gain an overall understanding of blockchain but also see how different concepts collaborate. This lecture begins with a review of the main concepts of blockchain, then explains how blockchain applies various technologies introduced in previous lectures to create trust. Finally, a comprehensive review of blockchain technology is provided, laying the groundwork for introducing the fields where blockchain can be applied.
Peer-to-Peer Architecture
The system architecture determines how nodes are interconnected and connected to each other. As shown in Figure 21-5, blockchain uses a purely distributed peer-to-peer system architecture. This system consists of independent computers called nodes. These nodes connect to each other via the internet. Each node maintains its own blockchain ledger, which contains the entire historical record of transaction data. Nodes communicate with each other using a method similar to gossip that passes information from person to person. This method of information transmission ensures that eventually every node receives all the information.
Consistency Logic and Its Basic Concepts
Obtaining an abstract blockchain technology suite is achieved by identifying and distinguishing the components of blockchain. This is consistent with the content discussed in Lecture 5 regarding the "blockchain technology suite." Clearly, ownership logic and transaction data are components of specific applications, as they determine how to describe ownership with transaction data and how ownership is clarified and transferred. On the other hand, transaction security and transaction processing logic are less dependent on application goals. The former uses general concepts such as identifiers, authentication, authorization, and digital signatures, which can be used in any other application. Figure 21-3 shows a massive data processing process, most of whose concepts are unrelated to specific applications. The only concept closely coupled with applications is the verification of transaction data. All other concepts, such as competition, control, rewards, penalties, and verification of block headers, do not need to know whether specific data is being processed.
Blockchain is a masterpiece of genius. However, blockchain is not perfect and has flaws. Therefore, this lecture will introduce some of the major flaws of blockchain and explain how these flaws hinder its commercial applications.
Challenges Faced
Blockchain is a completely distributed peer-to-peer system that allows everyone to view historical transaction records and add new transaction records to the jointly maintained ledger of nodes. Openness and the absence of central control are characteristics of this system. In this system, nodes act as independent witnesses to resolve ownership issues. However, the openness and lack of central control and coordination can also lead to some unnecessary effects, thereby limiting the application of the system. Therefore, the challenge we face is to understand the potential flaws of this system and to formulate targeted solutions to these flaws.
Technical Flaws of Blockchain
The main technical flaws of blockchain include the following:
● Lack of privacy.
● Security model.
● Limitations on scalability.
● High costs.
● Hidden centralization attributes.
● Lack of flexibility.
● Critical mass.
Lack of Privacy
Blockchain is a completely distributed peer-to-peer ledger system responsible for maintaining a complete historical record of transactions. All transaction details, such as the quantity of goods, transfer amounts, involved accounts, and transfer times, are accessible to everyone. This transparency is necessary to allow everyone to clarify ownership and verify new transactions (such as identifying double-spending attacks). Therefore, the lack of privacy becomes a flaw of blockchain. Without transparency, blockchain cannot fulfill its duties. However, this transparency is often seen as a limiting factor in its practical applications, especially in cases where privacy is highly demanded.
Security Model
Blockchain uses asymmetric encryption algorithms for user identity verification and transaction authorization. Blockchain accounts can actually be viewed as public keys, and only users holding the corresponding private keys can access the assets in the account. Only transaction data containing digital signatures is valid and can facilitate asset transfers between accounts, and digital signatures are generated using private keys. The private key is the only tool for proving ownership. If the private key of an account is intentionally leaked, the security of that independent account cannot be guaranteed.
In addition, there are no other security measures to protect account assets. It should be noted that the asymmetric encryption algorithms used by blockchain are the best and most robust encryption methods available to date. Therefore, the security of blockchain itself is strong. However, beyond that, the blockchain system does not have other security measures to prevent users from losing or leaking their private keys. This is similar to how we protect our homes, cars, and PIN codes for credit and debit cards in everyday life. Once you give your key to someone else, regardless of the reason behind it, the security of your assets can no longer be guaranteed; only the person who physically has the key or knows the PIN can drive your car or take your money. The same applies to the private keys of blockchain accounts. However, some argue that overly singular security measures are one of the main factors limiting the application of blockchain.
Limitations on Scalability
The peer-to-peer system of blockchain aims to achieve two goals:
First, it allows everyone to add new transaction records to the jointly maintained historical record;
Second, it ensures that the historical record of transaction data cannot be controlled or forged. Blockchain balances these two goals by adopting an immutable data structure that only allows the addition of new data, requiring the solution to a hash puzzle when adding new blocks (solving the hash puzzle is very time-consuming). Solving the hash puzzle is an effective way to prevent manipulation of historical transaction records, as it requires a very high cost to achieve this. Unfortunately, the cost of this security measure comes at the expense of transaction processing speed, thus limiting the scalability of blockchain. This characteristic of blockchain is seen as a significant obstacle to its application in environments requiring high processing speed, high scalability, and high throughput.
High Costs
The high cost issue is related to the scalability issue. Solving hash puzzles or ensuring the proper functioning of the proof-of-work algorithm requires extremely high computational costs. It is this security measure that guarantees the immutability of historical transaction records. The computational costs mentioned here include time, electricity, and other inputs. However, the end result remains unchanged: the cost of proof-of-work is extremely high. Therefore, the operation of the entire blockchain system incurs costs. The level of these costs depends on the difficulty of the hash puzzle.
Hidden Centralization Attributes
The hash puzzles required to add blocks to the blockchain data structure and the reward distribution rules necessary for contributing to system integrity require competition among nodes. Those with the necessary financial resources will invest in specialized hardware to solve hash puzzles, thereby contributing to the system and ultimately receiving rewards. On the other hand, those without specialized hardware will find it unprofitable to verify transactions and add new blocks to the system, ultimately leading them to choose to exit and no longer contribute computational resources to the system. Therefore, the originally large and diverse number of nodes will eventually evolve into a small number of nodes controlled by enterprises. These enterprises, due to their ability to acquire specialized hardware, will hold a large amount of computational power and ultimately monopolize the system. Like monopolistic behavior in other industries, this small group of enterprises may abuse their power (for example, by deliberately ignoring specific transactions or discriminating against users). This constitutes a potential centralization attribute that threatens the distributed nature of the entire system. From a technical perspective, such systems are still distributed, but their integrity relies on a small number of enterprises to maintain.
Lack of Flexibility
Blockchain is a complex technological combination composed of a series of optimized and mutually compatible protocols. Changing this orderly system is extremely challenging. In fact, once a blockchain begins to operate, there is no effective way to change or upgrade its main components. This requires blockchain systems to have a long lifespan. For example, the cryptographic algorithms used must remain valid throughout the usable life of the blockchain, which could span several centuries. The same applies to blockchain algorithms and conflict resolution methods. Due to the immutability of blockchain, even those who develop the blockchain may find it difficult to fix vulnerabilities or adjust the blockchain protocol. These characteristics lead to the entire blockchain system lacking the flexibility to compare with other systems.
Critical Mass
The anti-manipulation characteristics of blockchain and the credibility of jointly maintaining historical transaction records are based on the assumption that the majority of computational power in the system is controlled by honest nodes. However, in small peer-to-peer systems with limited computational power, the "majority" mentioned earlier may still be a minority, which could lead to the occurrence of a 51% attack. This issue is particularly important for "cryptocurrencies" with insufficient user numbers and low market value. Therefore, all blockchains need to ensure that there is a certain number of honest nodes to prevent computational power attacks. Achieving a specific node scale to prevent the occurrence of 51% computational power attacks is a challenge that every new blockchain system must address.
Non-Technical Flaws of Blockchain
The main non-technical flaws of blockchain include the following:
● Lack of legal recognition.
● Lack of user acceptance.
Lack of Legal Recognition
Blockchain allows users to manage and transfer ownership in a public and completely distributed peer-to-peer system. The way independent nodes participate in managing ownership through distributed consensus has also raised doubts, as people question the legality of transactions generated on the blockchain. Regardless of how secure and complex this technology is, the legality of transactions on the blockchain is a problem that needs to be addressed. This is about how to integrate a new ownership management method into the existing legal system. Those who witnessed the rise and development of the internet may find the current ambiguity surrounding the legal status of blockchain reminiscent of the internet in the 1990s.
Lack of User Acceptance
The lack of user acceptance is another issue that cannot be ignored. The uncertainty surrounding the legal status of blockchain will lead to user skepticism, ultimately discouraging them from using blockchain systems. The other side of user acceptance is the cost of education. When users do not understand the underlying technology used by blockchain, it is unrealistic to expect them to use and trust blockchain.
Overcoming Flaws
The aforementioned technical and non-technical flaws are significant obstacles to the application of blockchain in the real world. How to overcome specific flaws remains an area for designers to actively explore. Discussions on such activities are beyond the scope of this book. However, the following briefly describes how to address the flaws of blockchain.
Technical Flaws
Addressing the technical flaws of blockchain will involve issues at various technical levels. One of the major challenges in solving blockchain technical flaws is understanding the difference between technological improvements and technological innovations. The next lecture will delve into this topic.
Non-Technical Flaws
The non-technical flaws of blockchain can be viewed as social, economic, legal, and psychological issues that need to be considered when adopting a new technology. The internet and e-commerce are the best examples proving that time can resolve the legal issues faced by new technologies, and users also need time to understand, trust, and try using new technologies. Fortunately, the examples of the internet and e-commerce also demonstrate the importance of time for the popularization of new technologies; as time goes on, the acceptance and prevalence of new technologies among users will gradually increase, allowing time for legal solutions to emerge.
Two Major Technical Limitations of Blockchain Leading to Two Major Conflicts
Major Conflicts of Blockchain
Blockchain faces the following two major conflicts:
● Transparency vs. Privacy.
● Security vs. Speed.
Transparency vs. Privacy
Blockchain clarifies ownership based on the complete historical record of transaction data, and this historical record of transaction data is visible to everyone. Therefore, blockchain is akin to a public transaction registry or public ledger. Openness and transparency are core to blockchain's verification of ownership. Everyone can audit others' transactions, making it easy to detect double-spending attacks; thus, this openness is the foundation for solving the double-spending problem.
However, this solution is contrary to privacy. Privacy means ensuring that individuals other than the parties involved in the transaction cannot access the information contained in the transaction data (such as account details or transfer amounts). The resulting conflict lies in the need for transparency to clarify ownership on one hand, while users of the system also require a certain level of privacy.
Security vs. Speed
It can be said without exaggeration that the historical record of transaction data is the core of blockchain. The historical record of transaction data can be stored in an immutable and append-only blockchain data structure, which requires each block to solve a hash puzzle when being added or rewritten, ensuring that historical transaction data cannot be manipulated or forged. This not only makes the cost of manipulating or forging historical transaction data extremely high but also slows down the speed at which new transaction data can be added to the blockchain data structure. This contrasts with the demands for speed and scalability in many applications in commercial environments. The resulting conflict lies in the need to ensure the security of historical transaction records through time-consuming proof-of-work algorithms while facing user demands for speed and system scalability.
Roots of the Conflicts
The roots of these two conflicts lie in the two basic operations of blockchain: reading or writing transaction data. The conflict between openness and privacy can be traced back to the operation of reading blockchain data, while the conflict between security and speed can be traced back to the operation of writing data to the blockchain data structure. The relationship between the two major technical limitations, potential conflicts, and the corresponding basic functions of blockchain is summarized.
Resolving Conflicts
One can choose to find a compromise that balances all conflicts, or one can choose to let one side overwhelmingly weaken the other to resolve the conflict. As previously mentioned, blockchain supports transparency and security, thereby weakening privacy and speed. There are other methods to resolve these conflicts, which will be elaborated on in the following content.
Choosing Between Transparency and Privacy
Choosing between transparency and privacy essentially means deciding who is granted permission to view transaction data. If we only consider the extreme cases of granting reading permissions, there are two options: granting reading permissions to everyone or granting limited permissions to selected nodes or users. People can distinguish the following types of blockchains based on which users or nodes have the right to read blockchain data or create new transactions.
● Public chains grant reading permissions and the ability to create new blocks to all users or nodes.
● Private chains grant limited reading permissions and the ability to create new blocks to a pre-selected group of users or nodes.
Choosing Between Security and Speed
Choosing between security and speed essentially means deciding who is granted permission to write transaction data. If we only consider the extreme cases of granting writing permissions, there are two options: granting writing permissions to everyone or granting writing permissions to a pre-selected group of trusted users or nodes. We can distinguish the following two types of blockchains based on the granting of writing permissions.
● Permissionless blockchains grant writing permissions to everyone. Each user or node can verify transactions and add new blocks to the blockchain.
● Permissioned blockchains grant writing permissions only to a limited group of pre-selected trusted nodes or users. Therefore, only the group of nodes with writing permissions can verify transactions and participate in the consensus process of the distributed system.
Four Types of Blockchains
Blockchains, as well as all the blockchains discussed in the previous lectures, are public permissionless blockchains. Any restrictions on reading or creating transaction permissions will result in one of these types of blockchains. Private permissioned blockchains have higher processing speeds and the ability to keep transaction data confidential, making them the most suitable for use in commercial environments.
The impact of restricting reading or writing permissions on historical transaction records will affect the following characteristics of blockchain:
● Peer-to-peer architecture.
● Distributed nature.
● Use cases.
Peer-to-Peer Architecture
In Lecture 3, we learned about peer-to-peer systems and their characteristics. One major feature of peer-to-peer systems is that they include nodes (computers) that are completely equal in terms of rights and roles. Although individual nodes may differ in terms of the resources they contribute, all nodes in the system have the same functions and responsibilities. However, as mentioned above, the four types of blockchains differ in granting reading and creating transaction permissions to the nodes that make up the system. If nodes have different abilities when reading or creating transactions, they are no longer equal. Therefore, restricting reading and writing permissions seems to violate one important characteristic of peer-to-peer systems.
Distributed Nature
In Lecture 2, we learned about distributed systems and their characteristics. The absence of any type of central control or coordination is often considered a major feature of distributed systems. However, the emergence of the four different types of blockchains is based on granting reading or writing permissions to a pre-selected group of nodes or users, rather than granting these permissions to everyone. Who decides to grant or deny reading or writing permissions to the system? Who sets the rules for granting or denying reading and writing permissions?
If the rules for allocating reading and writing permissions are not managed and enforced by a purely distributed system, then the system will have a central element, which in turn conflicts with the distributed nature of blockchain.
The diagram shows the rough architecture of a distributed system managed and enforced by a central element for allocating reading and writing permissions. This means that either there is a hidden central control agency, or the system becomes a centralized system composed of nodes with limited permissions, while internally using a distributed organizational method. In both cases, the entire system resembles a hybrid system composed of distributed and centralized elements.
Use Cases
In Lecture 4, we learned that the core problem blockchain solves is achieving and maintaining integrity (i.e., reaching consensus) in a purely distributed peer-to-peer system composed of unknown, unreliable, and untrustworthy nodes. Limiting reading and writing permissions not only changes the constitutive attributes of distributed peer-to-peer systems but also alters the credibility of the nodes. If the credibility of nodes that can write data to the blockchain is assessed, then ultimately the system may exclude nodes with unknown credibility. Therefore, it can be concluded that such a system no longer requires blockchain's ability to create trust in an unreliable environment.
For the following reasons, blockchain can still create value even in systems composed of known numbers of nodes with generally known reliability and credibility. First, due to technical failures, the number of nodes in such systems may vary. Second, every distributed system faces network issues that can make communication at the individual message level unreliable. Finally, even through adaptation processes, there is no guarantee that nodes will be 100% trustworthy. Moreover, due to technical failures, even trustworthy nodes may produce incorrect results.
Revisiting the Use of Blockchain
Due to the restrictions on reading and writing permissions, we may change our perspective on the use of blockchain. However, even in the most restricted case of private permissioned blockchains, blockchain can still be used to maintain system integrity. Therefore, we may decide to relax the conditions under which blockchain creates trust. Rather than insisting that the use of blockchain is to maintain the integrity of an open, purely distributed peer-to-peer system, it is more accurate to say that its use is to achieve and maintain the integrity of general distributed systems.
How blockchain can function, what services it can provide, and how users interact with it. Here are some important concepts in the evolution of blockchain.
● Usage rights.
● Privacy.
● Consensus.
● Transactions.
● Data storage.
● Data structures.
Usage Rights
The restrictions on reading and writing permissions for blockchain can give rise to demands for various versions of blockchain. As mentioned in Chapter 23, restrictions on data reading have evolved into public and private chains, while restrictions on writing permissions have given rise to open and closed blockchains.
These four types of blockchains can be seen as conceptual evolutions, as they change the main characteristics of blockchain and have different uses, distributed attributes, and architectural methods.
Privacy
The openness of blockchain has always been a key topic of discussion, as this characteristic affects users' privacy needs in certain use cases. Private chains restrict reading functions, and no one can gain control over transaction data based on historical transaction records. Other methods of protecting privacy include storing private data on specialized privacy-protecting distributed computing platforms. Additionally, zero-knowledge proofs can prove the correctness of claims (such as proving ownership of a data class) without accessing all the data. This technology, when applied to blockchain, allows anyone to verify ownership-related claims without reading all transaction details.
Consensus
Proof-of-work provides some basic metrics to select a historical record of transaction data, resolving conflicts between different historical versions. However, this reliance on computational power has dissatisfied many computer scientists, who believe that computational power can be compromised.
As a result, blockchain has evolved various consensus algorithms. Proof-of-stake (POS) and delegated proof-of-stake (DPOS) are two other consensus algorithms that link voting rights to ownership or transfer rights of assets. Other "alternative" consensus algorithms include Paxos and Raft. These algorithms existed before the birth of blockchain. However, explaining these algorithms clearly is not simple and exceeds the scope of this book. The problem with consensus algorithms other than proof-of-work (POW) is that they are conceptually very complex and difficult to verify. If these algorithms have theoretical vulnerabilities, it could lead to "corruption" within the blockchain system, thereby affecting the trust that blockchain creates.
Transactions
A transaction is the transfer of ownership from one account to another. In fact, a transaction itself is an autonomous contract. A transaction contains all the information needed to achieve the transfer of ownership. This concept has facilitated the development of smart contracts and encouraged attempts to execute smart contracts through blockchain. Similar to transaction data, smart contracts describe the intentions of all parties involved using machine-readable language. However, unlike simple transaction data, smart contracts are very flexible in how they implement ownership transfers based on different objects, subjects, actions, and conditions. From a technical perspective, a smart contract is an autonomous computer program written in a specific programming language on the blockchain. Once a smart contract is written, the blockchain can extend its capabilities by executing the code within the contract. This extension transforms the blockchain from a distributed system that stores data into a virtual machine that executes smart contracts.
The ability to run code on the blockchain means that applications can be built on it, rather than simply using it to store data. When discussing smart contracts, we need to recognize that this term does not refer to contracts between different parties but rather to a piece of code that manages and executes contracts on the blockchain.
The flexibility of smart contracts makes their range of applications very broad: such as regular rent payments, loans, repayments, and insurance payouts in the event of harm. Therefore, smart contracts will be one of the most important directions for blockchain development in the coming years.
Data Storage
Previously, we discussed how to store new data and maintain the integrity of the entire historical transaction record. However, as discussed in Lecture 9, ownership can be managed through transaction data or historical transaction data. The former is often used to manage small amounts of data, while the latter is commonly used in scenarios with smart contracts, where the entire system contains various random information, such as account balances, insurance contracts, or data representing physical world objects. In this way, the entire state of the system is stored in historical transaction data and can be realized through smart contracts to achieve state transitions.
Data Structures
The data structure of blockchain is not a straight line composed of blocks; rather, the data structure of blockchain is actually tree-like, with different branches representing different historical versions of transaction data. The main challenge of blockchain algorithms lies in enabling the nodes of the distributed system to select a branch to serve as the authoritative chain. Another method of storing transaction data is to use directed acyclic graphs to represent this tree-like data structure. We can assume that this directed acyclic graph is the tree-like data structure of the blockchain. Using this directed acyclic graph to store historical transaction records has far-reaching implications for the performance of blockchain, ownership attribution, and the way nodes reach consensus.
Main Directions for Blockchain Development
It is well known that the public tends to overestimate the short-term impact of technology while underestimating its long-term effects. The evolution of the internet and its impact on human society is the best proof of this principle, which also means that estimating the long-term impact of technological innovation is very difficult. The following points may be important directions for the long-term development of blockchain.
● Disintermediation.
● Automation.
● Standardization.
● Streamlined processing.
● Increased processing speed.
● Reduced costs.
● Trust protocols and consensus.
● Turning trust into a commodity.
● Raising technological awareness.
Disintermediation
Blockchain does not eliminate intermediaries; rather, it acts as a digital intermediary that strictly adheres to rules. Transitioning from one type of intermediary to another is not remarkable, but replacing human organizations that rely on user trust with software systems that encode trust is a significant achievement. Furthermore, the ability to replace a large number of intermediaries and enable secure direct interactions between nodes is indeed a tremendous accomplishment. Therefore, disintermediation is a feature that needs to be retained in the future development of blockchain.
Automation
To better play the role of a digital intermediary, blockchain needs to rely on automation. The more use cases there are for blockchain, the more it can replace manual operations between intermediaries with automated interactions between nodes. Therefore, another major direction for the future development of blockchain is to solidify automation.
Standardization
Blockchain achieves automated operations of transactions by running specific rules and standards. As blockchain is used more, the transactions and interactions between relevant parties will need to be increasingly standardized. Thus, further strengthening standardization is also an important topic in the development of blockchain.
Streamlined Processing
Due to standardization and automation, business processes will become more transparent and streamlined. Many organizations are ready to use blockchain to handle business. Therefore, understanding existing business processing models and redesigning them for streamlined operations is also an important direction.
Increasing Processing Speed
Disintermediation, standardization, streamlined processing, and automation significantly enhance processing speed. Therefore, we can expect blockchain to see increasing usage, with interactions between parties becoming more frequent and efficient. Finding ways to improve past time-consuming manual processing systems with high-speed automated processing systems is also an important topic.
Reducing Costs
Automation, disintermediation, and standardization often lead to reduced costs. History has repeatedly shown that the cost reductions brought about by automation have reshaped many industries, making a wide variety of goods affordable for more people. Of course, cost reductions will not only have a profound impact on industries such as automobile manufacturing, television, mobile phones, and clothing. Therefore, this is also a blockchain development direction that needs to be focused on from an economic perspective.
Trust Protocols and Consensus
Blockchain shifts human trust in human organizations to trust in computer consensus. This may change our understanding of trust, altering our perceptions of trust at the individual and societal levels. Therefore, trust protocols will be an important development direction for blockchain in sociology.
Turning Trust into a Commodity
Automation and standardization not only reduce production time and costs across multiple industries but also bring goods that were previously unaffordable for consumers into households. Do you remember how expensive a computer or a mobile phone was 30 years ago? Now, mobile phones are often given away for free during promotions. You can now buy a computer with extremely high computing power for a small amount of money. This is because automation and standardization have significantly reduced the manufacturing costs of computer chips. It is foreseeable that as blockchain develops, the costs of trust, security, and settlement required for commercial interactions will also significantly decrease. This is a long-term necessity for industries that need to initiate, execute, and settle transactions in everyday business dealings.
Raising Technological Awareness
Blockchain is a highly complex technology that uses a data structure that is extremely difficult to tamper with and consensus algorithms to solve trust issues and achieve consistency in peer-to-peer systems. These aspects may not necessarily attract the attention of the business world. However, in reality, blockchain has garnered attention across various industries. More and more people are beginning to pay attention to blockchain technology and are trying to understand its applications in real life. This is crucial because the key to achieving success and social wealth in many industries lies in overcoming technological challenges.
Potential Disadvantages
In addition to positive impacts, blockchain also has negative effects, and the following are its potential disadvantages.
● Lack of privacy.
● Lack of accountability.
● Reduction in employment.
● Re-intermediation.
Lack of Privacy
Public chains do not hide transaction data; anyone can read historical transaction data. This is a terrifying prospect for those who wish to protect their privacy. These concerns are understandable, especially considering that large companies have already collected so much personal data. This worry may promote the development of private chains or the emergence of other highly secure protocols. Additionally, it raises the question of whether everyone can become the master of their own data and have the ability to sell the reading or usage rights of that data. In this way, search engine service providers and social media platforms, among other intermediaries, may lose some users and market share.
Lack of Accountability
Disintermediation can lead to a lack of personal accountability. Intermediaries bind parties through contracts and provide corresponding guarantees. Intermediaries also mediate when transactions cannot proceed smoothly, fulfilling their obligations. When trust in human organizations shifts to trust in protocols and technology, users can no longer rely on accountability when issues arise, are executed, or occur.