Analysis | Ethereum's expansion problems and solutions

Ethereum developers have long recognized that Ethereum network expansion is a topic worth exploring and investing. However, until the end of 2017, the scalability issue began to emerge: a decentralized application (dApp) called CryptoKitties created a lot of traffic, causing network latency. In addition, the price of gas (the cost of running each operation in the Ethereum blockchain contract) has soared as users compete to conduct transaction verification.

Although this story has now been over-reported and consumed, the CryptoKitties event does reveal a reality: the current state of capacity of the Ethereum network may not be ready for the huge traffic that a successful dApp brings. The slowness and cost instability make people respect the Ethereum platform and decentralized applications. DApp developers are working on the first applications that can be truly adopted, so developers must continue to overcome blockchain expansion issues.

Capacity expansion solutions face "three yuan paradox"

Figure source ConsenSys

Blockchain technology has a theory that the network can support the following two attributes: security, decentralization, and scalability. This is the “three-dimensional paradox” , and as this phenomenon becomes more and more familiar, it has become a challenge for Ethereum developers, because developers want to improve scalability for wider adoption and implementation. It also maintains the core features of the blockchain (decentralization and security). However, some current scalability solutions can seriously affect security or decentralization:

  • In theory, the use of tokens is one of the solutions to the expansion problem. This solution abandons the idea that all transactions take place on a blockchain, adopting a pattern in which multiple tokens coexist but run on separate blockchains. Capacity expansion is achieved by distributing the operating pressure to other blockchains. However, as the number of nodes in each blockchain will decrease, the blockchain will be more vulnerable to attack or fraud. Therefore, the use of token solutions to balance decentralization and scalability, but the security is stretched.
  • Expanding block capacity is another theoretical solution to the problem of scalability. If the capacity of each block increases, all nodes can still run various operations, but can accommodate more transactions at the same time. However, as block capacity increases, higher costs are required to package transactions, which is unaffordable for many miners. This may cause the network to be controlled by some supercomputers in the future because they have enough resources to verify each block. From this point of view, increasing the block capacity can ensure security and scalability, but significantly reduces the degree of decentralization of the network.

Indeed, at the beginning of the development of the blockchain, our focus is mainly on security and decentralization. Therefore, the biggest obstacle to achieving scalability is that each node needs to handle each transaction in person. Even with absolute security and decentralization, the system has not reserved much space for a scalability solution. Then the question is coming, how do we expand the Ethereum without affecting the premise of security and decentralization.

There are currently four protocols under development to address scalability issues, namely sharding, Plasma, and lightning networks. As for the fourth protocol, Casper is more widely available, but still for Ethereum and even others. The blockchain network provides a scalability reference.

Fragment Sharding

Fragmentation This expansion scheme still runs all transactions on the original blockchain and is therefore referred to as the "chain on" solution . As mentioned above, each node in Ethereum needs to process every transaction, and the fragmentation is designed to solve the linear problem of trading in the Ethereum network.

Sharding allows nodes to operate in parallel at the same time, which increases the transaction throughput per second for the entire blockchain. Under the fragmentation scheme, the Ethereum network can be divided into multiple groups of nodes. Each set of nodes constitutes a slice, and each slice handles all transactions within the group. This allows each shard to process different transactions simultaneously.

Within each shard, some nodes act as "collators", periodically creating "collations," or a collection of information about the shard. Each collation will include the following information:

1. The fragmentation information of the collaboration;

2. Information on the status of the fragment before the transaction is completed;

3. Information on the status of the slice after the transaction is completed;

4. 2/3 summarize the person's digital signature to verify the information in the collation.

In the network, the summary information in each shard is integrated into a single block and then added to the Ethereum blockchain. That is, the sharding technique allows the node to combine and process the transaction, but only the summary information is added to the blockchain. Assuming there are 10 shards, each shard handles 5 transactions, then the block in the next blockchain contains 50 transaction information, and the node is no longer required to process the 50 transactions in order.

But the sharding technique is accompanied by two problems. First, each shard must have enough nodes to ensure the security of the network. If there are too few nodes, then 2/3 of the aggregators are likely to collude, resulting in malicious behavior. Second, the transaction between two shards is very difficult. If there is only one shard, there will be no similar problem because it represents the entire blockchain. The current method also requires detailed receipts and proofs.

Plasma

Plasma is another solution for trading transactions under the “chain” , which means that the transaction is not carried out on the Ethereum main network. Plasma allows many blockchains (subchains) to be separated from the original blockchain (root chain). Therefore, each sub-chain can process and maintain transactions on its own, based on the underlying security of the root chain.

With Plasma, all calculations in the sub-chain are boosted by the root chain, but the root chain only needs to be calculated personally when a dispute arises in a sub-chain. This approach allows all transaction information on the blockchain to be shared by the sub-chains to optimize speed and efficiency. Based on the wishes of the child chain nodes, they can withdraw the transaction information and output the transaction record to the root chain.

This program has a unique advantage. Each Plasma chain has its own standards and specifications, which means that different sub-chains can support transactions for different needs (such as privacy), while all transactions are in the same, secure environment.

