The introduction

The ethereum network’s limited transaction processing power is known to have greatly hindered its efforts to become a “world computer.” Ethereum founder Vitalik has publicly stated many times that achieving blockchain expansion while maintaining the existing security and decentralized features is the core work of the current Ethereum technical team.

However, since up to now, the qualitative leap brought by its expansion technology solution has not been seen, many developers and users are increasingly worried about the congestion status and application prospects of ethereum smart contract platform.

Since 2016, all kinds of expansion attempts of Taifang (including Plasma, Sharding, Casper, etc.) have frequently come into public view. What changes have happened to its expansion plan, the current progress and the latest planning are discussed and analyzed in this paper.

Calls for expansion are growing louder and louder

Recently, Afri Schoedon, a developer at Ethereum client Parity, pointed out that Ethereum is overloaded. He warned users to “not continue to deploy DApps on the Ethereum network” and urged developers to move to ethereum Classic (ETC) or POA networks (side chains based on Ethereum). He thinks the transaction-processing power of these networks is still strong.

Vitalik immediately disagreed with Schoedon, pointing out that “1) Most dapps have room to optimize gas, and even if you don’t, as long as your DAPP drives up gas costs and increases network pressure, other dapps will optimize gas too. 2) There are a lot of worthless junk transactions on the Ethereum chain; 3) Everyone should focus on the two-tier solution.”

Furthermore, Vitalik stated in a post on the Ethereum technology forum that there is no tradeoff between data availability and activity requirements for the tier 2 solution. If deployed properly, using ZK-SNARks for bulk transaction verification, Ethereum can be scaled up “massively” at a cost of no more than 1,000 gas per transaction and up to 500 on-chain transactions per second, which is secure and does not rely on second layer expansion solutions (such as Plasma or thunderbolt).

On the forum, Vitalik discussed the implementation of the solution with a number of developers. He acknowledges that bulk transaction verification with ZK-SNARK will come with a lot of zero-knowledge proof computing work (proof generation), but he believes that the performance of proof computing is not a concern and that in the long term this work can be outsourced to the mining industry and GPU farms.

Vitalik is pointed out that using zero knowledge proof technology doing bulk trading validation is a second solution, the design difficulty lies in: requires each validator actually have all of the data and random sampling validator subset is needed to prove ownership of different data subset, and this needs through the “slice” design to solve, this is the difficulty.

Note: Zk-snark is a technology with a wide range of privacy applications. It stands for Zero knowledge succinct non-interactive argument of knowledge. It has been tested in practice in Zcash project and is considered to be a mature technology. The highlight of ZK-SNARK technology lies in the simplicity of generating proofs and the high speed of verification. The purpose of Vitalik’s solution is to improve scalability, not privacy. For now, how ethereum 2.0 will be implemented is still under discussion.

Ethereum developers have long noticed the importance of blockchain scaling up. Many experimental schemes have also been discussed and proposed.

At the beginning of expansion: Those theoretical solutions passed

Altcoin expansion plan

In theory, altcoins could be used to solve the expansion problem. The idea is to compute the transfers off-chain and accept the simultaneous existence of multiple altcoins, each with its own blockchain. In this way, the traffic reduced by each blockchain allows the entire blockchain to expand. But as a direct result, each blockchain has fewer nodes and is vulnerable to attacks or malicious users. Altcoins maintain decentralization and increase scalability at the expense of security.

Increasing block size

Increasing the block size in the Ethereum network increases the gas limit. In June 2017, Ethereum Foundation co-founder Hudson Jameson called on miners to manually modify Gas limits to improve transaction throughput on the network. However, this scheme also has many disadvantages: as the Gas ceiling is enlarged, the network is easily controlled by supercomputers with lots of verification processing power, and becomes a centralized system. Most miners didn’t respond much to this expansion because it would increase the probability of terts (blocks that are not on the longest chain) appearing on the Ethereum network.

