为广大币圈朋友提供币圈基础入门专业知识!
当前位置首页 > 区块链知识> 正文

区块链共识算法欺骗案例分析,区块链共识算法原理及应用

发布时间:2023-12-06-06:31:00 来源:网络 区块链知识 区块   共识   算法

区块链共识算法欺骗案例分析,区块链共识算法原理及应用


请查看相关英文文档

⑴ In-depth understanding of the consensus mechanism and algorithm principles of the blockchain

The so-called "consensus mechanism" is to complete transactions in a very short time through the voting of special nodes Verification and confirmation; for a transaction, if several nodes with unrelated interests can reach a consensus, we can think that the entire network can also reach a consensus on it. To put it more simply, if a Chinese Weibo influencer, a virtual currency player in the United States, an African student and a European traveler do not know each other, but they all agree that you are a good person, then it can basically be concluded that You're not a bad person.

In order for the entire blockchain network node to maintain the same data and ensure the fairness of each participant, all participants in the entire system must have a unified agreement, which is what we have here The consensus algorithm to be used. All Bitcoin nodes follow unified protocol specifications. The protocol specification (consensus algorithm) consists of relevant consensus rules, which can be divided into two major cores: proof of work and the longest chain mechanism. The ultimate expression of all rules (consensus) is the longest chain of Bitcoin. The purpose of the consensus algorithm is to ensure that Bitcoin continues to operate on the longest chain, thereby ensuring the consistency and reliability of the entire accounting system.

Users in the blockchain do not need to consider the credit of the other party when conducting transactions, do not need to trust the other party, and do not need a trusted intermediary or central agency. They only need to follow the blockchain protocol. Realize the transaction. The premise for smooth transactions without the need for a trusted third-party intermediary is the consensus mechanism of the blockchain, that is, in a market environment of mutual understanding and trust, each node participating in the transaction considers its own interests and does not violate any regulations. Motives and behaviors of cheating, so each node will actively and consciously abide by the preset rules to judge the authenticity and reliability of each transaction, and write the record of passing inspection into the blockchain. The interests of each node are different, and logically there is no incentive for them to collude to deceive. This is especially obvious when some nodes in the network have public reputation. Blockchain technology uses a consensus algorithm based on mathematical principles to establish a "trust" network between nodes, and uses technical means to achieve an innovative credit network.

At present, the mainstream consensus algorithm mechanisms in the district industry include: workload proof mechanism, equity proof mechanism, share authorization proof mechanism and Pool verification pool.

The workload proof mechanism is the proof of workload, which is a requirement that must be met when generating a new transaction information (i.e. a new block) to be added to the blockchain. In a blockchain network built based on the proof-of-work mechanism, nodes compete for accounting rights by calculating the numerical solution of random hashing. The ability to obtain the correct numerical solution to generate blocks is a specific manifestation of the node's computing power. The proof-of-work mechanism has the advantage of being completely decentralized. In a blockchain with a proof-of-work mechanism as the consensus, nodes can enter and exit freely. EveryoneThe well-known Bitcoin network uses a proof-of-work mechanism to produce new currencies. However, since the application of the workload proof mechanism in the Bitcoin network has attracted most of the computing power of computers around the world, it is difficult for other blockchain applications that want to try to use this mechanism to obtain the same scale of computing power to maintain their own security. At the same time, mining based on the proof-of-work mechanism also causes a lot of waste of resources, and the period required to reach consensus is also long, so this mechanism is not suitable for commercial applications.

In 2012, a netizen with the pseudonym Sunny King launched Peercoin. This encrypted electronic currency uses a proof-of-work mechanism to issue new coins and a proof-of-stake mechanism to maintain network security. This is the role of the proof-of-stake mechanism in encrypted electronic currency. first application in . Rather than requiring the certifier to perform a certain amount of computational work, Proof of Stake simply requires the certifier to provide ownership of a certain amount of cryptocurrency. The way the proof-of-stake mechanism works is that when a new block is created, the miner needs to create a "coin rights" transaction, which sends a number of coins to the miners themselves according to a preset ratio. The proof-of-stake mechanism reduces the mining difficulty of nodes in equal proportions based on the proportion and time of tokens owned by each node based on the algorithm, thus speeding up the search for random numbers. This consensus mechanism can shorten the time required to reach consensus, but essentially still requires nodes in the network to perform mining operations. Therefore, the PoS mechanism does not fundamentally solve the problem that the PoW mechanism is difficult to apply in the commercial field.

The share authorization certification mechanism is a new consensus mechanism to ensure network security. While trying to solve the problems of the traditional PoW mechanism and PoS mechanism, it can also offset the negative effects of centralization by implementing technological democracy.

The share authorization certification mechanism is similar to board voting. This mechanism has a built-in real-time shareholder voting system, just like the system is convening a never-ending shareholders' meeting at any time, where all shareholders vote. determine company decisions. The decentralization of the blockchain established based on the DPoS mechanism relies on a certain number of representatives rather than all users. In such a blockchain, all nodes vote to elect a certain number of node representatives, who act on behalf of all nodes to confirm blocks and maintain the orderly operation of the system. At the same time, all nodes in the blockchain have the power to remove and appoint representatives at any time. If necessary, all nodes can vote to disqualify the current node representatives and re-elect new representatives to achieve real-time democracy.

The share authorization certification mechanism can greatly reduce the number of nodes participating in verification and accounting, thereby achieving second-level consensus verification. However, this consensus mechanism still cannot perfectly solve the application problems of blockchain in business, because this consensus mechanism cannot get rid of its dependence on tokens, and the existence of tokens is not required in many commercial applications.

The Pool verification pool is based on the traditional distributed oneEstablished using consistent technology and supplemented by a data verification mechanism, it is a consensus mechanism widely used in blockchains.

The Pool verification pool can work without relying on tokens. Based on mature distributed consensus algorithms (Pasox, Raft), it can achieve second-level consensus verification, which is more suitable for multi-party participation. Polycentric business model. However, the Pool verification pool also has some shortcomings. For example, the degree of distribution that the consensus mechanism can achieve is not as good as the PoW mechanism.

Here we mainly explain some algorithm principles of the blockchain workload proof mechanism and the Bitcoin network. How to prove your workload? I hope everyone can have a basic understanding of the consensus algorithm.

The main feature of the proof-of-work system is that the client has to do a certain amount of difficult work to get a result, and the verifier can easily use the results to check whether the client has done the corresponding work. A core feature of this scheme is asymmetry: the work is modest for the requester and easy to verify for the verifier. It differs from CAPTCHAs, which are easier to solve by humans rather than easier to solve by computers.

The figure below shows the workload proof process.

