Quickly understand! Xu Li's analysis of the bottleneck technology bottleneck and its countermeasures

On May 13th, Xu Li, the 2nd mentor of Babbitt College and co-founder and CTO of HPB core chain, gave a lecture on "Blockchain Technology Bottleneck Analysis and Solution Discussion". Starting from the underlying technology, Xu Li analyzed the performance bottlenecks of the current blockchain and proposed corresponding solutions.

Quickly understand! Xu Li's analysis of the bottleneck technology bottleneck and its countermeasures

Xu Li first presented a set of data describing the current status of the TPS in the blockchain industry. The number of transactions that can be processed per second by credit card is 44,000, and the volume of Tmall's double eleven in 2017 is 325,000 times per second. In contrast, the processing speed of Bitcoin and Ethereum is extremely low, which is why some applications based on blockchain are currently difficult to run.

Next, Xu Li took Ethereum as the research object and revealed the main reasons for the bottleneck of the current blockchain through a large amount of data.

Part 1: Blockchain network transaction process

Ethereum transactions are divided into two parts: transaction occurrence, transaction confirmation and export. The process is roughly as shown:

Transaction occurs

Quickly understand! Xu Li's analysis of the bottleneck technology bottleneck and its countermeasures

Transaction confirmation and block

Quickly understand! Xu Li's analysis of the bottleneck technology bottleneck and its countermeasures

Part II: Performance Bottleneck Analysis

Network performance, calculation and processing performance analysis Network performance analysis includes transaction broadcast, block synchronous broadcast, total data synchronization, and storage capacity.

First, from the transaction broadcast, any transaction in any node of Ethereum needs to be broadcast to the nearest 25 nodes. Calculated by TPS 100,000 times, the amount of data that any node needs to broadcast is: 144Byte*25 nodes*100000 pens/second=360,000,000Bps=2.88Gbps. The above line rate is calculated at 4 Mbps, and 100,000 bursts of transaction data take 12 minutes to complete the broadcast.

Second, from the block synchronous broadcast, with TPS 100,000 times/second calculation (peak), each transaction has 144 bytes of block data, synchronized to nearly 25 devices, and the amount of synchronous block data per second is about 360,000. 000Byte, which requires that each node's theoretical upstream bandwidth must reach 2.88Gbps to complete all block broadcasts.

Thirdly, from the perspective of total data synchronization, Xu Li calculates the average number of transactions of a car platform by 115 strokes per second (mean). Each transaction enters block data of 144 bytes, calculated in one block for 10 minutes, and the amount of data per block. Approximately: 115 pens / sec * 144 Byte * 600 seconds / pen = 9,936,000 Bytes. For any node, the amount of data that needs to be broadcast is approximately: 9,936,000 & TImes; 25 & TImes; 8 & TImes; 2 = 3,974, 400,000 bits = 3.9744 Gbits. It is required that the theoretical upstream bandwidth of each node must reach 6.624 Mbps to complete all block broadcasts.

Fourth, from the perspective of storage capacity, any node in Ethereum, any transaction, calculated by TPS 100,000 times, the amount of data added per second of the account: 144Byte * 100,000 pens / sec = 14.4MBps, adding new books every day The capacity is: 14.4MB*3600*24=1, 244, 160MB=1.2TB.

Calculation and processing performance analysis

The first is the verification process. Any node that receives a new transaction needs to perform transaction verification. This part of the work is done by the CPU. Taking the ECC algorithm adopted by ETH as an example, the test system uses x86, i5 dual-core 2.0G processor, and the time required for one-time verification is more than 20ms. This means that the dual cores are all ECC checked and processed 50 times per second. If there is a sudden tens of thousands of TPS, there will be a transaction overflow, the system memory is exhausted, and the crash is down.

The second is forwarding processing. Any new transaction is also forwarded by the CPU. The ETH processing method is to send a transaction every time. When a broadcast transaction event occurs, it will cause a thread to be opened. When the transaction volume rises, the thread will gradually accumulate and accumulate too much, which may cause the golang virtual machine to crash. Moreover, when the transaction volume is large, the transaction broadcast thread cannot be processed in sequence because the event mechanism is not perfect, so that the transactions sent by one account cannot be broadcasted in the order of nonce, and other nodes will abandon the corresponding transaction.

Part III: Solutions - Longitudinal Acceleration, Lateral Acceleration

To break through the current bottleneck, Xu Li proposed two solutions: vertical acceleration and lateral acceleration.

The so-called vertical acceleration solution is based on the traditional concept chain technology, optimizing a series of solutions to reduce the amount of synchronous data, improve network bandwidth and processing performance. The specific features are:

1. Adopt data center, data cluster;

2. Reduce the amount of synchronized data;

3. Improve the network bandwidth of each node is the key;

4. Improve the concurrent processing performance of each node;

There are two horizontal solutions, one is to build a layered structure (Layer2), to separate unnecessary transactions from the lowest level of the main chain to the subsidiary structure, such as Bitcoin's lightning network is followed by this idea. The other is Sharding, which is used to improve the protocol of the main chain itself to improve its performance.

Chillax

Chillax Disposable Vape is famous in the USA and Russian. new model release, like 6000puffs.

Chillax Disposable Vape, Chillax Disposable E-Cigarette, Disposable Vape Device, Pod Kit Device

Shenzhen Uscool Technology Co., Ltd , https://www.uscoolvape.com