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

区块链最终一致性是指,区块链最终一致性是什么

发布时间:2023-12-06-06:01:00 来源:网络 区块链知识 区块   一致性

区块链最终一致性是指,区块链最终一致性是什么


请查看相关英文文档

1. 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 adopts the method of entrusted pledge, which is similar to the method of selecting N super nodes through universal election of representatives.Click Accounting to create a block.

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 The node is determined by the view number and the set of node numbers, 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 initiates a message request (request) and broadcast it to each replica node (Replica). One of the master nodes (Leader) initiates a proposal message pre-prepare and broadcasts it. 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 content of the above PRE-PREPARE message, i is the current replica node 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 replica node's PREPARE message signature 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 something evil and does not broadcast the client's request, the client sets a timeout mechanism. If the timeout occurs, the request message is broadcast 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 to other nodes ​​message. 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, whereWhere L is the value we specify, which is equal to an integer multiple of the number K of requests processed in the checkpoint cycle. It 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

< p> 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 distributed logs and The security function of the algorithm is used to solve the distributed consensus problem.

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 end state. 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, it will save all committed entries, avoiding a log rollback event.

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 verySerious problems may result in data overwriting and 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.

2. What is the core technology of blockchain?

Simply put, blockchain is a distributed database that provides Byzantine fault tolerance and ensures ultimate consistency; from From the data structure point of view, it is a chained data block structure based on time series; from the node topology point of view, all its nodes are redundant backups of each other; from the operation point of view, it provides a public and private key management system based on cryptography. Manage Account.
Perhaps the above concept is too abstract, let me give you an example so that you can understand it easier.
You can imagine that there are 100 computers distributed around the world. The network between these 100 machines is a wide area network, and the owners of these 100 machines do not trust each other.
So, what kind of algorithm (consensus mechanism) do we use to provide it with a trustworthy environment and make:
The data exchange process between nodes cannot be tampered with, and the generated historical records It cannot be tampered with;
The data of each node will be synchronized to the latest data, and the validity of the latest data will be verified;
Based on the principle of the minority obeying the majority, the data maintained by the overall node can objectively reflect the exchange history.
Blockchain is a technical solution created to solve the above problems.
2. The core technology components of blockchain
Whether it is a public chain or a consortium chain, it requires at least four modules: P2P network protocol, distributed consistency algorithm (consensus mechanism), encryption signature algorithm, Account and storage model.
1. P2P network protocol
P2P network protocol is the lowest module of all blockchains and is responsible for network transmission and broadcast of transaction data, node discovery and maintenance.
Usually what we use is the Bitcoin P2P network protocol module, which follows certain interaction principles. For example: when connecting to other nodes for the first time, you will be required to confirm the status according to the handshake protocol. After the handshake, you will start to request the address data and block data of the Peer node.
This set of P2P interaction protocols also has its own set of instructions, which are reflected in the command (com) of the message header (Message Header).mand) domain, these commands provide the upper layer with functions such as node discovery, node acquisition, block header acquisition, and block acquisition. These functions are very low-level and very basic functions. If you want to learn more, you can refer to the Peer Discovery chapter in the Bitcoin Developer Guide.
2. Distributed consensus algorithm
In the field of classic distributed computing, we have non-Byzantine fault-tolerant algorithms represented by the Raft and Paxos algorithm families, as well as the PBFT consensus algorithm with Byzantine fault-tolerant characteristics.
If we look at it from the perspective of technological evolution, we can draw a picture in which blockchain technology has expanded the original distributed algorithm economically.
In the picture, we can see that computer applications were mostly single-point applications at the beginning, and cold disaster recovery was used for high availability and convenience. Later, they developed into multi-active in different places. These multi-active in different places may use load balancing. and routing technology. With the development of distributed system technology, we have transitioned to distributed systems based on Paxos and Raft.
In the field of blockchain, PoW workload proof algorithm, PoS equity proof algorithm, and DPoS proxy equity proof algorithm are mostly used. The above three are the mainstream consensus algorithms in the industry. These algorithms are similar to the classic distributed consensus algorithm. The difference is that they incorporate the concept of economic games. Below I will briefly introduce these three consensus algorithms respectively.
PoW: Usually refers to solving a mathematical problem of specific difficulty under given constraints. Whoever solves it faster can obtain the accounting rights (block production rights). This solution process is often converted into a calculation problem, so when competing for speed, it becomes who has a better calculation method and whose equipment has better performance.
PoS: This is a proof-of-stake mechanism. Its basic concept is that the difficulty of generating a block should be proportional to your stake (ownership ratio) in the network. The core idea of ​​its implementation is: Use the coin age (CoinAge) of your locked tokens and a small proof of work to calculate a target value. When the target value is met, you will be able to obtain accounting rights.
DPoS: A simple understanding is to convert the bookkeepers in the PoS consensus algorithm into a small circle composed of a specified number of nodes, instead of everyone can participate in bookkeeping. This circle may have 21 nodes or 101 nodes, depending on the design. Only nodes in this circle can obtain accounting rights. This will greatly improve the throughput of the system, because fewer nodes means that the network and nodes are controllable.
3. Encrypted signature algorithm
In the field of blockchain, the most commonly used hash algorithm is the hash algorithm. The hash algorithm has the characteristics of collision resistance, irreversibility of the original image, and problem friendliness.
Among them, problem friendliness is the basis for the existence of many PoW currencies. In Bitcoin, SHAThe 256 algorithm is used as the calculation method for proof of work, which is what we call the mining algorithm.
In Litecoin, we will also see the Scrypt algorithm, which is different from SHA256 in that it requires large memory support. In some other currencies, we can also see mining algorithms based on the SHA3 algorithm. Ethereum uses an improved version of the Dagger-Hashimoto algorithm, named Ethash, which is an IO-intractable algorithm.
Of course, in addition to the mining algorithm, we will also use the RIPEMD160 algorithm, which is mainly used to generate addresses. Most of the numerous Bitcoin derivative codes adopt the Bitcoin address design.
In addition to addresses, we will also use the core and the cornerstone of the blockchain Token system: public and private key cryptographic algorithms.
In the Bitcoin code, ECDSA is basically used. ECDSA is a combination of ECC and DSA. The entire signature process is similar to DSA. The difference is that the algorithm used in the signature is ECC (Elliptic Curve Function).
Technically, we start by generating a private key, then generate a public key from the private key, and finally generate an address from the public key. Each of the above steps is an irreversible process, which means that the public key cannot be derived from the address. , derived from the public key to the private key.
4. Account and transaction model
From the initial definition, we know that blockchain can be considered a distributed database from a technical perspective only. So, what type of database do most blockchains use? What about the database?
When I designed the Metaverse blockchain, I referred to a variety of databases, including NoSQL’s BerkeleyDB and LevelDB, and some currencies use SQL-based SQLite. As the underlying storage facilities, most of them are lightweight embedded databases. Since they do not involve the ledger characteristics of the blockchain, these storage technologies are no different from those used in other situations.
The ledger characteristics of blockchain are usually divided into UTXO structure and ledger structure based on Accout-Balance structure, which we also call the ledger model. UTXO is the abbreviation of "unspent transaction input/output", which translated means "unspent transaction input/output".
This is an accounting mode for Token transfer in the blockchain. Each transfer appears in the form of input and output; in the Balance structure, there is no such mode.