For example, give a basic character "hello, world!", the workload requirement we give is that you can add a nonce (random number) after this character creation Integer value, perform SHA-256 operation on the changed (nonce added) character creation, if the result (expressed in hexadecimal form) starts with "0000", the verification is passed. In order to achieve this proof-of-work goal, it is necessary to continuously increment the nonce value and perform a SHA-256 hash operation on the resulting character creation. According to this rule, it takes 4251 operations to find the hash with leading 4 zeros.

Through this example, we have a preliminary understanding of the proof-of-work mechanism. Some people may think that if proof of work is just such a process, then it is enough to remember that the nonce is 4521 so that the calculation can pass verification. Of course not, this is just an example.

Next we simply change the input to "Hello, World! + integer value". The integer value ranges from 1 to 1000, which means that the input is turned into an array of 1 to 1000: Hello, World !1;Hello,World!2;...;Hello,World!1000. Then perform the above proof of work on each input in the array in turn - find the hash with leading 4 zeros.

Since the hash valueThe characteristics of pseudo-randomness can be easily calculated based on the relevant knowledge of probability theory. It is expected that it will take 2 to the 16th power of attempts to obtain a hash with four leading zeros. If you count the actual results of the 1,000 calculations just performed, you will find that the average number of calculations is 66,958, which is very close to 2 to the 16th power (65,536). In this example, the number of calculations expected by mathematics is actually the required "workload". Repeating the workload proof multiple times will be a probability event that conforms to statistical laws.

The actual number of calculations used to count the input characters and obtain the corresponding target result is as follows:

For any node in the Bitcoin network, if you want to generate a new block To join the blockchain, you must solve this puzzle of the Bitcoin network. The key elements of this question are the proof-of-work function, block and difficulty value. The workload proof function is the calculation method of this question, the block is the input data of this question, and the difficulty value determines the amount of calculation required to understand this question.

The proof-of-work function used in the Bitcoin network is the SHA-256 mentioned above. Blocks are actually generated in the proof-of-work process. Kuangong constantly constructs block data and checks whether each calculated result meets the required workload, thereby determining whether the block meets the network difficulty. The block header is the input data of the Bitcoin proof-of-work function.

The difficulty value is an important reference indicator for miners to mine. It determines how many hash operations it takes for miners to generate a legal block. The Bitcoin network generates a block approximately every 10 minutes. If the generation of new blocks basically maintains this speed under different network computing power conditions, the difficulty value must be adjusted according to changes in the computing power of the entire network. The general principle is to ensure that the network always generates a new block in 10 minutes, regardless of the mining power.

The adjustment of the difficulty value occurs independently and automatically in each complete node. Every 2016 blocks, all nodes will automatically adjust the difficulty value according to a unified format. This formula is based on the time spent in the latest 2016 blocks and the expected time (assuming a withdrawal is generated every 10 minutes, the expected time is 20160 minutes) and adjusted according to the ratio of actual duration to expected duration. That is, if blocks are generated faster than 10 minutes, increase the difficulty value; anyway, decrease the difficulty value. The formula is expressed as follows:

New difficulty value = old difficulty value * (20160 minutes/time spent in the past 2016 blocks).

Proof of work requires a target value. The calculation formula of the target value (Target) of Bitcoin's proof of work is as follows:

Target value = maximum target value/difficulty value, where the maximum target value is oneConstant value

The size of the target value is inversely proportional to the difficulty value. The achievement of Bitcoin's workload proof is that the block hash value calculated in the mine must be less than the target value.

We can also simply understand the process of Bitcoin workload as performing SHA-256 hash operation by constantly changing the block header (that is, trying different nonce values) and using it as input. Find a process that has a hash value in a specific format (that is, requires a certain number of leading 0s), and the more leading 0s required, the more difficult it becomes.

The steps of Bitcoin’s proof-of-work puzzle can be roughly summarized as follows:

The process can be represented by the following figure:

Bitcoin’s proof of work is the main work we commonly call “mining”. Understanding the workload proof mechanism will lay the foundation for us to further understand the consensus mechanism of the Bitcoin blockchain.

⑵ Blockchain has become a new pyramid scheme, what exactly is blockchain?

Blockchain is the core supporting technology of digital cryptocurrency systems represented by Bitcoin. The core advantage of blockchain technology is decentralization. By using data encryption, timestamps, distributed consensus and economic incentives, peer-to-peer transactions, coordination and cooperation based on decentralized credit can be achieved in distributed systems without the need for mutual trust. With the rapid development and popularity of Bitcoin in recent years, this research has become a reality. However, the development of new things must be tortuous, and blockchain has become a new pyramid scheme for people.

The third is programmable: Blockchain technology can provide a flexible script code system, which supports users to create advanced smart contracts, currencies or other decentralized applications. For example, the Ethereum platform provides users with a Turing-complete scripting language to build any smart contract or transaction type that can be precisely defined. Ultimately, it is safe and reliable: blockchain technology uses asymmetric encryption principles to encrypt data. At the same time, with the powerful computing power formed by the consensus algorithm, it can resist external attacks and ensure that blockchain data will not be tampered with or forged. , so it has high security

⑶ A brief analysis of the application of blockchain technology

A brief analysis of the application of blockchain technology
For the recently popular blocks Chain technology, I believe many people do not understand its applicable scenarios. Although theoretically any industry related to digital networks can be applied, from the perspective of implementation costs, the following industries are more suitable for blockchain technology.
Since the essence of the blockchain is a distributed accounting ledger, digital currencies represented by Bitcoin and Ethereum are also a very simple and safe settlement method. The most important thing in the financial field is the accounting and liquidation process, which can be greatly improved through blockchain technology.Efficiency of traditional banks and the financial industry.
However, all of the above are the basic functions of blockchain, and there is still a lot of room for improvement. Currently, there is no mature blockchain financial project in the world. We still have a long way to go. Way to go.

When it comes to the application of blockchain, the first thing we think of is the banking and financial industries. Since the essence of blockchain is a distributed accounting system, it is most suitable for the financial industry. Digital currency based on blockchain can also be used in transactions, clearing and settlement, etc. The security and decentralization of blockchain are used to ensure the security of accounting. Currently, major countries are exploring this application.
In addition, many businesses of government agencies are also very suitable for the application of blockchain technology, such as the management of resident identity information, ownership records, product supervision, etc. Ensure the security and privacy of critical information through distributed immutable records. Many countries such as Ireland have included this development plan as a short-term goal, and it is also one of the more common areas of use of blockchain.
Financial field: The financial field is the field where blockchain has the most applications besides Bitcoin. After all, financial development also involves currency and digital currency. Especially in the past two years, the development of digital currencies has also driven the application of blockchain.
Regarding blockchain deception, when blockchain first emerged, it was questioned by many people and was called blockchain deception. Now the chief economists of various countries in the region have begun to quit studying blockchain, proving that blockchain is gradually being accepted by the public.
In addition, due to the emergence of Ethereum smart contracts, blockchain can also better assist resource sharing related industries, such as our common shared bicycles and other products. Another example is the medical field. We can also use blockchain technology to improve efficiency and safety, which will bring about a qualitative change in this industry.
I believe everyone has a preliminary understanding of the practical application of blockchain. Looking back at the ICO craze in China some time ago, a large number of unreliable projects such as dog chains forced speculation on the concept. Obviously, domestic investors There is not enough understanding of the blockchain application field, so stopping ICO not only regulates the industry, but also protects the investing public.

