How is the progress of Ethereum scaling solutions?
Editor's Note: This article comes fromBlockchain Base CampEditor's Note: This article comes from
Blockchain Base Camp
Blockchain Base Camp
(ID: blockchain_camp), source: Breakermag, author: Andreas Wallendahl, translator | Guoxi, editor in charge | George, reprinted with authorization by Odaily.
Scalability has always been a major pain point of Ethereum, and the improvement of scalability in the upgrade plan of Ethereum 2.0 occupies half of the country. Today, half a year after the launch of the Ethereum 2.0 plan, has the scalability problem improved?
This article mainly provides an overview of existing Ethereum scalability solutions and the trade-offs they make, while summarizing some out-of-the-box scalability solutions for blockchain developers.
What is so difficult about scalability?
Why is the scalability problem so hard? I often talk about the "scalability trilemma (also known as the trilemma)" because blockchains must make trade-offs between various properties. For all blockchains, it is not easy to obtain the three properties of decentralization, scalability, and security at the same time.
— Vitalik Buterin, co-founder of Ethereum, November 2017
Permissionless public blockchains such as Bitcoin and Ethereum have chosen to optimize the two properties of decentralization and security at the first layer, so they do not scale well.
In these blockchains, any participant can become a validator with a relatively low time and capital commitment. The low threshold has attracted thousands of mining nodes to participate in the proof of work, protecting the blockchain from Affected by 51% computing power attacks, this high degree of decentralization brings a high degree of security. According to the data in April this year, the cost of executing a 51% computing power attack on the Ethereum blockchain is 10 per hour. As the big brother among cryptocurrencies, the cost of performing a 51% attack on the Bitcoin blockchain is $350,000 per hour.
Thanks to its high degree of decentralization and high security, Ethereum is favored by people, thus becoming the first choice in the global blockchain economy and providing a good platform for decentralized applications.
However, behind the decentralization and security of Ethereum is a huge sacrifice in scalability. Although Ethereum's theoretical processing speed limit for simple transactions is 14-15 transactions per second, at the moment, Ethereum can only process about 5 transactions per second, and once it reaches 6 transactions per second, the load will be overloaded . That's an order of magnitude too small for any mainstream consumer app or financial app, let alone a global platform.
The biggest constraint on Ethereum’s scalability is that a permissionless public blockchain like Ethereum requires every mining node to verify every transaction.
—— Josh Stark, "In-depth understanding of the second layer scalability solution of Ethereum"
With such a serious problem, is it possible that the entire Ethereum community just sit idly by? No, in fact the Ethereum Foundation has a complete planning roadmap for the upgrade of the blockchain infrastructure in Ethereum 2.0, in which scalability plays an important role, that is to say, in the next few years, Ethereum Will focus on addressing scalability issues.
But far cannot quench near thirst, what if the application we are building now requires scalability? Of course, it depends on your specific usage scenario. Even if Ethereum 2.0 is a huge success in terms of scalability in the future, you may not want to send all transactions to the Ethereum mainnet / first layer, you will still choose a second layer solution.
Today, Ethereum still has the following three major pain points
Slow speed: The throughput of transactions is too low, and sometimes the number of transactions exceeds the carrying capacity of the blockchain, which will cause high latency in the blockchain network.
Expensive: Users need to pay gas fees for each transaction, and as the number of transactions increases, the gas fees and the price of Ethereum will also rise accordingly.
The user experience needs to be improved urgently: users must sign each transaction, and cannot initiate the next transaction until the transaction is confirmed by the blockchain.
What are the scalability solutions?
Next, let’s talk about the scalability solutions that have already been implemented in the industry. Here we only discuss the five most commonly used ones. Of course, this is not all. In addition, there are many areas that can be improved in the industry. Scalability solutions for blockchain transaction throughput, such as blockchain off-chain computing, but due to space reasons, will not be discussed here.
Blockchain off-chain transaction signing (meta transaction): use Ethereum’s public key and private key pair to sign transactions under the blockchain chain, you can store the transaction locally or send it out, and even transfer it in a peer-to-peer form , when the final transaction is sent to the blockchain, the state of the blockchain will be updated according to the content of the transaction and the digital signature (for example, adding votes ( #votes ), updating the price of the Ethereum oracle machine ( oracle )).
State channel: The connection established between counterparties under the blockchain chain, each transaction will update the current state, and the final state will be recorded on the blockchain through a transaction.
Side chain and bridge (Bridges): Through the transaction bridge smart contract and the corresponding transaction relay mechanism, the side chain containing the complete functions of Ethereum will be anchored to the main network of Ethereum.
secondary title


Tradeoffs for scalability solutions
What about the security, throughput, availability, and cost of use of each solution? The table below provides a detailed summary.
secondary title
The principle and specific implementation of each solution
The scalability solutions described below are all open-source and supported out-of-the-box, and you can use them in decentralized applications. However, it should be noted that these scalability solutions are still in the development stage, and their security must be carefully audited before your application goes live on the mainnet.
For ease of use, scalability solutions that have not yet been implemented or whose code is not yet open source are not listed here.
1. Transaction signing under the blockchain (meta transaction)
Users use the Ethereum public key and private key pair to sign transactions under the blockchain chain, and the public key and private key pair can be calculated by the keccak256 hash algorithm.
This signed transaction can be stored in the InterPlanetary File System (IPFS) or database, and then added to the transactions on the Ethereum mainnet in batches.
For example, if you want to claim ownership of something on the Ethereum mainnet, you can aggregate those claims into one transaction on the mainnet instead of issuing a separate transaction for each claim.
You can pass this transaction point-to-point through the point-to-point log storage system scuttlebot. When the recipient verifies that the transaction is valid through the public key, the transaction can be used as the oracle input of the smart contract on the Ethereum mainnet.
If the settings of the transaction allow it, the smart contract can execute the content of the transaction after receiving the transaction.
https://cryptoeconomics.study/
At the Ethereum Developers Conference in Berlin, the stablecoin MakerDAO team proposed an off-chain price oracle solution based on the off-chain transaction signing method.
https://view.ly/v/Rt275OYzLCI1
Reference resources
https://blog.ethereum.org/2014/07/22/ethereum-and-oracles/
Mario Conti: A price oracle based on off-chain transaction signing
state channel
Vitalik Buterin: Ethereum Oracle
2. Payment channel and status channel
Both parties to the transaction lock their initial state of the blockchain (for example, each party's account balance) in a smart contract, which you can simply think of as a multi-signature wallet. This ensures that the funds in the smart contract remain frozen during the operation of the state channel until both parties sign to unlock it.
payment channel
The two parties to the transaction conduct transactions by continuously communicating state updates, such as updates to their respective account balances. As long as both parties agree on the final state update, they can co-sign at any time to unlock the funds locked in the smart contract.
When both parties complete the transaction, they each submit a status update to the smart contract. If their state updates match, then the final state (say, each party's account balance) is written to the blockchain, which is typically the same as the initial state when the state channel was opened. different.
payment channel
State channels can only be denominated in Ethereum and ERC-20 tokens, while payment channels do not have this limitation.
The streamlined structure of payment channels allows for greater throughput and a more efficient design, since payment channels only update one (or very few) states: the net balance.
What should I do if there is a dispute?
According to the protocol design, each status update signed by both parties to the transaction will be assigned a unique random number ( nonce ) to identify each status update. In the event of a dispute, the latest state of the random number is used as a reference.
In a transaction, when party A submits a status update, his challenge period also begins. During this period, Party B can submit a state update with a nonce newer. If Party B does not submit a state update and the challenge period timer expires, the smart contract will select a state with a newer random number (that is, the state submitted last by Party A) as the final state, upload this state to the blockchain and follow this state Unlock and return funds.
Existing projects and implementations
Ethereum Raiden: A payment channel solution that enables near-instant, low-fee, and scalable transactions. The Lightning Network is a perfect function of the Ethereum blockchain, and it is compatible with all ERC-20 tokens.
Connext: Connext is building an open source peer-to-peer micropayment infrastructure. Their first product uses payment channels on the Ethereum blockchain, which can aggregate many blockchain off-chain transactions into a small number of on-chain transactions.
3. Side chain and transfer bridge
The transfer bridge (or relay) transmits transaction information from the side chains running their respective consensus algorithms to the Ethereum main network. It locks funds or state (or both) on the mainnet, and runs decentralized applications on sidechains to collect and process transactions.
Users deposit their Ether/ERC-20 tokens on the Ethereum mainnet into the bridge smart contract.
During this period, the decentralized application will continue to run, and when all transactions are completed, users can retrieve their own Ethereum/ERC-20 tokens on the Ethereum mainnet.
Users only need to pay the handling fee for the two transactions of deposit and withdrawal.
For transactions running on the side chain, users may also need to pay less transaction fees. Both side chain Loom and POA have operating costs, so Loom charges decentralized applications with fees in the form of Loom tokens, and POA Users are required to pay for gas in the form of POA tokens on the side chain.
Parity Bridge Ropsten-Kovan Ether-ERC20 Test Deployment
To eliminate gas costs on sidechains, you can run dapps on a private blockchain, but one of the biggest challenges in doing so is that you need to attract miners to mine on the private blockchain.
Reference resources
https://wiki.parity.io/Bridge
Watch the video: Test Deployment of the Parity Bridge Using Ether/ERC-20 Tokens on Ropsten and Kovan, Ethereum Test Networks
https://github.com/poanetwork/poa-bridge-contracts
Blockchain asset management company Melonport and blockchain platform company Colony have begun implementing and testing the Parity bridge, and decentralized commerce platform Swarm.City and blockchain nonprofit Giveth are testing messaging on the bridge
Detailed explanation of transfer bridge technology:
Transition bridge smart contract code:
Existing projects and implementations
POA Network is a platform based on Ethereum that aims to provide an open source framework for smart contracts.
POA Network is a side chain solution of Ethereum, which uses Proof of Authority (POA) in terms of consensus mechanism.

Loom is an Ethereum layer 2 scalability solution designed for decentralized applications such as social and gaming that require very high throughput. Developers can use the Loom Software Development Kit (SDK) to build a sidechain optimized for scalability: the Decentralized Application Blockchain (dAppChain), which uses the DPoS consensus mechanism.
SKALE's elastic sidechain inherits all the advantages of standard sidechains, while it also provides the security guarantees brought by a fully decentralized network. The elastic side chain has the characteristics of powerful performance, configurability, and compatibility with Ethereum/Web3 protocol.
4. Plasma chain
Plasma Chain Technology Overview
Initialize the Plasma chain, write smart contracts, and submit them to the root blockchain;
Transactions are run in the Plasma chain, and the Plasma chain regularly submits data (block hashes in the Plasma chain) to the root blockchain;
The consensus rules of the Plasma chain are built on fraud proofs. If a block is invalid, anyone can submit evidence of block invalidation to roll back the blockchain;
Each Plasma chain can have its own rules, optimized for special-purpose decentralized applications.
Existing projects and implementations


