banner
leaf

leaf

It is better to manage the army than to manage the people. And the enemy.
follow
substack
tg_channel

The purpose of blockchain is to achieve a decentralized system.

● The architecture of software systems determines how the nodes (computers) within them 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 using 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, regardless of how complex the system's 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 special 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 is that they interact directly between the two parties involved in a transaction, without intermediaries, 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 replacement by peer-to-peer systems. With the development of digitalization, more and more virtual goods and services will emerge, all benefiting from the increased efficiency 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, ID cards, educational certificates, patents, and labor contracts. Most of these already exist in digital form within centralized systems that sit between providers and consumers.

Removing 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 between 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 computing resources of a single node (such as CPU processing power and storage capacity) can be directly accessed 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.

The architecture of peer-to-peer systems

Peer-to-peer systems are distributed computer systems composed of various nodes that share computing resources. However, some peer-to-peer systems still utilize centralized design concepts. Centralized systems facilitate interaction among system members by maintaining a central node while 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 as both providers and consumers of resources.

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 considered 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 extremely 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 differs somewhat from their application elsewhere.

● Identity authentication.

● Verification.

● Authorization.

The meanings and interrelationships of the three can be illustrated with examples from the real world. 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 correct demographic? They achieve this through the three steps of identity authentication, verification, and authorization. We will provide further details 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 claim to be, nor does it prove that you are of legal age; it merely means you declare yourself to be a certain person.

Verification

The purpose of verification is to prevent someone from impersonating another person. Verification means confirming that you are indeed the person you claim to be. This verification process can be conducted by providing items 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 contain some unique information related to you, such as a photo or fingerprint. In the case of buying wine, you can show a driver's license that contains your photo, and by comparing you with the photo on the license, verification can be completed. Checking the photo on the driver's license is to prevent the possibility of the license being misused.

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 the wine. Note that in this example, the refusal to sell wine is not due to a failure of 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 to authorize the sale. Therefore, authorization usually means comparing the results of verification with certain rules for assessment.

█ 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.

The nature and significance of ledgers#

The relationship between proof of ownership and changes in ownership with ledger functions

image

A ledger must perform two opposing functions simultaneously. 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 to the ledger. The most significant 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, publicity is the foundation of proving ownership, akin to a witness publicly testifying in court. However, the transfer of ownership should be specifically limited to legitimate transferees (owners), so privacy is the foundation of 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 of privacy and publicity, 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: 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

Using government-issued documents as a form of witness is key to determining ownership of many high-value items. But what happens when the information stored by the government is destroyed or damaged? Or what if someone deliberately makes a mistake 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 by having a court trial. Relying solely on the testimony of a single witness to reach a conclusion faces the risk that the witness may not be honest, 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 chapter is the final stop on the journey of blockchain knowledge. Chapters 9 to 20 introduced various concepts that make up blockchain, and this chapter will combine all these concepts. Therefore, you will not only gain an overall understanding of blockchain but also see how different concepts collaborate. This chapter begins with a review of the main concepts of blockchain and then explains how blockchain applies various technologies introduced in previous chapters to create trust. Finally, it provides an overall review of blockchain technology, laying the groundwork for introducing the fields where blockchain can be applied.

Peer-to-peer architecture

The way a system is architected 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, passing information from person to person. This method of information transmission ensures that eventually every node receives all the information.

image

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 of the "blockchain technology suite" discussed in Chapter 5. 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 defined 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 independent of 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.

image

Blockchain is a masterpiece of genius. However, blockchain is not perfect and has flaws. Therefore, this chapter 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 a central controlling authority 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, thus 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 address 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 transaction record. All transaction details, such as the quantity of goods, transfer amounts, involved accounts, and transfer times, are accessible to everyone. This 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 that contains 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. As long as the private key of an account is deliberately 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 strongest encryption methods available to date. Therefore, the security of blockchain itself is quite strong. However, aside from this, 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 houses, cars, and PIN codes for credit and debit cards in daily life. Once you give your keys to someone else, regardless of the reason behind it, the security of your assets can no longer be guaranteed; only the person who physically holds the key or knows the PIN can drive your car or take your money. The private keys of blockchain accounts are no exception. However, some believe 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 records;

