Blockchain Quick Start (v)--evolution of blockchain technology

Source: Internet
Author: User

Blockchain Quick Start (v)--evolution of blockchain technology and development of blockchain technology

Bitcoin blockchain is for transfer scenarios and supports simple script calculations. If you introduce more complex computational logic, you will be able to support more scenarios, smart contracts (smart contract). Smart contracts can provide more flexible contract functions in addition to currency trading functions, and perform more complex operations.
The introduction of the blockchain of the smart contract has surpassed the simple data recording function, can add the rights management to the blockchain, the Advanced programming language support and so on, and realizes the more powerful distributed ledger system which supports more commercial scenarios.
The three typical evolution scenarios for blockchain technology are as follows:

Ii. Classification of Blockchain technology

Depending on the participant, the blockchain can be divided into public (common) chains, federation (Consortium) chains, and private (individual) chains.
The public chain, that is, anyone can participate in the use and maintenance, the participants are more anonymous. Typically, the information is completely public, such as Bitcoin and Ethereum blockchain.
If you further introduce a licensing mechanism, you can implement two types of private chain and union chain.
Private chain, limited by the centralized management, only the internal minority can use, the information is not public, with the traditional centralized accounting system is not obvious differences.
The alliance chain is somewhere in between, where several organizations work together (such as a supply chain or a banking union) to maintain a blockchain that uses restricted access with access and that information is protected, typically such as a Super Ledger project. In the architecture, most of the existing blockchain in the implementation of at least include the network layer, consensus layer, intelligent contract and application layer, such as hierarchical structure, alliance chain implementation dealings will introduce additional rights management mechanism.
At present, the credibility of the public chain is the highest, but also easy to initiate discussion, but in the short term more applications will first fall on the alliance chain. The public chain is faced with more security challenges and risks because it faces anonymous public scenarios, and needs to be more scalable in order to support the scale of transactions on the Internet, and performance bottlenecks can be difficult to resolve in the short term.
For the relationship between trust and centrality, the higher the degree of non-centrality, the better the trust. With the increase of the number of nodes, the trust degree tends to increase rapidly, and the trust degree increases with the number of nodes, which will not be improved significantly. As the number of members increases, the cost of conspiracy to do evil will rise exponentially.
According to the different purposes and scenarios, can be divided into digital currency for the purpose of the currency chain, to record property rights for the purpose of the chain, to crowdfunding for the purpose of the crowdfunding chain, but also not limited to specific application scenarios of the so-called universal chain. Universal chain due to the different scenarios of the application characteristics, in the design need to consider more comprehensive.

Iii. evolution of the blockchain consensus algorithm 1, the development of the blockchain consensus algorithm