Despite the obstacles, Ethereum developers continue to seek solutions to the problem and have come up with a number of technical solutions.

Expansion exploration: parallel research of several technical schemes

EIP648 Expansion Proposal: Parallel activities

On June 17, 2017, Vgod released the expansion proposal named EIP 648 on Github open source library.

The scheme aims to alleviate transaction congestion through efficient parallelism between nodes. Nodes run parallel processes on multiple kernels, allowing separate ICOs to run on a single thread, while the Ethereum network remains unchanged. In short, triage, separating ICO activities from ethereum network operations so that multiple ICO projects (up to eight, according to V God) can be processed simultaneously without impacting normal Ethereum network traffic. But even by separating these activities, it is ultimately a palliative, not a long-term solution.

EIP (Ethereum Improvement Proposals). In order to promote the decentralization of the ethereum network, every proposal related to the future development of Ethereum in the Ethereum community can be submitted in EIP format. After discussion, the proposal will be selected and officially listed in the EIPs list. EIP648 is one such expansion improvement proposal, but we found it was not included in the EIPs list.

Raiden: Puts a portion of transactions off-chain

Raiden Network (Raiden Network) is a technology that utilizes the Network of off-chain payment channels to expand Ethereum capacity. The project, which began in 2015, is similar to the Lightning network on Bitcoin, which moves the vast majority of transactions on Ethereum blocks to off-chain processing, allowing users to make transactions by privately exchanging transfer signature information, dramatically increasing transaction processing speed.

In September 2017, the test network for The Thunder Project was deployed on Ethereum, and the uRaiden went live on the Main Ethereum network in December of the same year. URaiden is the MVP version of The Lightning Network and aims to provide a micropayment mechanism similar to bitcoin’s Lightning network. The main benefit of the Thunder network solution is that it can significantly reduce the fuel cost per transaction, but it is also mainly suitable for recurring micropayment scenarios.

Plasma: Puts data out of the chain

Like lightning, Plasma is an off-chain capacity solution. Plasma project will block chain design for tree structure, using a large number of “sub block chain” to share the data on the main chain stores, the chain of each child can handle and maintain its own transfer record, at the same time using a specific technology implementation “main chain” and “substring” connection, by the main chain to maintain their security, main chain just appear in substring controversy when calculated, To achieve optimal transaction processing speed and efficiency. Nodes on the sub-chain can also submit transfer information and export their transfer records to the main chain if they wish.

This allows each Plasma chain to have its own standards, meaning that different Plasma chains can support transactions with different requirements (such as private chains), and all transactions are in the same secure ecosystem.

On August 9, 2017, Joseph Poon, founder of Ethereum and co-author of the Lightning Network White Paper, proposed a new capacity expansion solution called Plasma. In November 2017, V-God tweeted that Plasma implementation had started. In January 2018, Plasma MVP version was announced in January this year. It is an open source contract based on Plasma. Plasma can handle a billion transactions per second, but how well it works has yet to be proven. For now, it is primarily designed for token transfer (ERC/ETH), but it is not clear how it can be extended to more complex tokens such as ERC721 or even more general state transitions. However, moving some data out of the main chain seems to be a major expansion trend.

Sharding

Unlike Plasma and lightning networks, Sharding is an on-chain capacity expansion technology that aims to increase the capacity of the protocol base layer.

Inspired by the traditional database, sharding is to divide the data in the block into many different “fragments” and store them separately in each node, which reduces the data storage of each node and improves the verification speed of the system. Currently, transactions on Ethereum run in a linear order, with each miner executing the same program and the computing power of the entire network depending on the computing power of a single computer. Sharding is a dynamic solution for partitioned verification transactions, in which users choose which shard to execute their transactions, allowing block processing to proceed in parallel. This “on-chain” solution distributes the transaction load across multiple network computers, allowing more transactions to be confirmed at the same time, thereby expanding the capacity.