⑷ Let’s briefly talk about the major applications of blockchain and which ones are pitfalls

What can blockchain do? Blockchain, a great technology that accompanied the birth of Bitcoin, is currently being used in the financial field to significantly reduce transaction costs and improve efficiency, which is enough to excite Wall Street. However, this is just the tip of the iceberg. Its potential applications are very broad and will subvert every aspect of our lives in the future.

The Internet is an information network, with 0s and 1s flowing in it. Blockchain is a value network, and its role is to transmit value, unlike the Internet for data transmission.

Speaking of value transfer, there is a very simple scenario, such as payment, I have 100 yuan in my hand, and I want to transfer it to the group, I can do it through WeChat RedThe method of transferring money via package or WeChat requires the participation of a third party in this transaction process, while the transmission method of the blockchain is point-to-point transmission and does not require any intermediate node. This is very different from the blockchain and our existing architecture. A big difference.

When it comes to peer-to-peer payments, many people will think of Bitcoin, because most people know blockchain from Bitcoin. What is the difference between blockchain and Bitcoin?

Blockchain is the technology behind Bitcoin; blockchain is a basic technical architecture that designs and implements an autonomous system with multi-party participation through a specific data structure and consensus algorithm.

The specific data structure is actually the name blockchain itself, that is, its data is placed in data blocks one by one, and then these data blocks are connected and implemented using a chain. "Consensus algorithm" is a very important concept in blockchain. Without synchronic algorithm, there would be no meaning of blockchain.

Introduction to Bubi Blockchain

Bubi Blockchain has been focusing on the R&D and innovation of blockchain technology and products since its establishment, and has a number of core technologies. It has made substantial innovations in many aspects and formed a number of core technical achievements, such as: mathematically provable distributed consensus technology, fast large-scale ledger access technology, multi-chain general ledger technology that supports business expansion, and heterogeneous ledger technology. Construct interconnection technology between blockchains, etc. On April 25, "Gege Points" introduced the concept of blockchain into the points system, jointly opened it up with multiple parties, issued and redeemed points, and promoted the circulation of points. Each cooperative institution can jointly participate in transaction verification, ledger storage, and real-time settlement; the third-party payment platform of the enterprise points issuer makes the entry and exit of points more flexible. Bubi has developed its own basic blockchain service platform, which has been applied in equity, supply chain, points, credit and other fields. Bubi has been committed to building an open value circulation network with decentralized trust as the core, allowing digital assets to flow freely.

Having said that, let’s analyze the difference between blockchain and Bitcoin?

1. Essential difference. For the world, Bitcoin is a digital currency based on cryptography, while blockchain, as we just said, is a value transfer protocol. There is an essential difference between the two, because one is a digital currency. , one is a value transfer protocol.

2. Algorithm. Bitcoin's consensus algorithm is based on a working algorithm called proof of work, POW. There are many different consensus algorithms in the blockchain. It can use either the Bitcoin POW algorithm, the POS algorithm, or the DPS algorithm.

3. Transaction speed. Bitcoin is limited to a maximum of seven transactions per second. Please note that what is mentioned here is the maximum and not the average, because this is a very strict definition. For blockchain, in fact, the number of transactions per secondThe number can reach tens of thousands or more, so this is also a major difference between blockchain and Bitcoin. Because many people will be confused and say that the transaction speed of the blockchain is seven transactions per second. This is wrong. This is a limitation of Bitcoin. The blockchain can reach very high speeds based on its different consensus algorithms and linking methods. Transaction speed.

4. Link form. Bitcoin is a blockchain based on the Internet, which means we call it a public chain. The blockchain can be in the form of a public chain, a private chain, or a consortium chain.

5. Limitations. It is recommended that everyone not touch some digital currencies related to blockchain. What's the reason? Bitcoin is a digital currency. Although it has very good and different characteristics, it does not comply with financial supervision. In other words, these 21 million Bitcoins were issued without national authorization and without national credit as a multiple. was released below. The blockchain also has some limitations. Although it is just a protocol and a technology, it is still a new technology in its infancy.

To summarize, blockchain is a relatively low-level protocol and a technical infrastructure, on which there are various consensus algorithms. If the blockchain is 1, the consensus algorithm may be 10 to 20, but the applications based on it may be one thousand or two thousand, or more. In other words, Bitcoin is only one of many blockchain applications. A realization. Therefore, Bitcoin and blockchain cannot be equated. Bitcoin is only a very elementary implementation of blockchain.

What can blockchain do? Blockchain problem? In the bill market, digital bills based on blockchain technology can become a safer, smarter, and more convenient bill form. Point-to-point transactions realized with the help of blockchain can break the existing functions of bill intermediaries and realize the disintermediation of bill value transfer; the construction and data storage of digital bill systems do not require a central server, eliminating the need for the development of central applications and access systems. costs, reducing the maintenance and optimization costs of the system under the traditional model, and reducing the risks caused by system centralization; based on the non-tamperability of information on the blockchain, once the transaction is completed, there will be no default, thereby avoiding "one Behaviors such as "selling too many tickets" and out-of-synchronization of payment and endorsement effectively prevent risks in the bill market. The securities trading market is also an area where blockchain technology has great potential. The current traditional securities trading model has the shortcomings of long transaction processes, low transaction efficiency, and high comprehensive costs. In addition, there are strong intermediaries and regulatory agencies, and the rights of financial consumers are often not protected. Applying blockchain technology, buyers and sellers can be directly matched through smart contracts, and the efficiency of transaction execution can be greatly improved. Settlement and delivery can be automatically realized through a distributed digital registration system. Since the data entered into the block is irreversible and can be copied to each data block within a short period of time, the information entered into the blockchain actually has a publicity effect, so the occurrence of transactions and the ownership ofConfirm that there will be no dispute.

