Viewpoint | Ethereum 2.0 inspired by the Ethereum 1.0 upgrade

Compared with Ethereum 1.0, the most significant change in Ethereum 2.0 is the proof of stake consensus and sharding architecture, but in fact, there are still many aspects of innovation that inspired the process of improving Ethereum.

Things we have seen since the creation of Bitcoin and Ethereum

The Bitcoin blockchain has been running for 11 years, and its creation has inspired countless people with lofty ideals to study and even study the design of blockchain and cryptoeconomics to discover what else can be improved.

From PoW, we already know that the security of the protocol is always the most important for cryptocurrency. The use of expensive hardware to motivate people to have more skin in the game has a surprisingly good effect. Although there is still room for exploration (the so-called " selfish mining "), PoW's performance in protecting Bitcoin's network security has been extraordinary.

The Ethereum blockchain was launched in 2015. Its birth marks the emergence of a "universal" blockchain: everyone can build applications on the network that can interact with ETH and other tokens. These applications have opened the door to decentralized finance . Today, the value of collateral deposited by people for decentralized financial operations has exceeded $ 1 billion. I have another article on how DeFi (decentralized finance) has grown step by step into a real service available on Ethereum .

Factors limiting Eth1.X's expanded throughput

Now that Ethereum has grown savagely for 5 years, the phenomenal growth it has experienced has also pointed out to the entire industry where the bottleneck is and where it can be improved.

In 2017, when the development of Ethereum was in trouble, multiple "Ethereum Terminators" stood up to claim to "beat" Ethereum. But these "terminators" are mainly sacrificing security in exchange for higher throughput (TPS, transaction processing per second), and are still completely misleading (or intentionally confusing) to advertise that transactions do not need to pay fees. In fact, there is no "solution" to the problems Ethereum faces.

In order to really upgrade Ethereum, everyone must jump out of existing systems and start over. We can take the essence of Ethereum and discard many of its dross.

Note : In the following, I use "state" to refer to global permanent data stored on the Ethereum blockchain, such as account information, transaction data, and smart contract status (such as token balance).

Ethereum 2.0

Ethereum 2.0 is by far the largest open source project in the cryptocurrency field, and aims to develop a new system that can achieve the initial goals of Ethereum and pursue it even higher. You may have heard of Casper (a consensus algorithm under Proof-of-Stake) and sharding, but the goals of Ethereum 2.0 don't stop there.

Because many improvements are too radical for the existing Ethereum blockchain, these improvements may be on the Ethereum 2.0 chain, and then the existing Ethereum chain will “ access ” the new system (becoming one of the points) sheet). In this way, Ethereum 2.0 will not become too complicated for upgrading the existing network, and the Ethereum network can operate as usual, and then all the benefits of the new system will be harvested.

This article wants to talk about the Ethereum 2.0 changes that people don't know much about, and how these changes are inspired by the process of helping Ethereum move towards a decentralized and beautiful world.

Monetary policy (security costs)

The monetary policy of cryptocurrency cannot be underestimated. Because cryptocurrency needs to use additional currency (in the form of block rewards) to attract miners and computing power, under the premise of ensuring security, the less the additional amount, the better. Among the top 20 currencies by market capitalization, we see that Bitcoin's blockchain is the most secure, and its currency issuance rate is also the lowest. The current annual Bitcoin issuance rate is 3.8%, which is much lower than the 4.5% of ETH (although if Ethereum copied Bitcoin's halving policy, this rate would be higher).

Although many Ethereum coin hoarding parties feel that the cost of the Ethereum blockchain for security is too high; however, if this reduces the rate of issuance, it may lead to a significant decline in mining computing power and security, because miners I can't make that much money. Therefore, it is difficult to reduce the rate of issuance under PoW, because it reduces the unexpected side effects on the safety of the chain. Bitcoin does not have this problem ( largely ) because changes in its mining rewards are basically predictable in the long run.

Then, one of the biggest goals of Ethereum 2.0 is to convert to a proof-of-stake (PoS) consensus mechanism, that is, to remove the role of expensive mining hardware (whether ASIC or GPU). Intensive calculations and power consumption will be affected by It is replaced by a cheap ordinary computer, which only processes Eth2 nodes such as block transfer and synchronization. The cost of protecting the network is much lower! However, users need to lock 32ETH to join.

The overall security cost is reduced, and the rate of issuance can be reduced to less than 1%, depending on how many users participate in the network to become validators. In this way, the issuance rate can be scaled according to how much it has to pay for security.

-The number of additional issuances (reward scale) scales according to the actual needs for safe payment-

In addition to the reduction in the issuance rate, Ethereum 2.0 also aims to replace the auction market model that is currently used to pay for Gas, and to a slightly different model, that is, " EIP1559 ". You don't need to know how it works, you just need to know that in this mode, most of the fees paid by users will be destroyed. Although in this mode, users will pay less fees , but because Ethereum 2.0 has many shards, the total fee scale will be larger than the current Ethereum, so the number of destruction will be more many.

On the one hand, it is a very low rate of issuance, and on the other hand, it destroys part of the handling fee. The net issuance rate of Ethereum 2.0 may be negative, that is, the number of burned out will be more than the number of issuance! Then ETH will become more scarce, making the cost of attacking PoS systems more expensive.