3. Consensus mechanism of blockchain

1. How to confirm and reach consensus on transaction information on the network?

Although the consensus mechanism is often mentioned, the meaning and understanding of the consensus mechanism are not clear. thereforeIt is necessary to understand the relevant concepts, principles and implementation methods of the consensus mechanism.

The transaction information of the blockchain is transmitted to each node in the network through network broadcast. How to confirm the broadcast information and reach a consensus among the entire network nodes and finally write it into the block? If there is no corresponding reliable and secure implementation mechanism, it will be difficult to realize its basic functions. Therefore, the consensus mechanism is a key to the operation of the entire network.

The consensus mechanism solves the problem of how the blockchain can achieve consistency in a distributed scenario. The blockchain can reach a relatively balanced state among many nodes because of the consensus mechanism. So how does the consensus mechanism solve the problem of mutual trust between nodes based on the idea of ​​decentralization?

When the idea of ​​distribution was proposed, people began to design consensus algorithms based on the FLP theorem and the CAP theorem. Standardly speaking, the consistency of an ideal distributed system should meet the following three points:

1. Termination: The consistency result can be completed within a limited time.

2. Consensus: The final decision-making results of different nodes should be the same.

3. Validity: The result of the decision must be a proposal put forward by other processes.

However, in actual computer clusters, the following problems may exist:

1. Nodes have different transaction processing capabilities, and the data throughput of network nodes is different

2. The communication channel between nodes may be unsafe

3. There may be malicious nodes

4. When asynchronous processing capabilities reach a high degree of consistency, The scalability of the system will become worse (cannot tolerate the addition of new nodes).

Scientists believe that it is impossible to achieve complete consistency in a distributed scenario. However, engineers can sacrifice part of the cost in exchange for the consistency of distributed scenarios. The above two major theorems also have this idea. Therefore, various formula mechanisms based on blockchain design can be regarded as sacrificing part of the cost in exchange for more adaptability. My idea is to make a flexible transformation on this idea, that is, sacrificing part of the cost at the appropriate time and space in exchange for consistency adapted to the scene at that time, and a flexible blockchain system can be realized that is pluggable. Pull-out blockchain system. Today I will introduce my views and analysis on various consensus mechanisms. Distributed systems with or without malicious nodes are divided into Byzantine fault-tolerant and non-Byzantine fault-tolerant mechanisms.

The FLP theorem is the impossibility of FLP. It proves that in a distributed scenario, no matter howRegardless of the algorithm, even if only one process dies, there is a possibility that other non-failed processes cannot reach agreement.

FLP is based on the following assumptions:

Can only be modified once: Each process initially records a value (0 or 1). The process can receive messages, change the value, and send messages. When the process enters the decide state, the value will no longer change. The protocol ends successfully when all non-failed processes enter the decided state. This is relaxed to the extent that some processes enter the decided state, even if the agreement is successful.

Asynchronous communication: The biggest difference from synchronous communication is that there is no clock, no time synchronization, no timeout, no detection failure, messages can be delayed arbitrarily, and messages can be out of order.

Communication is robust: As long as the process does not fail, the message will be delayed indefinitely, but will eventually be delivered; and the message will only be delivered once (no duplication).

Fail-Stop model: A process failure is like a downtime and no more messages are processed.

Number of failed processes: At most one process fails.

CAP is the most discussed theory in distributed systems, especially in the field of distributed storage. CAP was proposed by Eric Brewer at the PODC meeting in 2000. It was a result of Eric Brewer's research on data consistency (consistency), service availability (availability), and partition fault tolerance (partition- tolerance) conjecture:

Data consistency (consistency): If the system returns success for a write operation, then subsequent read requests must read the new data; if the system returns failure, then all read operations No one can read this data. For the caller, the data has strong consistency (also called atomic and linearizable consistency) [5]

Service availability (availability) : All read and write requests are responded to within a certain period of time, can be terminated, and will not wait forever

Partition-tolerance (partition-tolerance): In the case of network partitions, the separated nodes can still function normally External services

If the AP is satisfied at a certain moment, the separated nodes can provide external services at the same time but cannot communicate with each other, which will result in a statusThe state is inconsistent, that is, C cannot be satisfied; if CP is satisfied, C cannot be achieved in the case of network partition, and the request can only wait forever, that is, A is not satisfied; if CA is to be satisfied, the node status must be consistent within a certain period of time, and the request cannot occur. If the network is partitioned, P cannot be satisfied.