Second, it ensures that the historical records of transaction data cannot be controlled or forged. Blockchain balances these two goals by adopting an immutable data structure that only allows new data to be added, requiring a solution to a hash problem when adding new blocks (solving the hash problem is very time-consuming). Solving the hash problem is an effective way to prevent historical transaction records from being manipulated, as it requires a 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 speeds, high scalability, and high throughput.

High costs

The high cost issue is related to the scalability issue. Solving the hash problem 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 problem.

Hidden centralization attributes

The hash problem 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 the hash problem, thus 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 computing 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, having access to specialized hardware, will hold a large amount of computing power and ultimately monopolize the system. Like monopolistic behavior in other industries, this small group of enterprises may abuse their power (for example, deliberately ignoring specific transactions or treating users differently). This constitutes a potential centralization attribute that threatens the distributed nature of the entire system. From a technical perspective, such systems remain distributed, but their integrity can only be maintained by a small number of enterprises.

Lack of flexibility

Blockchain is a complex technological combination composed of a series of optimized and compatible protocols. Changing this orderly system is extremely challenging. In fact, once a blockchain begins to operate, there is no effective method to change or upgrade its main components. This requires the blockchain system to have a long lifespan. For example, the cryptographic algorithms used must remain valid throughout the usable life of the blockchain, which could be 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 bugs or adjust the blockchain protocol. These characteristics lead to the entire blockchain system being unable to compare its flexibility 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 computing power in the system is controlled by honest nodes. However, in small peer-to-peer systems with limited computing 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 values. Therefore, all blockchains need to ensure a certain number of honest nodes to prevent power attacks. Achieving a specific node scale to prevent the occurrence of a 51% power attack 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 two points.

● 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 participation of independent nodes in managing ownership through distributed consensus has also raised doubts, as people question the legality of transactions generated in the blockchain. Regardless of how secure and complex this technology is, the legality of transactions in blockchain remains an issue to be resolved. This concerns 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 unclear 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 of blockchain's legal status will lead to user skepticism, ultimately discouraging them from using blockchain systems. Another aspect of user acceptance is the cost of education. When users do not understand the underlying technology used in 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 that designers need to actively explore. Discussions of 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 addressing blockchain's technical flaws is understanding the difference between technological improvements and technological innovations. The next chapter 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 attempt to use new technologies. Fortunately, the examples of the internet and e-commerce also demonstrate the importance of time in the popularization of new technologies; over time, the acceptance and popularity of new technologies among users will gradually increase, allowing time for legal solutions to be proposed.

The two major technical limitations of blockchain lead 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 at the core of 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 two parties involved in a transaction cannot access the information contained in the transaction data (such as account details or transfer amounts). The resulting conflict is that on one hand, transparency is needed to clarify ownership, while on the other hand, system users 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 only appendable blockchain data structure, which requires each block being added or rewritten to solve a hash problem, thus 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 is that on one hand, the security of historical transaction records is ensured through the time-consuming proof-of-work algorithm, while on the other hand, there are user demands for speed and system scalability.

Roots of the conflicts

The roots of these two conflicts lie in the two fundamental 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 fundamental functions of blockchain is summarized.

image

Resolving conflicts

One can choose to find a compromise solution 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 discussed in more detail below.

Making a choice between transparency and privacy

Making a choice 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 between 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 and new block creation permissions to all users or nodes.

● Private chains grant limited reading permissions and new block creation permissions to a pre-selected group of users or nodes.

Making a choice between security and speed

Making a choice 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 between 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 pre-selected group of 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

image

Blockchain, as well as all the blockchains discussed in the previous chapters, are public permissionless blockchains. Any restrictions on reading or creating transaction permissions will produce 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 Chapter 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 rights and functions. Although individual nodes may differ in terms of the resources they contribute, all nodes in the system have the same functions and responsibilities. However, the four types of blockchains described above 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 of the important characteristics of peer-to-peer systems.

Distributed nature

In Chapter 2, we learned about distributed systems and their characteristics. The absence of any type of central control or coordinating authority is often considered a major feature of distributed systems. However, the emergence of the four different types of blockchains described above 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 will conflict with the distributed characteristics of blockchain.

The architecture shown illustrates 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 controlling authority, or the system becomes a centralized system composed of nodes with limited permissions, but internally uses a distributed organizational method. In either case, the entire system resembles a hybrid system composed of both distributed and centralized elements.