What can blockchain do? Blockchain problem? Although there is no mature underlying blockchain technology platform solution currently, technical problems such as capacity scalability, privacy protection, inability to settle on a net basis, and non-recourse after the fact also need to be solved, and large-scale application of blockchain Technology also requires redesigning IT architecture and reengineering business processes, but these are only technical issues. The real test of blockchain technology taking root and growing in the financial field is the ontology of regulatory agencies and financial institutions. Will the inherent "deregulation" and "decentralization" characteristics of blockchain make market entities have no motivation to drive technology? Innovation. However, since the blockchain is a technology based on mathematical algorithms, the establishment of a trust relationship between transaction parties does not require the use of intermediaries or authoritative centers at all, and the cost of establishing a trust relationship is almost zero (when the blockchain financial infrastructure and ancillary infrastructure are established (under the premise), and the blockchain code is open source and open, without geographical restrictions, and the network pattern is distributed and interconnected, laying a technical foundation for the establishment and development of inclusive finance and shared finance in the future, and creating material conditions for global financial integration and unification. From this point of view alone, blockchain technology will surely establish a core position in future financial development, and it will rely on and complement each other to win the future.

⑸ What is blockchain, what is consensus, and what is currency circle

Blockchain is an encrypted information transmission with distributed accounting and decentralization as its core. Distributed accounting means the right to exist that cannot be destroyed, and decentralization means the right to independent transmission that cannot be tampered with. The two together are defined by Qingquan as "indestructible."

However, the blockchain has weak links, and it is heavily dependent on the network for its existence. Not just on a delivery level, but also on a recording level. The core layer of the blockchain is the physical layer, which is parasitic on the Internet system. If one day the Internet around the world is forcibly suspended, then the independent system of the blockchain will also fall into a state of suspended animation.

However, this kind of suspended animation is not real death, but requires some kind of systematic key to activate. Is there such a systematic key now? some.

Consensus comes from cognition.

Anyone with a little common sense in economics knows one thing clearly: legal currency is worthless! In fact, from the beginning of the forced decoupling of the British pound from the metal standard to the collapse of the Bretton Woods system, the legal currency of any country in the world is de facto valueless. The so-called purchasing power of legal currency is guaranteed by administrative coercion, but this administrative coercion is often abused. Therefore, the Guanjin volume we once saw in textbooks is returning to the world's economic tide, starting from the US dollar. The practical significance of QDI quantitative easing to the "appropriate easing" of China's monetary policy is that the money printing machine is working overtime.


However, the money supply is related to the total social supply.If there is an offer, within the scope of the offer, the face value of the currency is still guaranteed. Once it breaks away from the offer, the currency needs a "reservoir." I once said that the concepts of the U.S. stock market and China's real estate market are the same in the economic sense. Of course, there are also those who dare not spend money.


Legal currency must be devalued. This concept involves more advanced economic knowledge, and even thirty chapters cannot be completed here. Depreciation within a certain range is beneficial to the development of human society, but this certain range is often abused. This comes from the weakness of legal currency itself - administrative coercion. But administrative coercion cannot defeat human nature.


Therefore, since the emergence of the blockchain, people with foresight have begun to try to defeat the depreciation of legal currency by assigning value to the blockchain. As a result, we have also seen that from that piece of pizza until now, we are still seeking to assign value to the blockchain.


Is this all the consensus is? no.

In the process of the development of blockchain technology, various algorithm differences have emerged, such as sharding, encryption, storage, running speed and network carriers, which are the coins we see now. This phenomenon is essentially a "split of consensus", but there is no way around it, because although BTC is the originator, it does not meet our needs for the blockchain in terms of value assignment. He is too slow, too old and too young to withstand the impact of legal currency. In the economic sense, BTC is now defined as a luxury product rather than a digital currency, because when studying the match between its value projection curve and the economic tide, it was found that it is surprisingly similar to luxury goods.

The currency circle is the bud formed by the mutual dissolution of blockchain development assignments and legal currency. In essence, the existence of the currency circle is the inevitable amplification of blockchain consensus. The currency circle is not the whole of the blockchain, it is just A flower for which we still expect fruit.

What is our ideal blockchain application?

When the utility of legal currency is unbalanced due to some kind of force majeure, we can use the independent system established by the blockchain for value exchange. But it is a pity that the utility of legal currency is not unbalanced, but this value exchange system has entered the economic cycle prematurely. The most notorious one is the dark web, and there is also the "money laundering" that haunts us all the time. This gives the currency The circle was shrouded in a layer of sadness.

It must be pointed out that even the above-mentioned value exchange is not the value exchange defined by Qingquan, but the consensus of the blockchain is used to act as a medium for legal currency interoperability. Blockchain The background color is far from this.

TrueA positive blockchain should be a useful supplement and adjustment in the normal legal currency economic cycle system, and should also be a replacement when the normal legal currency economic cycle system fails. Although we don’t want to think about it that much, I really don’t want to see the situation of carrying a big bag of banknotes in exchange for two pounds of potatoes.

However, is the current currency circle ready for this? not yet! The current currency circle only believes in the four-year cycle but has abandoned the original appearance of the blockchain. Some people even use these coins, these technologies, and these consensuses as tools of deception and fraud. This is the tragedy of the entire human society!

Talking about trading, there have been countless cases of getting rich in the currency circle, so much so that it has given Leecai the illusion that "maybe that person will be me". Playing with spot products, I can't stand the loneliness and it is slow to make money, and playing with contracts is even more difficult. Needless to say, it is the same as gambling. Anyone who has been trading in this circle for huge profits has never seen anyone not losing money.


#BTC[超话]# #欧易OKEx# #digital currency#

⑹ Blockchain smart contract payment is It’s not a scam

1. It’s a scam. Several well-known platforms some time ago, such as: Player’s Feast, Tron Chain, Jiuhuan, MDF, First Wave, etc., all started with the name “smart”. "Contract payment" and "decentralization" banners, but they all ended up collapsing or running away.
2. Blockchain is a new application model of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithms.
3. Blockchain is an important concept of Bitcoin. It is essentially a decentralized database. As the underlying technology of Bitcoin, it is a series of data blocks generated using cryptographic methods. Each data block contains information about a batch of Bitcoin network transactions, which is used to verify the validity of the information (anti-counterfeiting) and generate the next block.
The original English version of the Bitcoin white paper does not actually appear in the word blockchain, but uses chain of blocks. In the earliest Chinese translation of the Bitcoin white paper, chain of blocks was translated into blockchain. This is the earliest time when the Chinese word "blockchain" appeared.
The Cyberspace Administration of China issued the "Blockchain Information Service Management Regulations" on January 10, 2019, which will come into effect on February 15, 2019.
Extended information:
1. Core advantages
The core advantages of the blockchain architecture include:
1. Any node can create a transaction, and after a period of confirmation, it can be reasonably Confirm whether the transaction is valid, and the blockchain can effectively prevent problems between both parties.
2. The cost of trying to rewrite or modify transaction records is very high.
3. The blockchain implements two types of records: transactions) and blocks. Transactions are the actual data stored on the blockchain, while blocks are records confirming when and in what order certain transactions became part of the blockchain database. Transactions are created by participants using the system in the normal course (in the case of cryptocurrencies, a transaction is created by Bob sending tokens to Alice), while blocks are created by what we call Units of miners are responsible for creation.
2. Basic Features
1. Decentralization: Due to the use of distributed computing and storage, there is no centralized hardware or management organization. The rights and obligations of any node are equal. Data blocks in the system It is jointly maintained by nodes with maintenance functions in the entire system.
2. Openness: The system is open. In addition to the private information of the transaction parties being encrypted, the blockchain data is open to everyone. Anyone can query blockchain data and development related information through the public interface. application, so the entire system information is highly transparent.
3. Autonomy: The blockchain adopts consensus-based specifications and protocols (such as a set of open and transparent algorithms) to enable all nodes in the entire system to exchange data freely and securely in a trustless environment, making it easier for " The trust of "people" has been changed to the trust of machines, and any human intervention has no effect.
4. Information cannot be tampered with: Once the information is verified and added to the blockchain, it will be stored permanently. Unless more than 51% of the nodes in the system can be controlled at the same time, modifications to the database on a single node will be invalid. , so the data stability and reliability of the blockchain are extremely high.
5. Anonymity: Since the exchanges between nodes follow a fixed algorithm, the data interaction does not require trust (the program rules in the blockchain will judge whether the activity is valid by itself), so the counterparty does not need to disclose the identity of the transaction. This method allows the other party to trust themselves, which is very helpful for the accumulation of credit.