C, A, and P can only satisfy at most two of them. Like the FLP theorem, the CAP theorem also indicates an unreachable result (impossibility result).

4. What is the consensus mechanism of the blockchain?

How to achieve consensus in a decentralized network? In the blockchain system, there is no centralized accounting institution like a bank. It is crucial to ensure the consistency of each transaction on all accounting nodes, that is, to achieve consensus across the entire network. The consensus mechanism solves this problem. At present, the main consensus mechanisms include the proof-of-work mechanism PoW and the proof-of-stake mechanism PoS. PoW determines your probability of obtaining accounting rights by evaluating your workload. The greater the workload, the more likely you are to obtain this accounting opportunity. PoS determines your probability of obtaining accounting rights by evaluating the number and length of time you hold tokens. This is similar to the dividend system of stocks. People who hold relatively large shares can receive more dividends. The principle of DPOS is similar to that of POS, except that some "people's congress representatives" are selected. The main difference from PoS is that nodes elect several agents, who verify and keep accounts. With the development of technology, more advanced consensus mechanisms may be born in the future.

5. What are the characteristics of blockchain?

According to reports, blockchain has the advantages of decentralization, trustlessness, and non-tamperability.

Compared to the Internet, the blockchain network conceived by Cosmos also realizes asset value transfer while exchanging information. Through the IBC cross-chain protocol, cross-chain transfer of tokens can be achieved between blockchains developed by Tendermint Core of Cosmos. For public chains generated based on the PoW consensus mechanism such as Ethereum, Pegged Zone can be used to bridge .

Article source: Bit 110 Network

6. What kind of problems can blockchain technology solve?

What kind of problems can blockchain technology solve?

Blockchain technology can solve the trust problem at a relatively lower cost, which plays an important role in the current emphasis on reducing the burden of the real economy and reducing transaction costs, and has great social value. At the same time, there is still a need for continuous exploration of the blockchain technology itself. It is believed that independent controllable intellectual property rights and patents can be integrated with this technology in the future.
In the future, Jinwowo will focus on promoting the legal circulation and commercial application of big data using blockchain technology.

What kind of problems can blockchain technology solve?

Jinwowo analyzes the problems that blockchain technology can solve as follows:
BlockchainThe most important thing is to solve the intermediary credit problem. In the past, it was difficult for two people who did not know and trust each other to achieve collaboration, and they had to rely on a third party.
For example, in payment behavior, any kind of transfer in the past required the existence of an institution such as a bank or Alipay.
However, through blockchain technology, it is the first time that humans have achieved a transfer behavior that both parties can trust without the participation of any intermediary agency. This is a major breakthrough for blockchain.

What kind of problems can Jinwowo blockchain technology solve?

Analysis by Chongqing Jinwowo: The most important thing about blockchain is that it solves the problem of intermediary credit.
In the past, it was difficult for two people who did not know and trust each other to achieve collaboration, and they had to rely on a third party.

What kind of problems can the application of Jinwowo blockchain technology solve?

Chongqing Jinwowo analyzes the problems solved by the application of blockchain technology as follows:
The most important thing about blockchain is that it solves the problem of intermediary credit. In the past, two people who did not know and trust each other had to reach an agreement. Collaboration is difficult and requires a third party.
Through blockchain technology, it is possible to complete behaviors in which both parties can trust each other without the participation of any intermediary agency. This is the problem solved by disintermediation (decentralization) in blockchain technology.

What problems does the emergence of blockchain technology solve?

Blockchain solves the problem of trust, which is the root of all problems.
WaykiChain is a smart contract platform that supports Turing completeness. WaykiChain adopts the dpos consensus mechanism, with a total of 11 voting nodes, which generate a new block every 10 seconds. Through smart contracts, WaykiChain can realize rich application scenarios such as asset issuance, betting applications, copyright traceability, mutual insurance, decentralized exchanges, and cross-border settlement.
But the most important thing in these scenarios is trust and openness and transparency.

What problems can blockchain technology solve?