Use cases

In Chapter 4, we learned that the core issue blockchain addresses 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 properties of distributed peer-to-peer systems but also alters the trustworthiness of the nodes. If the trustworthiness of nodes that can write data to the blockchain is assessed, then ultimately the system may not include nodes of unknown trustworthiness. Therefore, it can be concluded that such a system no longer requires the ability of blockchain to create trust in an untrustworthy environment.

For the following reasons, blockchain can create value even in a system composed of known quantities of nodes with generally known reliability and trustworthiness. First, due to technical failures, the number of nodes in such systems may vary. Second, every distributed system faces network issues that can make individual message-level communication unreliable. Finally, even through adaptation processes, there is no guarantee that nodes will be 100% trustworthy. Additionally, due to technical failures, even trustworthy nodes may produce erroneous results.

Revisiting the use of blockchain

Due to the restrictions on reading and writing permissions for nodes, 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 of blockchain evolution.

● Usage rights.

● Privacy.

● Consensus.

● Transactions.

● Data storage.

● Data structures.

Usage rights

The restrictions on reading and writing permissions for blockchain can give rise to demand 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 birth to open and closed blockchains.

These four types of blockchains can be seen as conceptual evolutions, as they change the main characteristics of blockchain, having different uses, distributed properties, and architectural methods.

Privacy

The openness of blockchain has always been a focal point of discussion, as this characteristic affects users' privacy needs in certain use cases. Private chains limit reading functions, and no one can gain control over transaction data through 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 statements (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 statements without reading all transaction details.

Consensus

Proof of work provides some basic metrics to select a historical record of transaction data and resolve conflicts between different historical versions. However, this computation-based approach 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 with ownership or transfer rights of goods. 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, thus affecting the trust created by blockchain.

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 necessary to achieve the transfer of ownership. This concept has facilitated the development of smart contracts and encouraged attempts to execute smart contracts via blockchain. Similar to transaction data, smart contracts describe the intentions of all parties involved using a machine-readable language. However, unlike simple transaction data, smart contracts are very flexible in how they operate to achieve ownership transfer for different objects, subjects, behaviors, 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 functionality by executing the code within the contract. This extension transforms the blockchain from a distributed system that merely 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 just using it to store data. When discussing smart contracts, we need to be aware 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 use very broad: such as for regular rent payments, loans, repayments, and paying insurance claims 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 Chapter 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 often used in scenarios with smart contracts, where the entire system contains various random information, such as account balances, insurance contracts, or data representing objects in the physical world. 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 linear sequence 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 is to enable the nodes of the distributed system to select a branch 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 blockchain data structure. Using this directed acyclic graph to store historical transaction records has profound implications for the performance of blockchain, ownership attribution, and the way nodes reach consensus.

Main directions for the development of blockchain

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 encoded trust in software systems is a significant achievement. Moreover, being able to replace a large number of intermediaries and enable secure direct interactions between nodes is indeed a tremendous accomplishment. Therefore, disintermediation is a characteristic 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 peers. 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 widely, the transactions and interactions between relevant parties will need to become more 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 will significantly enhance processing speed. Therefore, we can expect blockchain to be used more and more, while interactions between transaction parties will also become more frequent and efficient. Finding ways to improve the 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 cost reductions. 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 understanding 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 in multiple industries but also bring goods that were previously unaffordable for consumers into homes. Do you remember how expensive a computer or a mobile phone was 30 years ago? Now, mobile phones are often given away for free in store 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 decrease significantly. This is a long-term necessity for industries that need to initiate transactions, execute transactions, and settle 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 fact, blockchain has gained attention across various industries. More and more people are beginning to focus on blockchain technology and trying to understand its applications in real life. This is crucial because the key to success and social wealth in many industries lies in overcoming technical 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.

● Reintermediation.

Lack of privacy

Public chains do not hide transaction data; anyone can read historical transaction data. This is a terrifying situation for those who want 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 be 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 intermediaries may lose some of their 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 do not proceed smoothly, fulfilling their obligations. When trust in human organizations shifts to trust in protocols and technology, users can no longer hold anyone accountable when issues arise, are executed, or fail to execute.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.