⑺ Several major blockchain consensus mechanisms and their advantages and disadvantages

First of all, no consensus mechanism is perfect. Each consensus mechanism has its advantages and disadvantages, and some The consensus mechanism is designed to solve some specific problems.
1.pow (Proof of Work) Proof of Work
One sentence introduction: The more you work, the more you receive.
Relying on machines to perform mathematical operations to obtain accounting rights, the resource consumption is higher than other consensus mechanisms and the supervision is weak. At the same time, each time a consensus is reached, the entire network needs to participate in the operation. The performance efficiency is relatively low, and fault tolerance is not allowed. 50% of the nodes in the entire network are faulty.
Advantages:
1) The algorithm is simple and easy to implement;
2) Nodes can reach consensus without exchanging additional information;
3) Destroying the system requires a huge cost ;
Disadvantages:
1) Waste of energy;
2) Block confirmation time is difficult to shorten;
3) The new blockchain mustYou must find a different hashing algorithm, otherwise you will face Bitcoin’s computing power attack;
4) It is easy to produce forks and you need to wait for multiple confirmations;
5) There is never finality and you need Checkpoint mechanism to compensate for finality;
2. POS Proof of Stake, Proof of Stake
In one sentence: the more you hold, the more you get.
The main idea is that the difficulty of obtaining node accounting rights is inversely proportional to the equity held by the node. Compared with PoW, the resource consumption caused by mathematical operations is reduced to a certain extent, and the performance has been improved accordingly, but it is still The method of obtaining accounting rights based on hash operation competition has weak supervision. The fault tolerance of this consensus mechanism is the same as PoW. It is an upgraded consensus mechanism of Pow. According to the proportion of tokens and time occupied by each node, the mining difficulty is reduced in an equal proportion, thereby speeding up the speed of finding random numbers
Advantages: shortened to a certain extent The time it takes to reach consensus; there is no longer a need to consume a lot of energy for mining.
Disadvantages: Mining is still required, which essentially does not solve the pain points of commercial applications; all confirmations are only probabilistic expressions, not deterministic things. In theory, there may be other attacks. For example, the DAO attack on Ethereum caused a hard fork of Ethereum, and the emergence of ETC as a result of the incident actually proved the failure of the hard fork.
The principle of DPOS is the same as that of POS, except that some "people's congress representatives" are selected.
The BitShares community first proposed the DPoS mechanism.
The main difference from PoS is that nodes elect several agents, who verify and keep accounts. Its compliance supervision, performance, resource consumption and fault tolerance are similar to PoS. Similar to board voting, currency holders vote for a certain number of nodes to perform verification and accounting on their behalf.
The working principle of DPoS is:
Decentralization means that each shareholder has influence according to the proportion of his shareholding, and the result of the vote of 51% shareholders will be irreversible and binding. The challenge is to achieve 51% approval in a timely and efficient manner. To achieve this goal, each shareholder may grant his or her voting rights to a representative. The top 100 representatives with the most votes take turns to generate blocks according to a set schedule. Each representative is assigned a time slot to produce blocks. All representatives will receive compensation equal to 10% of the transaction fees included in an average block. If an average block contains 100 shares as a transaction fee, a representative will receive 1 share as compensation.
Network delays may prevent some representatives from broadcasting their blocks in time, which will cause the blockchain to fork. However, this is unlikely to happen because representatives of the manufacturing block can have direct connections with representatives of the pre- and post-manufacturing blocks. The purpose of establishing this direct connection to the rep after you (and perhaps the rep after you) is to ensure that you get paid.
This mode can generate a new block every 30 seconds, andThe possibility of a blockchain fork under normal network conditions is extremely small, and even if it occurs, it can be resolved within a few minutes.
Become a representative:
To become a representative, you must register your public key on the network and then be assigned a 32-bit unique identifier. This identifier is then referenced in the "header" of each transaction data.
Authorization votes:
Each wallet has a parameter setting window in which the user can select one or more representatives and rank them. Once set up, every transaction a user makes will move votes from "Input Representatives" to "Output Representatives". Generally, users will not create transactions specifically for the purpose of voting because that will cost them a transaction fee. But in an emergency, some users may find it worthwhile to pay a fee to change their vote in a more positive way.
Keep representatives honest:
Each wallet will display a status indicator to let users know how their representatives are performing. If they miss too many blocks, the system will recommend the user to switch to a new representative. If any representative is found to have signed an invalid block, all standard wallets will require the election of a new representative before each wallet can conduct further transactions.
Resisting attacks:
In terms of resisting attacks, because the power rights obtained by the top 100 representatives are the same, each representative has an equal voting right. Therefore, power cannot be concentrated in a single representative by gaining more than 1% of the vote. Since there are only 100 representatives, it is conceivable that an attacker could perform a denial of service attack on each representative whose turn it is to produce a block in turn. Fortunately, the threat of this particular attack is easily mitigated due to the fact that each representative is identified by his public key rather than his IP address. This will make it more difficult to identify the target of a DDOS attack. The potential direct connection between representatives will make it more difficult to prevent them from producing blocks.
Advantages: Significantly reduces the number of nodes participating in verification and accounting, and can achieve second-level consensus verification.
Disadvantages: The entire consensus mechanism still relies on tokens, and many commercial applications do not require the existence of tokens.
3.PBFT: Practical Byzantine Fault Tolerance, Practical Byzantine Fault Tolerance
Introduction: It provides (n-1)/3 fault tolerance on the premise of ensuring liveness & safety.
In distributed computing, different computers try to reach a consensus through message exchange; but sometimes, the coordination computer (Coordinator/Commander) or member computer (Member/Lieutanent) on the system may exchange errors due to system errors. messages, affecting the final system consistency.
The Byzantine Generals Problem looks for possible solutions based on the number of faulty computers. This cannotFind an absolute answer, but it can only be used to verify the effectiveness of a mechanism.
The possible solution to the Byzantine problem is:
Consistency is possible in the case of N ≥ 3F + 1. Among them, N is the total number of computers, and F is the total number of problematic computers. After information is exchanged between computers, each computer lists all the information obtained and uses the majority of the results as a solution.
1) System operation can be separated from the existence of coins. Each node of the pbft algorithm consensus is composed of business participants or supervisors, and security and stability are guaranteed by business stakeholders.
2) The consensus delay is about 2 to 5 seconds, which basically meets the requirements of commercial real-time processing.
3) The consensus efficiency is high and can meet the needs of high-frequency transaction volume.
Disadvantages:
1) When 1/3 or more of the bookkeepers stop working, the system will not be able to provide services;
2) When 1/3 or more of the bookkeepers jointly commit evil , and when all other bookkeepers are divided into two network islands, malicious bookkeepers can cause the system to fork, but will leave cryptographic evidence
Let’s talk about two domestic ones~
4.dBFT: delegated BFT Authorized Byzantine Fault Tolerance Algorithm
Introduction: The dBFT mechanism adopted by Xiaoyi selects bookkeepers based on equity, and then the bookkeepers reach a consensus through the Byzantine Fault Tolerance algorithm.
This algorithm has made the following improvements based on PBFT:
Improved the request response mode of the C/S architecture into a peer-to-peer node mode suitable for P2P networks;
Modified the static consensus participating nodes Improved to a dynamic consensus participating node that can dynamically enter and exit;
A voting mechanism based on the proportion of equity held is designed for the generation of consensus participating nodes, and consensus participating nodes (accounting nodes) are determined through voting;
/>Introducing digital certificates into the blockchain solves the problem of authenticating the true identity of accounting nodes in voting.
Advantages:
1) Professional bookkeeper;
2) Can tolerate any type of errors;
3) Bookkeeping is completed by multiple people, each block All are final and will not fork;
4) The reliability of the algorithm has strict mathematical proof;
Disadvantages:
1) When 1/3 or more bookkeepers stop working Afterwards, the system will be unable to provide services;
2) When 1/3 or more of the bookkeepers jointly commit evil, and all other bookkeepers are divided into two network islands, the malicious bookkeeper can use The system bifurcates, but cryptographic evidence will be left;
In summary, the core point of the dBFT mechanism is to ensure the finality of the system to the greatest extent, so that the blockchain can be suitable for real financial applications Scenes.
5.POOL verification pool
Based on traditional distributed consistency technology,Plus data verification mechanism.
Advantages: It can work without tokens. Based on mature distributed consensus algorithms (Pasox, Raft), it can achieve second-level consensus verification.
Disadvantages: The degree of decentralization is not as good as bictoin; it is more suitable for a multi-center business model with multi-party participation.