In November 2017, At the Ethereum Developer Conference and blockchain Technology Exchange conference in Taipei, Vgod said sharding, or scalability, is the most likely solution to the problem and is the focus of the Ethereum 2.0 roadmap. On April 30 of this year, God V tweeted “Sharding is coming” and shared a new codebase demonstrating how sharding extension solutions can be “tethered” to the Ethereum main chain, as if to indicate that sharding technology is starting to land and be implemented.

He believes sharding will significantly improve ethereum’s concurrency limitations and truly scale the scale. Sharding is seen by the industry as a more long-term and theoretically feasible expansion solution, but the implementation of this solution still faces many technical challenges. For example, it is necessary to ensure that there are enough nodes in each zone to prevent single shard takeover attacks, because too few nodes in a zone are prone to compromise and fraud. Another difficulty is cross-shard transactions, which currently require lengthy receipts and proofs. In addition, when receiving invalid collation, how each zone node identifies and verifies fraud and rejects the collation, and data availability issues, etc.

Casper

Casper is more extensive in content, but it also has an expanding effect.

And Casper project focused on the etheric fang provids consensus algorithm from POW to POS, since 2014 has been put forward, in four years, the etheric fang developers on the protocol implementation to overcome the problems (such as the long-range attack, without concern for attack, and 51% against, network partition recovery, etc.) try to do a lot of technology, and 2 research branches: Casper FFG (a hybrid POW/POS consensus mechanism, equivalent to the initial stage of POS) and Casper CBC (a full POS version being built by Vlad Zamfir). According to God V, the main trade-off between the two is that the latter has better theoretical properties while the former is easier to implement.

The resulting Casper agreement is broader than just a capacity expansion proposal, including improved energy consumption and security. However, because individual nodes consume less energy (compared with POW), the network is more difficult to expand. While Casper is not specifically designed for capacity expansion, it will have a positive impact on ethereum network capacity.

According to 75 tweets on POS and Casper research history published by V God in August this year, the development of Casper FFG scheme was slowed down due to various difficulties in the later stage, and the team experience was scattered between Casper project and fragmented project, resulting in a lot of repetitive work.

Therefore, during the Ethereum Core Developer conference call in June 2018, the team finally decided to abandon the idea of a “hybrid Casper FFG with a contract” altogether, and instead focus on pursuing a separate chain of full Casper, blending Casper with sharding design. This decision formalizes the termination of EIP1011 (PoW and PoS) and the existing Capser FFG protocol.

Casper & Sharding: The end of expansion?

According to the Ethereum Casper + Sharding Chain V2.1 work progress document (which was first published at the end of June and is being updated continuously, the last update was two days ago), Ethereum 2.0 will have a new design — Beacon, This new design will have a huge impact on how scalable and decentralized Ethereum can be.

Note: In various internal development documents, Ethereum 2.0 is referred to as “A Sharded POS Ethereum 2.0”, which incorporates both sharding and POS algorithms. The new main chain that combines these two technologies is called A beacon chain. This is one of the biggest moves ethereum has made in recent years. At present, the roadmap for Ethereum 2.0 has not been set, and the design and specifications are constantly changing.

While capacity expansion is an ongoing requirement, the beacon chain looks like it could be a quantum leap in the design of ETH2.0, potentially a landmark capacity expansion finale.

The beacon chain is the “main chain” of POS systems that runs in parallel with the current Ethereum blockchain. Of course, the existing Ethereum blockchain will be incorporated into the new system in the future. Beacon chain’s main responsibilities are:

  • Store and maintain an active and ordered set of validators
  • Handle “cross-linking” between shard and beacon chains
  • Deal with your own block-by-block consensus and final certainty

The Beacon Chain will randomly select verifiers for block proposal and vote to prevent collusion between verifiers. In addition, since the verifier can only interact with the chain in a very limited way, the beacon chain will no longer use an execution engine such as EVM for voting transactions (the team is developing EWASM to replace EVM), so voting will be more efficient. Since no predictive power is required and all transactions on the beacon chain are gas free, the whole process is more cost effective.