Blockchain common consensus algorithm includes Paxos, Raft, PBFT, POW, POS, Dpos and so on, but with the development of blockchain technology, different blockchain projects have developed many new consensus algorithms through the mutual fusion and improvement of the basic consensus algorithm in different application scenarios, such as DBFT, Bft-dpos, SBFT, VBFT, Tendermint and so on.
(1) dbft
DBFT (Delegated Byzantine Fault tolerant), or proxy Byzantine fault tolerant algorithm, is an improved blockchain consensus algorithm based on PBFT.
DBFT algorithm, participate in the bookkeeping is the Super node, the common node can see the consensus process, and synchronize the ledger information, but do not participate in accounting. A total of n super nodes are divided into a speaker and a n-1, and the speaker will be elected by turns. Each time the accounting, the first speaker of the block proposal (the proposed block content), once there is at least (2n+1)/3 Accounting node (speaker plus member) agreed to the proposal, then the proposal becomes the final release of The Block, and the block is irreversible, all the transactions inside are absolutely confirmed, the block will not fork.
In order to facilitate the application in the Blockchain open system, DBFT will improve the request response mode of the C/s (client/server) architecture in PBFT to the peer node mode suitable for peer-network, and improve the static consensus participation node as dynamic consensus participating node which can enter and exit dynamically. An open node environment that makes it suitable for blockchain.
Because of the expansion of the BFT algorithm, the DBFT algorithm is elected by the equity holder to elect the Agent bookkeeper, and the agent validates and generates the block, which greatly reduces the number of nodes in the consensus process, and solves the problem of the inherent expansion of the BFT algorithm.
Neo Project uses the dbft consensus algorithm, NEO consensus mechanism only set up 7 super nodes, in a weak-centric mode to achieve high consensus efficiency. Currently, the Super node is statically selected and deployed entirely by the project side.
The advantages of DBFT are as follows:
A, high efficiency.
Neo generates a block every 15-20 seconds, the transaction throughput can reach about 1000TPS, optimized performance up to 10000TPS;
B, good final sex.
Blocks are not forked to verify the identity of the participants, protect the network security, and enable the blockchain to be applied to real-world financial scenarios where the real-time requirements for transaction confirmations are high.
The disadvantages of DBFT are as follows:
A, the lower fault tolerance rate.
When there are 1/3 or more super nodes as rogue nodes or outages, the system will not be able to provide services.
B, the number of super nodes is too small, high degree of centrality.
(2) Bft-dpos
Bft-dpos (Byzantine Fault tolerance-delegated Proof of Stake), an algorithm of share authorization with Byzantine fault tolerance, is a consensus algorithm for EOS project to improve PBFT by introducing DPOS algorithm.
In the traditional dpos consensus mechanism, each trustee broadcasts new blocks to the whole network when the block is out, but even if the other trustee receives the current new block, it is not possible to confirm the new block, it is necessary to wait for its own block to confirm the previous block through the production block.
Under the Bft-dpos consensus mechanism, when each trustee is out of the block, the entire network is broadcast, and the other trustee receives the new block, immediately verifies the block, and returns the block that verified the signature to the trustee immediately, without waiting for the other trustees to confirm their own block. Therefore, the Block trustee produces a block, and the whole network broadcast, and then received the other trustees of this block confirmation, in the receipt of the 2/3 Trustee confirmed the moment, the block (including the transaction) is irreversible.
There are 21 super nodes in Eos, there are two main reasons: first, because the user is very difficult to fully understand the number of super nodes, so too many super nodes will reduce the activity of the user vote, and the second is that the number of nodes with a size of 20 can be used in the Byzantine problem with a lower cost of resources to obtain efficient consensus.
The main functions of the Super node are: to provide the relevant computing resources and network resources, to ensure the normal operation of the node; When a super node has a block, the Super node collects all the transactions during that period and packs the block broadcast to other super nodes after verifying the transaction, and the other super nodes add the chunks to their database. In Eos, each out-of-block interval is defined as 3 seconds, because in the current network environment a super node packs chunks and broadcasts them, and most other super nodes take up to 3 seconds to receive the chunk. Only the next Super node receives the block broadcast by the previous Super node, then the generation of the new chunk will not cause a chunk to be ignored for a super node. and a block to become irreversible chunks need more than two-thirds of the Super node to confirm, in the Dpos only the Super node generated a new block to confirm the previously received blockchain, so a block after the generation of its subsequent concatenation 14 (21 Super Node 2/ 3) block indicates that the block is an irreversible block, the transaction in the block is irreversible, and the entire confirmation process takes 45 seconds (including the chunk generation time from the Block node).
To uncover the performance of the EOS system, Daniel Larimer optimized the Bft-dpos Reduce the block speed from 3 seconds to 0.5 seconds, theoretically can greatly improve the system performance, but bring network latency problem: 0.5 seconds of confirmation time will lead to the next block of people have not received the block of the last chunk, to produce the next chunk, then the next block will ignore the previous block, resulting in blockchain fork (the same block height has two blocks).
In order to solve the network delay problem, Daniel Larimer the original random block order to be determined by the trustee after the order of the block, the network connection delay between the trustee can be adjacent to the block, greatly reducing the network delay between the trustee, so that 0.5 seconds of the block speed with a theoretical possibility.
To ensure that no trustee is skipped because of a network delay, Daniel Larimer allows each trustee to produce 6 blocks consecutively, that is, each witness is responsible for 3 seconds of block production, but from the original production of only 1 into production 6. In the worst case scenario, the last or two of the 6 blocks may be skipped by the next trustee due to network delays or other surprises, but the first few of the 6 blocks will have enough time to pass to the next trustee.
Bft-dpos Transaction Confirmation Time issue: Every block is produced immediately after the full webcast, the block producer waits 0.5 seconds to produce the next chunk, and receives the confirmation result from the other trustee for the previous block. The production of new district blocks and the acceptance of old block confirmation are carried out simultaneously. In most cases, transactions are confirmed (irreversible) within 1 seconds (including 0.5 seconds of block production and the time required for other trustees to confirm).
The EOS system states that once the block is in an irreversible state (2/3 of the trustee's confirmation), it cannot be forked before this, guaranteeing the perpetual credibility of the transaction. Even if most see the trustee want to fork blockchain, also can only at the same speed (0.5 seconds) and the main chain competition, even if the main chain only a trustee, fork chain will never catch up with the main chain, to ensure the stability of the system.
The blockchain pain points addressed by the EOS project are as follows:
A, low application performance?
Bitcoin and Ethereum are faced with low application performance bottlenecks. As volumes and applications grow, the problem of soaring network congestion and fees is becoming increasingly apparent. From the trading speed perspective, Bitcoin is 7 per second, Ethereum trading speed of 30-40 strokes per second, and EOS can reach millions of transactions per second, to meet the needs of business-level applications.
Based on graphene technology, EOS achieves millisecond confirmation speed and millions of TPS by means of a parallel chain.
B, poor security (dpos consensus algorithm)
EOS uses the DPOS algorithm, the bifurcation is not likely to occur. It solves the problem of the chain bifurcation of bitcoin and Ethereum, thus guaranteeing the security of the whole network operation. Because block producers produce chunks in a cooperative rather than competitive way. In the event of a chunk fork, the Dpos consensus will automatically switch to the longest chain. In addition, there is no case where block producers produce blocks at the same time on a two blockchain fork. If so, they may be voted out.
C, the development of high difficulty
Bitcoin can only be used as a money delivery, only to meet the function of the transaction; Ethereum implements smart contracts that break the monetary function of bitcoin and take a step towards the non-financial sector, but because of the complexity of its modules, it does not make it easy for developers to create the applications they want to create, and EOS handles additional complexity Provides developers with a user-friendly bottom-level module that supports multiple programming languages.
D. High handling fee
EOS provides users with a free service, compared to bitcoin and ethereum high transfer fees, the EOS public chain users do not have to pay a handling fee. The developer creates the corresponding profit model based on the size of the user.
(3) SBFT
SBFT (simpled BFT), simplified Byzantine fault tolerant algorithm, is a simplified version of the PBFT algorithm.
In Fabric's proposal, the SBFT (simple BFT) algorithm is used. But the Fabric0.6 version uses pbft,fabric1.0 to move out of the PBFT, but uses Kafka, solo to sort, as a consensus node. Fabric should implement SBFT in a later version.
(4) Tendermint
Tendermint is a modular blockchain application framework that enables Byzantine fault tolerance (BFT). Tendermint mainly consists of two parts:
A, Tendermint Core
Tendermint Core implements the peer-to network, shares chunks and transactions among nodes, realizes the Byzantine fault tolerant algorithm, and determines the non-changing order of transactions.
B, ABCI Interface
ABCI interface is responsible for dealing with the specific logic processing layer, which can be implemented based on different languages (GOLANG,JS), and can be used for transaction verification, processing, and query operation.
Tendermint Address: Https://github.com/tendermint/tendermint
Tendermint Official website: https://tendermint.com/
(5) VBFT
The VBFT algorithm blends POS, VRF, and bft ideas. In the VBFT algorithm, the node needs to apply for participation in the network consensus through the equity mortgage. After that, the system selects N nodes randomly from all the alternative consensus nodes by verifiable random function, and proposes and validates the alternative blocks, and finally completes the block consensus by endorsing the verification results.
The consensus node constitutes a consensus network, which is responsible for the consensus and generation of the transaction requests in the network, while the alternative consensus nodes form a candidate network and do not participate in consensus, but maintain the state of synchronization with the consensus network. In addition, the candidate network monitors the consensus network and validates the consensus blocks.
The VBFT algorithm flow is as follows:
A. According to VRF Select the filing proposal node from the consensus network, each alternative node proposes an alternative block independently.
B, according to the VRF select multiple authentication nodes from the consensus network, each authentication node will collect the alternate chunks from the network for verification, and then vote on the top-priority alternative blocks.
C, according to the VRF select multiple confirmation nodes from the consensus network, the voting results of the above verification nodes are statistically verified and the final consensus results are determined.
D, all nodes accept the consensus result of the confirmation node, and start the next round of consensus process.
In the VBFT algorithm, the VRF value of each block is based on the variable information of the previous consensus block, and the hash value of the information is computed as the VRF value of the next round of consensus chunks. As a result, the VRF values for each chunk are verifiable.
According to the VBFT, the sorting order of the nodes is also determined, that is, the priority order of the nodes, according to the VRF selected nodes. The existence of priority order provides a reference scheme for the node to deal with the bifurcation of the main chain. Because it is difficult to maintain the highest priority for a malicious fork, the purpose of curbing rogue forks is achieved.

2, the choice of blockchain consensus algorithm

In the blockchain network, because of the different application scenarios, different design targets are used, and various blockchain systems adopt different consensus algorithms. Usually, in the case of the private chain and the alliance chain, the consistency and correctness are very strong, and the consensus algorithm of strong consistency is adopted, but in the case of the public chain, the consistency and correctness are usually not 100%, and the consensus algorithm of final consistency (eventual consistency) is usually adopted.
The choice of the consensus algorithm is highly correlated with the application scenario, the trusted environment uses the Paxos algorithm or the raft algorithm, the licensed Alliance can use the PBFT algorithm, the non-license chain can use pow,pos,ripple consensus, etc., according to the Counterparty Trust degree classification, the free choice consensus mechanism.

Iv. key issues and challenges of the blockchain 1. Privacy protection

Privacy protection has always been a key issue in the field of distributed systems. In distributed scenarios, because of the lack of independent management mechanism, the parties involved in the network can not guarantee strict adherence to the agreement, and even deliberately try to obtain data from others on the network, the theft of privacy is difficult to constrain.
Distributed ledgers to achieve a proper balance between shared collaborative information and privacy protection, is a challenge, especially with the public ledger system repeatedly appeared security loopholes, often resulting in a risk of $ tens of millions of. The compliance requirements for privacy protection are increasingly stringent as the General Data Protection Ordinance (Protection REGULATION,GDPR) falls to the ground. Traditional information security technology, formal verification technology in response to new requirements, exposing the shortcomings of the practice is not strong, are urgently needed to solve. Especially in the field of medical health, the most strong data privacy needs, strict control of the source of data, ownership and use, traditional means difficult to meet the requirements of privacy protection, the need to organically combine 0 knowledge proof, homomorphic encryption and other new cryptography, but the new technology in practical application still have many problems.

2. Distributed consensus

Consensus is a classical technical problem in the field of distributed systems, and there are a lot of research achievements in academia and industry (including Paxos, BFT series algorithm, etc.).
The core of the distributed consensus problem is to ensure that a change is uniformly executed in the distributed network, which is acknowledged by many Parties, and the information is not overturned.
Distributed consensus in the open anonymous scenario and with the permission management scenario under the requirements of a large difference, resulting in a probability-based algorithm and deterministic algorithm two kinds of ideas.
Initially, the Bitcoin blockchain considered the worst-case guarantee in a publicly anonymous scenario. By introducing the POW proof strategy to avoid the malicious behavior of the minority, the last party consensus to the longest chain is ensured by the probabilistic model. The core idea of POW algorithm is based on the game of economic interest, which allows the participants of malicious destruction to lose their economic benefits, thus guaranteeing the cooperation of most people. At the same time, confirmation must be achieved after the generation of multiple blocks, guaranteed by probability. The main problems of probabilistic algorithms lie in inefficiency and waste of energy, such as Pow,pos and Dpos algorithms.
Blockchain technology, such as the Super Ledger, begins to consider a consensus mechanism that supports more certainty, including BFT series algorithms, in the context of permission permitting, to solve the problem of fast acknowledgement.
The consensus problem will be a research hotspot of great academic value for a long time, the core index will include fault-tolerant node proportion, decision-making convergence rate, recovery after error, dynamic characteristic and so on. The probability-based series algorithms, such as POW, theoretically allow less than half of the non-cooperative nodes, and deterministic algorithms such as BFT allow no more than 1/3 of non-cooperative nodes in theory.

3. Trading Performance

In general, blockchain is not suitable for high-frequency trading scenarios, but due to the needs of the financial system, the industry is now very concerned about how to maximize the trading performance of the blockchain system, including throughput and acknowledgement delay two aspects.
At present, the public Bitcoin blockchain can only support an average of about 7 per second of throughput, secure transaction confirmation time of one hours or so, ethereum blockchain throughput is slightly higher, can reach dozens of per second, but trading performance is also a big bottleneck.
In order to improve processing performance, one can improve performance of individual nodes (such as high-configuration hardware) while designing optimized strategies and algorithms to improve performance, and on the other hand, transaction processing offload (off-load) to the chain. Only the blockchain is used to record the final transaction information, such as the design of a lightning network proposed by the Bitcoin community. Side chain (side chain), Shadow Chain (shadow chain) and other ideas at the current stage also has a certain reference significance, can improve the overall performance of one or two orders of magnitude.
Under the alliance chain scenario, there are certain trust and benefit constraints in the multi-party, which can take more optimized design and improve the performance. In the case of the Hyperleger fabric project, a single client can achieve hundreds of (transactions per Second,tps) transaction throughput per second under a normal virtual machine configuration, and thousands of throughput per second with certain engineering optimizations or hardware acceleration.
At present, the open source blockchain system can meet the performance requirements of many application scenarios, but there is a large gap between the throughput performance of tens of thousands of strokes per second from large-scale trading systems. According to the published data, the visa system processing average value of TPS, the peak is 56,000tps, a financial payment system processing peak of more than 85,000tps; the processing average value of the large stock exchange is around 80,000tps.

4. Scalability

A common distributed system can extend the processing power of the whole system by adding nodes horizontally.
Most of the performance of blockchain system depends on the processing ability of a single node, the node needs to meet high performance, security, stability, hardware auxiliary and decryption ability. For example, for Bitcoin and Ethereum blockchain, each core node in the network that participates in maintenance maintains a complete storage and handles the smart contract. At this point, the total storage and computing power of the entire network depends on the ability of a single node. Even when there are too many nodes in the network, the performance of the entire network may be reduced due to consensus delays. Especially in public networks, the problem is more obvious because of the existence of a large number of low performance processing nodes.
To solve the expansion of the blockchain system, it is basically to relax the restriction that each node must participate in the complete processing (the node in the network can complete the complete processing), has been applied in the super-Ledger project, while minimizing the core layer of processing work, even using multi-layer processing structure to disperse the transaction.
In the federated chain Mode, high-performance nodes can be used as core nodes, and relatively weak nodes are used as proxy access nodes.
In addition, the future will inevitably involve cross-chain needs between different ledgers. The quilt project and the Interledger Payments Working Group of the Super ledger have studied this issue.

5. Safety protection

The most popular application scenario for blockchain is financial-related services, and security is naturally the most sensitive and challenging problem.

6. Database and Storage System

A large amount of information in a blockchain network needs to be written to files and databases for persistent storage.
The application of blockchain requires a lot of reading and writing operations, hash calculation and verification operation, which is very different from the behavior of traditional database.
LevelDB, Rocksdb and other key-value databases, with high random write and sequential read, write performance, and relatively poor random read performance, is widely used in blockchain information storage. But for the time being, the database technology facing the blockchain is still one of the technical difficulties that need to be broken down, especially how to support the operation of richer semantics. In the future, a more targeted blockchain database will be available, specifically serving the blockchain new data business, where each record will include a complete chunk of information, which is naturally associated with historical information and cannot be modified once the write is confirmed. The smallest unit of all operations will be a block. Requires native support for efficient signature and decryption processing.

7. Integration and operational governance

In most enterprises, there are already some information products and tools, such as database, enterprise information Management system and communication system, which are in the core position. When companies adopt new products, they tend to focus on the smoothness of integration with existing business processes and information systems.
How the two systems coexist, how the division of labor, how each other's business transactions reasonable transmission, the breakdown of how to troubleshoot and isolate, the existing data how to migrate between different systems and disaster preparedness, are very urgent to solve the practical problems. The solution is not good, will be the blockchain technology landing a small obstacle.
Although most blockchain systems support the non-centralized mechanism at the platform level, it is often not centralized at the operational and governance levels. Taking the Bitcoin network as an example, many times in history have been concentrated in a few mineral pools, while the evolution of software is concentrated in the hands of a few developers. Operational and governance mechanisms are generally absent in existing blockchain systems, but they are very important in practical applications.
How to make reasonable consensus and efficient governance still belongs to the unresolved problem. In the public chain, it tries to keep the system running by linking the tokens in the computer system with the economic benefits, and through the business cooperation and voting in the Alliance Chain, the alliance governing body is elected to maintain and manage the Alliance network. But the relevant mechanism still needs to be perfected and improved in the process of practice. Take the supply chain scenario as an example, frequently involves hundreds of enterprises, up and down the dozens of links, but also strong dynamic, all need distributed ledger platform can provide a strong governance voting and authority control mechanism.

Blockchain Quick Start (v)--evolution of blockchain technology

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.