⑻ Blockchain --- Consensus Algorithm

The PoW algorithm is a mechanism to prevent the abuse of distributed service resources and denial of service attacks. It requires nodes to perform complex operations that consume a moderate amount of time and resources, and the operation results can be quickly verified by other nodes, using time and energy as a guarantee to ensure that services and resources are used according to real needs.

The most basic technical principle in the PoW algorithm is the use of hashing algorithms. Assume that the hash value Hash(r) is found. If the original data is r (raw), the operation result is R (Result).

R = Hash(r)

The characteristic of the hash function Hash() is that for any input value r, the result R is obtained, and r cannot be deduced from R. When the input original data r changes by 1 bit, the resulting R value changes completely. In the Bitcoin PoW algorithm, the algorithm difficulty d and the random value n are introduced, and the following formula is obtained:

Rd = Hash(r+n)

This formula requires filling in the random In the case of value n, the first d bytes of the calculation result Rd must be 0. Due to the unknown nature of the hash function results, each miner has to do a lot of calculations to get the correct result. After the calculation result is broadcast to the entire network, other nodes only need to perform a hash operation to verify it. The PoW algorithm uses this method to make calculations consume resources, and verification only needs to be done once.

The PoS algorithm requires node verifiers to pledge a certain amount of funds to be eligible for mining and packaging, and the regional chain system uses a random method when selecting packaging nodes. When the node pledges The more funds there are, the greater the probability of being selected to package the block.

In POS mode, each coin generates 1 coin age every day. For example, if you hold 100 coins for a total of 30 days, then your coin age will be 3000 at this time. At this time, if you verify a POS block, your currency age will be cleared to 0, and the corresponding digital currency interest will be obtained from the block.

The process of a node producing blocks through the PoS algorithm is as follows: To become a block producing node, an ordinary node must first pledge its assets. When it is its turn to produce a block, it packages the block and then broadcasts it to the entire network. , other verification nodes will verify the legitimacy of the block.

The DPoS algorithm is similar to the PoS algorithm and also uses shares and equity pledges.

But the difference is that the DPoS algorithm uses a delegated pledge method, which is similar to the method of universal election of representatives to select N super nodes to record and produce blocks.

Voters cast their votes for a certain node. If a certain node is elected as an accounting node, then the accounting node can often use any method to reward its voters after obtaining the block reward.

These N accounting nodes will take turns to produce blocks, and the nodes will supervise each other. If they do evil, the pledge deposit will be deducted.

By trusting a small number of honest nodes, unnecessary steps in the block signing process can be removed, increasing the speed of transactions.

Byzantine problem:

Byzantium was the capital of the ancient Eastern Roman Empire. For defense, an army led by a single general was stationed in each fiefdom. Between the generals The message could only be delivered by messenger. In a war, all generals must reach a consensus and decide whether to go to war together.

However, there may be traitors within the army who will influence the generals to reach a consensus. The Byzantine Generals Problem refers to the problem of how the remaining generals can reach a unanimous decision when one of the generals is known to be a traitor.

BFT:

BFT is Byzantine fault tolerance. Byzantine fault tolerance technology is a type of fault tolerance technology in the field of distributed computing. The Byzantine hypothesis is a modeling of the real world, where computers and networks may behave unpredictably due to hardware errors, network congestion or outages, and malicious attacks. Byzantine fault tolerance techniques are designed to handle these abnormal behaviors and meet the specification requirements of the problem to be solved.