The goal of consensus algorithms (such as PoW and PoS) is to ensure the security and decentralization of the blockchain, and the incentive mechanism to protect the network is to really make cryptocurrencies alive and not only It's a factor in the ledger numbers. The incentive mechanism guarantees that the miners / pledgers will provide network security. What Ethereum 2.0 pursues in terms of security costs is the minimum necessary additional issue rate . The minimum necessary issuance rate means the minimum number of continuous issuances that must be issued to ensure security. Low issuance rates and destruction strategies will gradually increase the cost of attackers (because ETH is increasingly scarce), thereby reducing the probability of large-scale attacks.

Stateless

You may have heard the term "state explosion", which people often mention when talking about Ethereum and the size of its state data. The essence of this problem is that one-time payment of Gas fees can keep your data on the Ethereum blockchain forever. This has led to an unlimited increase in state data, and many data may never be used again. . The "explosion" of state data on the storage scale means that the storage space and hardware conditions of Ethereum nodes must increase linearly with the continued survival of the network. In the long run, this limits the size of the population that can run Ethereum nodes, and the problem of state data growth becomes more severe each time the block gas cap is increased.

So, the solution to this problem in Ethereum 2.0 (and future ETH1 ) is statelessness , which allows nodes to verify all transactions and all parts of the state without saving any state. After achieving statelessness, the node's mode can form a spectrum from stateful to stateless , and each mode has different specifications. If your hardware is better and running stateless nodes is more than enough, but you still can't run a node that fully saves state, then you can make a compromise and run a "quasi-stateful" node. To learn more, watch this talk at the ETHDenver event !

-Network topology in stateless paradigm-

This is crucial for sharding! Because each shard has its own unique state, Eth2 validators need to perform state changes (processing transactions) based on the state on the shards they verify. A stateless protocol eliminates the need for the verifier to download the full state of a shard, but only a binary Merkel tree representing the data (this is much smaller than state data).

The more shards, the more endless the growth of state data, although there will definitely be services such as exchanges or block browsers at that time, there is an incentive to save all shard state data / historical data, regardless of cost and accuracy Delivery. Then there is the possibility of "state provider" software, which provides a validator with a portion of the status of the exchange that will be changed, allowing the latter to perform the status change. The state provider can completely eliminate hard disk read and write needs and dense storage needs during the verification process. This not only opens up possibilities for new, state-based incentives, it can also greatly help validators, as the latter no longer needs to save the full shard state. Of course, they can still verify the correctness of the state received from the state relayer, because they can compare this data with the state tree that has completed synchronization.

Account abstraction

In the current Ethereum protocol, there are two types of accounts, externally controlled accounts (that is, accounts controlled by a person using a private key) and smart contract accounts. Only externally controlled accounts can initiate transactions, and only transactions initiated by users who control the private key can change the status of their accounts. Although there is a meta-transaction now, it needs to rely on a repeater network (such as GSN ) to pay Gas fees.

For Ethereum 2.0, the goal is to abstract these two accounts into one account so that there is no difference between user accounts and contract accounts in the network. Contracts will of course continue to exist, but then the Ethereum network will be able to act as a relay for meta transactions. Signing a transaction and broadcasting it will no longer be the only way you can interact with the network.

At that time, you can make your account like a smart contract. For example, if someone sends you ETH, your master account will automatically forward it to your cold wallet. Or, all the ETH issued to you will be sold automatically. Hold it as DAI.

Being able to put functional modules directly into the account will produce many, many interesting dApp designs and functions! The operation of user management account will become various, instead of the allowed operations , as in the current Ethereum protocol.

An interesting possibility of account abstraction is that the contract can pay Gas fees and initiate transactions on its own. But this is a very complicated issue, and it is still under development, but once the development is successful, the possibilities are extremely abundant.

Execution Environments

As developers of Ethereum application development, the preferred programming languages ​​are Solidity or Vyper . They each have strange characteristics, but in terms of practicality, the development ecology is still very good. In current usage, code written in these languages ​​must be compiled into more general, lower-level operations to facilitate the interpretation of the Ethereum Virtual Machine (EVM). If you want to understand EVM more deeply, you can read this article . Although it is not necessary.

The operation code (OPCODE) used by EVM allows Ethereum nodes to produce the same calculation results, regardless of the computer running the node (this is also part of the "virtual machine"). It also makes it easier to customize complex operations such as verifying signatures and obtaining account balances, all in a single line of code. Without the EVM to accurately read out the state and perform state changes, various functions would not be possible.

Although EVM performs well as the foundation of the entire smart contract ecosystem (even on other chains), it would be better if applications on Ethereum can use any run-time language. The chain should not impose its own state transition rules (such as EVM) on others, and the execution itself should be more open. That's why everyone came up with the " execution environment ".

The execution environment mechanism allows all state transition rules to be directly implemented into the protocol layer (using WASM ), allowing the transaction processing method to be completely independent of the rest of the system. For example, there can be an execution environment (EE) dedicated to processing ZK rollups and hidden transactions, while another EE is used to process UTXO mode transactions (like the Bitcoin blockchain). There can even be a token-specific EE dedicated to hosting all tokens without having to upload the same code for each token. Of course, the existing EVM will also be replaced with an EE called eWASM to ensure support for the existing ecosystem.

Every dApp on Eth1 must fully consider the behavior of EVM in design, so the limitations of the Ethereum state transition function (that is, EVM) have become the bottleneck of the entire ecosystem. With the EE mechanism, this bottleneck no longer exists, and new dApps that use open dependencies on the protocol can also emerge. If you want to know more, EthHub has a great podcast with Will Villanueva . There is also an article describing the latest developments .

Original link: https://medium.com/coinmonks/what-eth2-has-learned-from-eth1-d1f7e0830a98 Author: Ivan Martinez Translation: A Sword