Shard Chains process transactions and store account data. Each Shard chain (currently 1024) is connected to the main chain. Each shard chain is an independent POS chain, which has its own status (such as account balance, smart contract, etc.) and transaction history, and uses POS consensus mechanism with beacon chain. Every period of time (about 1 hour), the system randomly assigns a shard to each verification node to verify and confirm the blocks on the shard. The “cross link” is used to confirm which blocks from each shard chain enter the beacon chain and is the main way for the shard chains to interoperate with each other.

It is estimated that sharded Ethereum will be able to process more than 15,000 transactions per second, which is a real qualitative leap from the current ethereum network, which processes about 15 transactions per second.

The beacon chain and Ethereum 2.0 design is still a work in progress, and many technical teams are already working on beacon chain client applications, such as Lighthouse project, Prysm Project, Trinity, Nimbus, Harmony, and more. According to Rocket Pool Blockchain senior Engineer Darren Langley’s article published in early September, some of the work that beacon chains have done so far includes: beacon chain state data structures and persistence, individual block state transitions, fork selection implementation, verifier shuster, block sponsor role, data structure serialization, and P2P protocol. But there’s still a lot of research going on.

Summary: “Short-term innovation, long-term conservative”

Based on the above review, it can be seen that the ethereum core team has explored and practiced theoretical and technical solutions for the long-term congestion of blockchain network from multiple perspectives, including raising gas limit, issuing EIP648 expansion plan, proposing Plasma and adopting Sharding technology, etc.

According to the incomplete summary of information from various public channels (forums related to Ethereum, Twitter, Reddit), through the emergence, transformation and derivation of a series of expansion proposals, it is not difficult to see the continuous technological exploration ability and adaptability of the core team of Ethereum. At the same time, these mainstream expansion solutions do not conflict with each other, and may even converge in practice (as Casper and Sharding did).

Perhaps the expansion of Ethereum has been too long and too slow, causing the impatience of many developers inside and outside the community (Afri Schoedon’s call for developers to move to other chains). In addition, EOS project founder BM has publicly pointed out that V-God is too complicated to solve scalability issues.

Indeed, we see the whole expansion plan, in the etheric lane into a lot of the underlying technical considerations, it is trying to achieve scalability, at the same time consider sustainability, efficiency and flexibility, which involves multiple areas of technical improvement and application deployment, is not only to introduce a second expansion plan, put part of the data/trade outside the chain handle that simple, Instead, it extends from the blockchain protocol layer.

According to God V, he wants multiple expansion options to be used in parallel. The dominant idea in layer-1 (i.e., blockchain protocol Layer) expansion direction is “short-term innovation, long-term conservatism. He think:

In the long run, Layer-1 is bound to be stable and will not compete with all technological improvements, but will try to provide a stable platform for innovation to occur on Layer-2. Because finding a solution at Layer-1 requires continuous protocol change, and base Layer change often involves governance and consensus issues, no public chain has yet been able to achieve continuous “active” innovation and governance without becoming centralized. However, in the short term, innovation and improvement of Layer-1 are necessary.

And Layer-2 is bound to take on more and more challenges of continuous innovation. Decentralized application platforms, cryptocurrency payment methods, decentralized exchange mechanisms, auctions, privacy protection schemes, programming languages that support privacy protection, and so on — the vast majority of what can be done on blockchain are important and need continuous innovation. It is obviously inappropriate to “integrate” all these functions into the underlying blockchain, which will bring high governance costs and coordination and upgrading costs.

Therefore, the current expansion of Ethereum first needs to complete the innovative upgrade of Layer-1, and in the long run, it will use Plasma, lightning network and even more new Layer 2 expansion schemes to adapt to future commercial applications.

This article is reprinted from Babbitt forum

The original link: https://www.8btc.com/article/283323