Byzantine fault-tolerant system:

The failed node is called a Byzantine node, and the normal node is a non-Byzantine node.

Assuming that the distributed system has n nodes, and assuming that the entire system has no more than m Byzantine nodes (n ≥ 3m + 1), the Byzantine fault-tolerant system needs to meet the following two conditions:

In addition, the Byzantine fault-tolerant system needs to achieve the following two indicators:

PBFT is the practical Byzantine fault-tolerant algorithm, which solves the problem of inefficiency of the original Byzantine fault-tolerant algorithm. The time complexity of the algorithm is O(n^2 ), so that Byzantine fault tolerance problems can be solved in actual system applications

PBFT is a state machine copy replication algorithm. All copies operate in the process of a view (view) rotation. The master node through viewThe graph number and node number set are determined, that is: main node p = v mod |R|. v: view number, |R| number of nodes, p: primary node number.

The consensus process of the PBFT algorithm is as follows: the client (Client) initiates a message request (request) and broadcasts it to each replica node (Replica), and one of the master nodes (Leader) initiates a proposal message pre -prepare and broadcast. Other nodes obtain the original message and send prepare messages after the verification is completed. Each node receives 2f+1 prepare messages, that is, it is considered ready and sends a commit message. When the node receives 2f+1 commit messages and the client receives f+1 identical reply messages, it means that the request initiated by the client has reached a network-wide consensus.

The specific process is as follows:

Client c sends a request to master node p. o: the specific operation of the request, t: the timestamp appended by the client during the request, c: client identifier. REQUEST: Contains message content m, and message digest d(m). The client signs the request.

When the master node receives the client's request, it needs to conduct the following verifications:

a. Whether the signature of the client's request message is correct.

Illegal requests are discarded. For a correct request, a number n is assigned. The number n is mainly used to sort the client's requests. Then broadcast a <, m> message to other replica nodes. v: view number, d client message summary, m message content. performs master node signature. n is [h, H] to be within a certain range. For specific reasons, please refer to the Garbage Collection chapter.

When replica node i receives the PRE-PREPARE message from the master node, the following verification is required:

a. Whether the signature of the master node's PRE-PREPARE message is correct.

b. Whether the current replica node has received a PRE-PREPARE message under the same v and also numbered n, but with different signatures.

c. Whether the abstracts of d and m are consistent.

d. Whether n is within the interval [h, H].

Illegal requests are discarded. Correct request, replica node i sends a message to other nodes including the master node, v, n, d, m is the same as the above PRE-PREPARE message content, i is the current replica nodeserial number. Sign the replica node i. Record PRE-PREPARE and PREPARE messages to the log, which are used to restore unfinished request operations during the View Change process.

When the master node and replica node receive the PREPARE message, they need to conduct the following verifications:

a. Whether the signature of the replica node's PREPARE message is correct.

b. Whether the current replica node has received n under the same view v.

c. Whether n is within the interval [h, H].

d. Whether d is the same as d in the currently received PRE-PPREPARE

Illegal request is discarded. If replica node i receives 2f+1 verified PREPARE messages, it sends a message to other nodes including the master node, where v, n, d, i is the same as the content of the above PREPARE message. same. performs the signature of replica node i. Record the COMMIT message to the log, which is used to restore the unfinished request operation during the View Change process. Record PREPARE messages sent by other replica nodes to the log.

When the master node and replica node receive the COMMIT message, they need to conduct the following verifications:

a. Whether the signature of the COMMIT message of the replica node is correct.

b. Whether the current replica node has received n under the same view v.

c. Whether the abstracts of d and m are consistent.

d. Whether n is within the interval [h, H].

Illegal requests are discarded. If replica node i receives 2f+1 verified COMMIT messages, it means that most nodes in the current network have reached a consensus, run the client's request operation o, and return For the client, r: is the result of the request operation. If the client receives f+1 identical REPLY messages, it means that the request initiated by the client has reached the consensus of the entire network. Otherwise, the client needs to determine whether to resend the request to the master node. Record COMMIT messages sent by other replica nodes to the log.

If the master node does evil, it may assign the same sequence number to different requests, or not allocate sequence numbers, or make adjacent sequence numbers discontinuous. The backup node should have the responsibility to actively check the validity of these sequence numbers.

If the master node goes offline or does evil and does not broadcast the client's request, the client sets a timeout mechanism.If so, broadcast the request message to all replica nodes. The replica node detects that the master node has done something evil or is offline, and initiates the View Change protocol.

View Change protocol:

The replica node broadcasts ​​messages to other nodes. n is the number of the latest stable checkpoint, C is the 2f+1 verified CheckPoint message set, and P is the PRE-PREPARE and PREPARE message set of outstanding requests by the current replica node.

When the master node p = v + 1 mod |R| receives 2f valid VIEW-CHANGE messages, it broadcasts messages to other nodes. V is a valid set of VIEW-CHANGE messages. O is the set of uncompleted PRE-PREPARE messages reinitiated by the master node. Selection rules for the PRE-PREPARE message set:

The replica node receives the NEW-VIEW message from the master node, verifies the validity, and if valid, enters the v+1 state and starts the PRE-PREPARE message in O processing flow.

In the above algorithm process, in order to ensure that the previous request can be restored during the View Change process, each replica node records some messages to the local log. When the request is executed The replica node needs to clear the record messages of the previous request.

The simplest way is to execute the consensus synchronization of the current state again after the Reply message. This is relatively expensive, so it can be executed after executing multiple requests K (for example: 100). A status synchronization. This status synchronization message is the CheckPoint message.

Replica node i sends to other nodes, n is the last view request number retained by the current node, d is a summary of the current status, and the CheckPoint message record to the log. If replica node i receives 2f+1 verified CheckPoint messages, the messages in the previous log are cleared and n is used as the current stable checkpoint.

This is an ideal situation. In fact, when the replica node i sends a CheckPoint message to other nodes, the other nodes have not completed K requests, so they will not respond to i's request immediately. It will also follow its own rhythm, moving forward, but the CheckPoint issued at this time does not form stable.

In order to prevent i from processing requests too quickly, set a high and low water level interval [h, H] mentioned above to solve this problem. The low water level h is equal to the number of the previous stable checkpoint, and the high water level H = h + L, where L is the value we specify, which is equal to an integer multiple of the number of requests processed in the checkpoint cycle K, and can be set to L = 2K. When the request processed by replica node i exceeds the high water mark H, it will stop and wait for the stable checkpoint to change before continuing.