Lightning network

The lightning network is also a chain expansion solution that allows transactions to be maintained between nodes without requesting a root chain to verify each transaction. A "state channel" can be opened between the two nodes, which is a bidirectional channel between users. Transaction information is passed between the two nodes and requires both parties to sign to ensure that it is not tamper-evident.

Lightning networks are useful for regular and regular payments . For example, users need to pay a company for $10 a week to get a service, or to make regular purchases at a supermarket. Recording and verifying such transactions between two nodes without mobilizing the nodes in the entire blockchain, so that the root chain can free up a lot of space.

At any time, the participants in the status channel can choose to close the transaction, but the final result of all transactions is recorded on the root chain and then included in the next block. This means that if you pay $10 a week for a year, the final transaction record in the block is $520 instead of 52 $10.

Thunderbolt network solutions have advantages and disadvantages. The problem is that nodes can only communicate with their "neighbors", that is, if a state channel is opened between node A and node B, node B and node C also have a status channel before, and A cannot directly send funds to C. But trading in this channel can prevent funds from being stolen or locked. Although A cannot transfer money directly to C, B can be regarded as a “middleman”, and B cannot be stolen due to restrictions imposed by A and C.

The main advantage of the lightning network is that it can greatly reduce the cost of the transaction. Because the transactions that occur under the chain between nodes are less costly than transactions on the root chain.

Casper

Casper is a collection of consensus agreements designed to help Ethereum shift from proof of work (PoW) to proof of entitlement (PoW). Under the workload proof algorithm, miners must consume a certain amount of energy in order to solve the encryption problem and dig out new blocks. If they solve the problem correctly, they can get rewards, but this process requires a lot of energy costs (and costs continue to increase due to rising block difficulty). PoS mining does have two major drawbacks: burning money and energy waste. Currently, it costs $12 billion a year to maintain the workload certification mechanism.

In proof of interest (PoS), the verifier replaces the miner's verification of the block in the blockchain (verified to replace the mining). Verifiers verify the cost of resources required to calculate a problem by validating assets on a block. The block with the highest amount of pledge will be verified and added to the blockchain.

Essentially, the verifier will be added to the blockchain by locking the funds in the contract and will be rewarded until the next block is added and proved to be the correct block. If the verifier performs an improper act, the funds they pledge will be fined.

Conceptually, the PoW to PoS transition can prevent blockchains from being maliciously attacked. Under the PoW algorithm, a failed blockchain attack only causes the attacker to lose time and resource costs. However, under the PoS algorithm, a failed attack directly leads to economic losses, because the funds they pledge in the wrong block will be immediately fined.

The final deployment of Casper will be based on two iterations of the protocol: Casper FFG and Casper CBC. These two protocols will be deployed on the Ethereum for network testing PoS and identify potential problems before the algorithm transition is complete.

Casper FFG

(Casper the Friendly Finality Gadget)

Casper FFG makes Casper's first iterative version, where blocks are still mined via the PoS algorithm. The difference is that every 50 blocks will have a verifier intervening to test the PoS mechanism. This "checkpoint" uses the PoS protocol to evaluate final certainty. "Final certainty" means that the operation has been completed and is completely tamper-proof. In the FFG, the verifier pledges funds to complete the final verification of the first 50 blocks.

Translator's Note: Casper FFG was abandoned in June last year due to the mixed work of PoW and PoS, which caused a lot of duplication of work in the development of the main chain and the segmentation chain. In theory, Casper CBC is more achievable and faster to deploy, so CBC will be deployed in Ethereum 2.0.

Casper CBC

Casper CBC (Correct-by-Construction) is the second iteration of Casper. In general, deploying a protocol requires formal determination and then proof that it meets all of the given characteristics. The PoS protocol in the CBC only needs to be partially determined, and further fine adjustments are made to satisfy the relevant attributes. Therefore, unlike the precise definition from the beginning, the protocol will be deployed in a step-by-step manner.

So how does CBC adapt to the problems that may arise in the process? This requires a protocol called “ideal adversary” to make assumptions, mistakes, and possible future issues for the CBC.

The Casper family of agreements includes not only expansion issues, but also energy conservation and security considerations. However, as the energy loss required to increase the block is reduced, it will be more challenging to achieve network expansion. Although Casper is not specifically designed for capacity expansion, it still contributes positively to the traffic carrying capacity of the network.

Translator's Note: To learn more about Casper CBC, read the article "Casper CBC: What is consensus and certainty? ", Casper CBC Protocol Security Certificate."

Conclusion

It is worth noting that the above four programs are not mutually exclusive, and they will all be applied to the Ethereum 2.0 update to more or less solve the expansion problem of Ethereum. The problem of capacity expansion is the focus of the Ethereum developers in recent years. As more and more dApps are developed and launched, better scalability solutions will continue to emerge in our vision, helping the future Ethereum to reach its full potential.

Original link: https://media.consensys.net/the-state-of-scaling-ethereum-b4d095dbafae

Reprinted please specify: ECN Ethereum China

WeChat public number: ETH Chinese network