Based on mechanisms such as distributed accounting, collective contracts and intelligent consensus, blockchain technology presents information processing characteristics such as decentralization, open sharing, authenticity and reliability, which has triggered increasing attention and attention in the financial field, especially in the Internet financial field. Research applications. There are many blockchain system development companies. Blockchain technology development companies like Renren Chain are relatively reliable. You can refer to blockchain solutions.
Point 1: First of all, you must understand the technical strength of the blockchain technology service provider you choose, including the underlying strength of the blockchain and the technical strength of the team; what successful cases have been developed. Ask for developed projects, and the other party will analyze previous successful cases.
Point 2: It depends on the other party’s existing underlying blockchain architecture and project development experience.
Point 3: You can ask your friends if they know anything about it and recommend it. I personally know that the Renren blockchain BaaS platform has good overall strength. It can quicklyQuickly build your own IT infrastructure and blockchain services. Of course there are others, choose the platform that suits your business. There are still issues that need attention that have not been mentioned, and I hope others can help add them~

What problems can blockchain technology solve in the copyright field?

The blockchain is similar to a "public ledger". Each block is a "ledger page". When people conduct transactions on the blockchain, the transaction data will be disclosed to every node in the blockchain, and It is recorded on the "ledger page", permanently stored, and cannot be tampered with. In view of the decentralization, openness and non-tampering characteristics of the blockchain, each work entered into the blockchain copyright registration system will generate a unique digital fingerprint that cannot be tampered with.
Users only need to pass the Xiaoxi Copyright Chain platform identity authentication authorization, and after successfully authenticating "I am me", submit the work to the Copyright Chain. After the background review is passed, the data will be generated and written into the blockchain to generate a certificate. To apply for a paper certificate from the Copyright Protection Center, you need to click "Copyright Certificate Application", then follow the steps to fill in the information, pay the fee, and wait for review... From this point of view, the blockchain + copyright model is really safe, time-saving, and effort-saving.
When it comes to legal protection, we have to mention "infringed" copyright as an intangible asset. If the creator lacks awareness of rights protection, the work may face infringement. Xiaoxi Copyright Chain does this relatively well in the industry. The reason why this platform has become the first smart rights protection platform based on blockchain in China is also inseparable from the support of the Chongqing Notary Office. The digital document storage technology based on the blockchain has been recognized by the notary office and can ensure that the content of the notarization application cannot be tampered with, providing help for the digitization, networking, and informatization of notary services. Notarization parties can submit "preservation evidence" for notarization online through the Xiaoxi platform, making the rights holder's ownership of the work more judicially effective, effectively facing infringement, and improving risk response capabilities.
Blockchain, a new credit evaluation system, provides new technical support for the service reform of notary offices. Xiaoxi Copyright Chain has moved part of the business of the Chongqing Notary Office onto the blockchain platform, which can be called an innovation of blockchain in the field of notarial certificate business. In the process of notarization, material review and verification is the most critical and important part. The process design of the "blockchain + notarization" background changes the previous steps that required manual verification in various departments. Notaries only need to review the materials provided by users online to quickly complete the review and verification work, which greatly improves work efficiency.

Can blockchain technology really solve the trust problem?

The distributed architecture and non-tampering characteristics of blockchain technology can help solve problems such as the authenticity of bills and opaque information. When parties need to verify whether a note has been tampered with or transferred, the blockchain can provide indisputable proof of consistency.
Digital currency also takes advantage of this feature of blockchain. Puyin is a tea-based digital currency developed based on blockchain technology.

The value of blockchain technology What kind of problems does the Internet solve?

Chongqing Jinwowo Analysis:
First, through its application in the field of digital currency, blockchain provides a solution for the flow of capital flow (or capital flow) information on the Internet.
Secondly, the blockchain solves the problem of confirmation of authority during the transaction process through encryption and reference to distributed ledgers.
Thirdly, the blockchain determines the exchange of digital assets through the technology of consensus mechanism.

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