In blockchain scenarios, it is generally suitable for private chain and alliance chain scenarios that require strong consistency. For example, in the IBM-led blockchain Hyperledger project, PBFT is an optional consensus protocol. In Hyperledger's Fabric project, the consensus module is designed as a pluggable module and supports consensus algorithms such as PBFT and Raft.

Raft is based on a leader-driven consensus model, in which an outstanding leader (Leader) will be elected, and the Leader will be fully responsible for managing the cluster. Responsible for managing replication logs between all nodes in the Raft cluster.

In the figure below, the Leader (S1) of the cluster will be selected during the startup process and serve all commands/requests from clients. All nodes in a Raft cluster maintain a distributed log (replicated log) to store and submit commands (log entries) issued by clients. The Leader accepts log entries from clients and replicates them among all followers (S2, S3, S4, S5) in the Raft cluster.

In a Raft cluster, a minimum number of nodes is required to provide the expected level of consensus guarantee, which is also called a quorum. The minimum number of votes required to perform an operation in a Raft cluster is (N / 2 +1), where N is the total number of members in the group, that is, at least more than half of the votes, which is why cluster nodes usually have an odd number of nodes. So, in the example above, we need at least 3 nodes to have consensus guarantees.

If the legal quorum node is unavailable for any reason, that is, the votes do not exceed half, the negotiation will not reach an agreement and new logs cannot be submitted.

Data storage: Tidb/TiKV

Log: Alibaba’s DLedger

Service discovery: Consul& etcd

Cluster scheduling: HashiCorp Nomad

Can only accommodate faulty nodes (CFT), not evil nodes

Sequential voting can only be applied serially, so the performance is poor in high concurrency scenarios

Raft manages the security of distributed logs and algorithms by solving the three main sub-issues surrounding Leader election. function to solve distributed consensus problems.

When we start a new Raft cluster or a leader is unavailable, a new leader will be elected through negotiation among all member nodes in the cluster. Therefore, in a given instance, a node of a Raft cluster can be in any of the following states: Follower, Candidate, or Leader.

When the system first starts, all nodes are followers. If they do not receive the heartbeat signal from the leader within a period of time, the follower will be converted into a candidate;

If a node If a Candidate node receives votes from the majority of nodes, the Candidate can be converted into a Leader, and the remaining Candidate nodes will return to the Follower state;

Once a Leader discovers that there is a Leader node in the system that is older than itself. If the term is higher, it will be converted to Follower.

Raft uses a heartbeat-based RPC mechanism to detect when a new election starts. During normal times, the Leader will regularly send heartbeat messages to all available Followers (in practice, the log and heartbeat may be sent together). Therefore, the other node starts in the Follower state and remains in the Follower state as long as it receives periodic heartbeats from the current Leader.

When the Follower reaches its timeout, it will start the election process in the following way:

Based on the responses that the Candidate receives from other nodes in the cluster, the three steps for the election can be derived result.

The implementation of consensus algorithms is generally based on replicated state machines. What is a replicated state machine:

In simple terms: the same initial recognition state + the same input = Same endingstate . Different nodes should use the same and deterministic function to process input, rather than introducing uncertain values, such as local time, etc. It is a good idea to use replicated log. Log has the characteristics of persistence and order preservation, and is the cornerstone of most distributed systems.

With the Leader, all concurrent requests from the client can form an orderly log (status) sequence on the Leader's side to represent the order in which these requests are processed. The Leader then sends its log sequence to the Followers to maintain the global consistency of the entire system. Note that this is not strong consistency, but eventual consistency.

The log consists of log entries with a sequential number (log index). Each log entry consists of the term when it was created, and the data contained in the log, which can be of any type, from simple types to blocks of the blockchain. Each log entry can be represented by a [term, index, data] sequence pair, where term represents the term, index represents the index number, and data represents the log data.

The Leader attempts to execute replication commands on a majority of the nodes in the cluster. If the replication is successful, the command is submitted to the cluster and the response is sent back to the client. Similar to two-phase commit (2PC), but the difference from 2PC is that the leader only needs the consent of more than half of the nodes (in a working state).

Both leader and follower may crash, so the log maintained by the follower may have the following situations compared with the leader

When the leader and follower are inconsistent, the leader forces the follower to copy its own log, the Leader will try from back to front. Each time AppendEntries fails, it will try the previous log entry (decrementing the nextIndex value) until it successfully finds the consistent position point of each Follower's log (based on the two guarantees mentioned above), and then moves backward one by one. Overrides the Followers entry after this position. So missing or extra entries may persist for multiple terms.

Requires the candidate's log to be at least as up-to-date as other nodes. If not, the follower node will not vote for the candidate.

Means that each submitted entry must exist in at least one of these servers. If a candidate's log is at least as up-to-date as the other logs in the majority log, it will save all committed entries, avoiding a log rollback event.born.

That is, at most one leader can be elected in any term. This is very important, there can only be one leader in a replica set at any time. There is more than one leader in the system at the same time, which is called brain split. This is a very serious problem and will cause data coverage loss. In raft, two points guarantee this property:

Therefore, there must be only one leader in a certain term.

When the status of nodes in the cluster changes (the cluster configuration changes), the system is vulnerable to system failure. So, to prevent this, Raft uses something called a two-phase approach to changing cluster membership. Therefore, in this approach, the cluster first changes to an intermediate state (called federated consensus) before implementing a new membership configuration. Federated consensus enables the system to be used to respond to client requests even when transitioning between configurations, and its main purpose is to improve the availability of distributed systems.

⑼ What loopholes are there in the ag blockchain?

I am not sure whether there are any loopholes in the ag blockchain. However, blockchain technology itself is not perfect and may have various security risks and vulnerabilities. The following are some loopholes that may exist in the ag blockchain: Nao Meotong 1. Contract loopholes: A contract is a form of code in the blockchain that can automatically execute transactions in the contract. If there are loopholes in the contract, hackers may exploit these loopholes to attack, resulting in the loss of large amounts of funds. 2. 51% attack detection: If some nodes or miners control more than 50% of the computing power, they can control the entire blockchain network and tamper with transaction records and historical data. 3. DOS attack: A distributed denial of service (DOS) attack is an attack method that paralyzes the network by sending a large number of requests to the network. In blockchain networks, DOS attacks may cause transactions to fail to be executed or the network to shut down. 4. Privacy issues: Although blockchain technology itself is anonymous, if the user's personal identity information or address information is exposed, all related transaction records will also be exposed. 5. Consensus algorithm loopholes: The consensus algorithm in the blockchain determines how to confirm transactions through consensus. If there is a vulnerability in the consensus algorithm, the entire blockchain network may be attacked.

博客主人唯心底涂
男,单身,无聊上班族,闲着没事喜欢研究股票,无时无刻分享股票入门基础知识,资深技术宅。
  • 36393 文章总数
  • 3637265访问次数
  • 3078建站天数