Funky and useful: these 12 new Ethereum things you can't miss

Source: Chain News

Planning and editing: Li Hua

Bad news: Over the past year, the major breakthroughs we expect on the blockchain have not yet appeared.

The good news: Many new explorations are still happening, and many of them are technically proven to be applicable and helpful to the development of the blockchain. They have been absorbed and made the blockchain a more robust system. In addition to technology, people have also explored the issues of governance of open source communities and funding of public goods , and have come out of some ways. Compared to technology, the solution of these problems may be more important. They are the source of sustainable development of blockchain.

In this article, we have invited 10 observers and explorers of the blockchain world and asked them to write an introduction to Ethereum , the newest thing in the largest open source community in the blockchain, among which will be the most popular The analysis of Rollup 's underlying thinking will have a detailed explanation of the second-party financing of Vitalik Buterin for a whole year, and will also include content that has not yet entered the public's vision, such as the significance of BLS signatures for Ethereum 2.0 authentication design , such as Use Zcash tokens on Ethereum .

These new things and the thoughts and people that make them happen make us believe that, although the road is long, the future is promising.

Key words of this article: Rollup, Validity Proof, BLS signature, Ethereum and Zcash interoperability, account abstraction, CREATE2 instructions; Staking, DeFi, ENS; Ethereum new governance process, market development model, quadratic financing.

Hardcore technology 6

A thousand words to understand Rollup

p0n1, researcher at Abe Labs, focusing on zero-knowledge proofs and smart contract security

Rollup is a collective name for a large class of Layer-2 capacity expansion solutions , specifically referring to performing complex calculations and state maintenance off-chain, and then using the cheaper CALLDATA to save data related to state changes through the contract. Anyone can restore the global state based on the data saved on the chain, thereby eliminating the security risks caused by data availability issues. Rollup rolls up / aggregates a large number of transactions into one transaction, improving TPS while ensuring data availability.

So how to ensure the correctness of the state change? ZK Rollup and Optimistic Rollup are currently two hot alternatives. Their core differences are as follows:

  • The key of the ZK Rollup solution is ZK. Each state transition needs to provide zero-knowledge proof, which is verified by the contract on the main chain. The state can be changed only after the verification is passed. That is, the state transition of ZK Rollup relies strictly on cryptographic proof.
  • In the Optimistic Rollup solution, each state transition does not need to be strictly verified. It is optimistically assumed that each transition is correct (this is the origin of the term Optimistic) , and then a certain transition can be challenged within a certain time limit. A successful challenge proves that there was a problem with the previous commit, which punishes the committer and rolls back the status. That is, the state transition of Optimistic Rollup depends on economic incentives and games.

The difference between the two schemes can also be viewed from the perspective of the proof model: the former is Validity Proof , and only the state that provides " validity proof " will be written into the main chain contract; the latter is Fraud Proof (error Proof) , the user needs to provide an "error proof" for the exception during the challenge period and report an incorrect status.

In terms of security, ZK Rollup has an advantage. Because Optimistic Rollup or Fraud Proof-based two-tier expansion agreement must report complaints during the challenge period, a scenario can be constructed for miners to cooperate to do evil, and reject all complaint transactions submitted to Fraud Proof during the challenge period, resulting in an incorrect status The change will be confirmed and the attacker can steal funds from the contract. But this attack method is not effective for ZK Rollup, because it always has correctness check in its contract.

On TPS, ZK Rollup uses zk-SNARK technology to reduce the amount of calculations on the chain while ensuring the correctness of the data. The calculation process of all transactions does not need to be performed in the contract. The Operator only needs to submit the Merkle Root, transaction data and zk-SNARK certificate of the Merkle Tree that stores the account status to the contract. After the contract verification is passed, the new state is written to .

Because the zk-SNARK proof size (very small) and verification time (quickly) are constant and will not increase with the number of transactions, ZK Rollup can greatly increase the TPS of transactions. ZK Rollup's on-chain performance limit only depends on the cost of CALLDATA to store data. With the completion of the Ethereum Istanbul upgrade, the cost of CALLDATA has been reduced to 1/4 of the original, and the performance of ZK Rollup has been increased by 4 times. TPS can reach nearly 2000.

Currently, several teams have developed based on the ZK Rollup solution, such as the trustless expansion and privacy solution ZK Sync released by Matter Labs. The bottom layer of ZK Sync relies on ZK Rollup. The product line is to focus on improving the performance and ease of use of simple transfers first, then to expand the capacity of general smart contracts, and finally add privacy protection. The goal is to improve transactions while ensuring security. performance.

Validity Proof: A New Idea for Designing Layer-2

A Jian, Content Leader of "Ethereum Lovers"

The Layer-2 scalability solution called Rollup is gaining momentum, but in fact, Rollup may not be important. The Layer-2 solution uses Validity Proof or Fraud Proof . Focus.

The previous Layer-2 solutions, such as the status channel and Plasma, cannot prevent the operator or user from submitting non-latest status when the user withdraws, that is, the process of completing the clearing in the off-chain state. "Challenge period", that is, a period of time after the status of the chain is allowed to submit updated status, or prove that the status of the chain is invalid. We call this model "proof of error".

However, a new way of thinking is why not only receive status updates submitted by the TA when someone can prove that the state transition they submitted is valid? In other words, this model requires the operator of off-chain calculations to prove that some calculations have taken place and is verified by the smart contract, and accepts the value and updates the state if and only if the new state value is proved to have been legally calculated. We call this model " proof of validity ", it only needs to ensure that the evidence is small enough and the calculation required for verification is low enough.

The difference between the scheme represented by ZK Rollup and other Rollup schemes and earlier Layer-2 schemes lies in the idea of ​​proving the effectiveness of state transition. Compared with the erroneous proof, the validity proof has huge advantages in many aspects. Its biggest advantage is that it avoids a long challenge period and improves the efficiency of capital operation and user experience.

BLS signature on Ethereum

Xiang Xie, Algorithm Scientist at PlatON

At present, Ethereum 2.0 has been fully converted to use BLS (Boneh-Lynn-Shacham) signature as its core signature algorithm.

The original design of BLS signature is to find a digital signature scheme with a shorter signature length in the low-bandwidth communication environment to replace the traditional RSA signature (1024bit signature length) and ECDSA signature (320bit signature length) . The BLS signature only needs a signature length of 160 bits, and its security is equivalent to that of ECDSA.

In the blockchain scenario, we always want to reduce the communication volume as much as possible. Not only the length of a single signature is shorter, but the way it works also helps achieve this goal. For example, one way to reduce traffic is to use aggregate signatures instead of multi-signatures, but ECDSA cannot do aggregate signatures. Although Schnorr meets the requirements for signature aggregation, its essence is the collaborative signature of the same message by multiple participants. This distributed The collaboration process requires a significant increase in the number of communications.

In contrast, the aggregation process of BLS signatures is non- interactive , that is, any node can directly aggregate multiple received BLS signature message pairs and support the aggregation of signatures of different messages. The following figure describes the process of BLS signature aggregation:

These advantages make BLS signatures very suitable for various authentication designs in Ethereum (including Ethereum 2.0) . The Beacon chain in Ethereum 2.0 includes pledge contracts, and the shards in Layer-2 use BLS to support inter-chain communication.

Let's use the example of organizing validators to enter the committee to vote on the proposed block as an example to briefly explain the role of BLS signatures in it.

In Ethereum 2.0, there will be hundreds of thousands or even millions of validators. The Beacon chain will assign the validators to the committee according to a certain randomness, and the committee will vote on the proposed block. Each committee's votes will be formed into a signature through the BLS aggregation algorithm, so that the verification of all the votes of the entire committee will be extremely efficient.

In addition, Beacon chain nodes are responsible for managing validators and their mortgage rights, nominating block producers for each shard, responsible for validators' rewards and penalties, and assisting in processing cross-slice transactions … All rights-related actions need to be completed by verifying the BLS signature.

Ethereum and Zcash “ cross-chain '' operations

Wu Weilong, Ethereum hardcore player

EIP-152 : Added the function of verifying Equihash PoW (Zcash's PoW) in the Ethereum contract, opening the possibility of relay transactions and atomic swap transactions between Zcash and Ethereum .

If Zcash and ETH are considered as two separate ledgers, verifying the Equihash PoW in the Ethereum contract is to ensure that Zcash can verify the changes to the Zcash ledger by the Ethereum contract, which means that Zcash tokens can be used through the Ethereum contract. In this way, Zcash assets can be in Ethereum.

"Asset" is a row in the database. The blockchain needs to be signed and checked before the database can be changed. Verifying the Equihash PoW in the Ethereum contract is to add a hash function to solve the problem of verifying the signature.

In this way, it can support scenarios like this: A can execute a contract running on Ethereum, A can give B a Zcash token, then Zcash verifies the signature, and then passes the result to the contract on Ethereum. Perform the next action.

However, this "cross-chain" or interoperability relationship between Ethereum and Zcash is one-way from Zcash to Ethereum. In both directions, Zcash also needs to add corresponding functions.

Account abstraction: Adding extensibility to account functionality

Wu Weilong, Ethereum hardcore player

Ethereum has two types of accounts. One is an external account , that is, a user account, which is controlled by a key. Its function is fixed. It can only perform basic transfers and generate contract accounts. The other is a contract account . The smart contract code is compiled and deployed on the Ethereum network and generated. Because the contract can customize logic, the functions of the contract account are extensible.

Account abstraction is to implement a set of DIDs on the Ethereum network. Interactions can be handled directly by DID holders, regardless of whether the DID subject is an external account or a contract account. This adds extensibility to external accounts, allowing it to be similar to contract accounts, using higher logic to operate, and also more commonly using two different forms of "accounts" to represent these two accounts: external accounts and contract accounts. Types of. After account abstraction, external accounts can control other external accounts, and can also allocate and control contract accounts. The benefits this brings include the ability to customize the payment entity of the transaction to generate an account management mechanism to implement the signature management and control function of fund use; it can help DAO to better design and implement it; and allow external account management to be controlled by a contract account. Fuel costs, to solve the existing less-automated behavior that requires the contract deployer to pay the fuel costs even with a contract.

CREATE2 Directive: New and useful contract deployment method

Yuanming Wang, Chief Architect, Westar Labs

EIP 1014 : CREATE2 instruction, add a new 0xf5 opcode instruction CREATE2 , 0xf5 instruction behaves the same as CREATE, except that it uses keccak256 (0xff ++ address ++ salt ++ keccak256 (init_code)) [12:] instead of The sender + nonce hash to calculate the contract address.

Although CREATE2 of EIP 1014 is a minor change, it has a great effect on the design of the second layer.

At present, Ethereum cannot predict the contract address when the contract is deployed, because the contract address is determined by the sender's address and the sender's nonce when the contract is deployed, but the sender's nonce cannot be predicted. We know that the transaction of the second layer is effective because there is a contract constraint of the first layer. If the related arbitration contract of the second layer is required to be deployed first, it will increase the cost.

CREATE2 provides a new contract deployment method. The contract address is determined by the sender address, salt, and initialization code. In this way, the second-tier system can write code based on a contract that has not yet been chained-because the contract address is known at this time-deploy the contract when necessary, which saves costs and simplifies counterfactual status Design scheme of the channel.

User participation 3

How to participate in Ethereum Staking?

Rudy Lu, InfStones China Representative, Infpool Mining Pool Partner

First, we need to understand the differences between Ethereum Staking:

Difference one: fixed amount of mortgage

The staking of most of the projects we are familiar with now has no limit on the number of tokens collateralized by a node, such as EOS, TRON, Cosmos and other projects; or certain limits are imposed by the mortgage rate, such as Tezos, Wanchain and other projects. But ETH 2.0 is very different from these entrusted collateral models. Each node needs to collateralize and can only collateralize 32 ETH. ​​If I have 320 ETH, I need to establish 10 nodes.

This staking design of ETH 2.0 is compatible with its shard chain structure. By forcing a fixed amount of 32ETH to guarantee the number of nodes in the entire network, it also ensures that there will not be a huge number of headers. Nodes have more monopoly accounting control on a certain shard chain, and the degree of decentralization of ETH 2.0 mining will be improved accordingly.

Difference two: principal and income are not a currency, neither can be traded at an early stage

Except for projects with dual-currency structures such as Ontology and Vechain, generally Staking mining is "locking what currency and earning what currency", but ETH 2.0 locks on ETH tokens on the PoW main chain. BETH tokens on the standard chain, they are essentially two coins. Because the two chains will not achieve interoperability anytime soon, the trading prices of ETH and BETH on the open market are also estimated to be completely inconsistent.

In Phase 0, which is expected to be launched next year, ETH 2.0 will not have transaction functions. Even if the verifier (node) exits Staking, the principal and revenue cannot be transferred from the account. Therefore, all the principals and revenue of the early participating nodes are It is almost locked, and it can only wait for the further development of ETH 2.0 to gradually realize the account transaction function.

Difference 3: Decentralized commissioned mining did not exist in the early days

The "delegation" function can separate tokens from the block production rights carried by the tokens. Holders can entrust the block production rights to trusted nodes to participate in consensus and win rewards, which also makes Staking widely accepted by the public. Recognize and gradually become hot. However, in the first two phases of ETH2.0 (phase 0, phase 1), there is no decentralized commissioned mining, which means that the holders can only set up node operations by themselves, or hand the coins to the centralized mining pool. Mining on behalf of you, but mining on your behalf is equivalent to transferring coins to others for custody, and there is a security risk of principal.

Second, you need to understand the participation conditions of Ethereum Staking.

The threshold for Ethereum Staking participation is not high. From a hardware perspective, the performance of a home computer can run a node. Ethereum hopes to encourage more holders to participate through a low threshold to achieve the purpose of decentralization as much as possible.

Because the holder is not a professional node operator, in general, nodes cannot be guaranteed to run 24 hours. Therefore, in the design of the economic model, Ethereum Staking has a very small penalty for offline nodes, and the penalty for offline for 3 consecutive days is 1%. Left and right, but the longer the offline time, the greater the punishment, and the penalty will be 50% for 21 days.

For the participants, operating the nodes 24 hours can guarantee the maximum revenue. At the same time, it is necessary to upgrade the node version, prevent "double spending", and monitor and prevent disasters. At that time, node operators will launch professional node operation services.

With this information in mind, let's take a look at the earnings analysis of Ethereum Staking.

The annual increase rate of ETH 2.0 is dynamically changed with the pledge rate of the entire network. According to the currently published rules, the annual increase rate and the increase of the pledge rate of the entire network are 0.5 power. The higher the network-wide pledge rate, the higher the annual issuance rate, and the lower the annualized return of a single node. When the entire network is pledged at 10%, the annual return of the node is 5.72%.

DeFi in 2020

Yang Mindao, founder of dForce

  • In 2020 , we will see a big breakthrough in cross-chain and asset-chain cross-chain implementations. Many new asset classes will enter the Ethereum DeFi system, such as PoS-type Staking assets, which will generate interest on Staking assets.
  • The Ethereum system will witness the deployment of more Layer-2 systems . Building on Layer-2 will make it easier to scale the DeFi ecosystem.

ENS play is limited only by your imagination

Lao Bai, DApp player, NFT collectible enthusiast, started to contact Ethereum from ENS auction

ENS (Ethereum Name Service) is a distributed domain name system built on the Ethereum blockchain . If Ethereum is the foundation platform for the next generation of decentralized networks, then ENS will become the same domain name registrar as ICANN, and eth will replace com as the core building block of Web3.

ENS has a large imagination space and a large experimental space, and briefly introduces some existing gameplay:

1. Using ENS instead of a general account address can reduce the loss of funds due to input errors, because when we transfer to ENS, if the input is incorrect, we cannot effectively resolve the ETH address it points to, which prevents further operations.

2. Point ENS to the address of the agency contract. You can achieve flashing by transferring money to the ENS domain name. For example, we can receive dai by typing ETH into dai.now.eth. The principle is to point ENS to uniswap's eth / dai exchange contract. You can also set the fallback function of the proxy contract, that is, the default function of the contract after receiving ETH is set to the exchange gateway of uniswap or eth2dai, so as to realize the exchange.

3. If your browser has MetaMask installed, you can directly access the ".eth" domain name, that is, use your browser to open the website ending in ".eth" or the DApp front-end address, just like opening the ".com" website on the Internet same. This website or DApp front-end can be built on IPFS and does not rely on a single point of centralized server. For example, we can access https: //almonit.eth through a browser, an ENS navigation website built on IPFS, and all the developer needs to do is to add a RECORDS in his ENS management interface, pointing to the IPFS address corresponding to the website .

4. DApp developers can register the main domain name of ENS, and then assign sub-domain names to users according to their wishes. If this is an encrypted communication application, users can use sub-domain names as user names for interaction.

5. ENS's DApp merchant application is a promising scenario. Take Starbucks as an example, it can register for membership through coupon.eth: starbuck.coupon.eth, and then generate its own ERC721 collection, each collection has a grandchild domain name such as: 2019santa.starbuck.coupon.eth, and the grandchild The domain name points to an NFT contract. You can set the user to send 0 ETH to this ENS address to receive a collectible item or participate in a lottery, so as to realize the issuance and placement of merchant souvenirs.

Community building 3

Ethereum's new governance process

A Jian, Content Leader of "Ethereum Lovers"

Starting in March of this year , the Ethereum community began to explore new governance processes.

Developers mainly based on Alexey Akhunov proposed that in the development process of Ethereum 1.x, the reference implementation and testing tasks of EIP should not be all pressed to the client team, but an independent working group should be introduced, and freely combined work The group implements the EIP of interest, generates a test, and submits it to the client team. Alexey himself is a hands-on practitioner of this model.

Later, some people suggested that a "representative" system could be established, that is, an EIP must have a representative who is responsible for community liaison, communication with the community, and responding to community questions.

Later, some people proposed that the time of the hard fork should be normalized to provide predictability. At the same time, the hard fork only accepts EIPs that are fully prepared and there is no doubt. Any doubtful EIP will be postponed. Implementation progress affects the time of the hard fork. It's similar to a train. It leaves at the end, and the EIP without the train will wait for the next trip.

I have always believed that the governance process is the core of governance. The above-mentioned various improvements to the EIP process have made development responsibilities clearer, the ownership of Credit is clearer, and the entire community has clearer expectations. At the same time, I lament that the development of practice seems to be ahead of the development of knowledge again.

How will the market model guide Ethereum 2.0 to evolve?

Thor, the observer of the blockchain world

A brand new system is generally dominated by the initiator in the early stages of design and implementation, and it is promoted on a small scale, even in the initial stage of Ethereum 1.0. On the one hand, the initiators know their own ideas best, and the efficiency of early closed development may be higher. On the other hand, it is not difficult to attract like-minded participants to participate in collaboration without brand identity and community culture.

Ethereum 2.0 can be said to be a near-new system to a certain extent on the technical level, but not on brand identity and community culture. Since the creation of Ethereum, the community has continuously evolved and gradually formed a self-organizing system with strong vitality. Some old people keep leaving, but the vision and culture of the community continue to attract fresh blood to join, and strengthen the robustness of the entire ecology.

Therefore, Ethereum 2.0 has the opportunity to practice a more aggressive and open market-style design and development model at the initial stage, and on this basis, weaken the influence of authoritative individuals on the development of the protocol as much as possible and maintain the characteristics of the market model . How will the bazaar model promote the evolution and development of Ethereum 2.0? Can the bazaar model have more competitive advantages and vitality than public chain projects that adopt the cathedral model? This is the point I'm most interested in in Ethereum 2.0 beyond technology.

Gitcoin Grants: Exploring Public Goods Financing Models

Mako, founder of v2eth.com

Gitcoin Grants is a crowdfunding platform that periodically provides funding for Ethereum open source projects. It uses the second-party financing CLR mechanism (Capital-constrained Liberal Radicalism) . This mechanism is Vitalik Buterin and Glen, one of the authors of " Aggressive Market " Weyl proposed in the paper "Liberal Radicalism: Formal Rules for a Society Neutral among Communities".

It can be said that Gitcoin Grants is a very good practice of the idea of quadratic voting in blockchain technology and radical markets (quadratic financing is an extension of quadratic voting) , it explores how to use the best mathematical method Funding open source projects / public goods is why I am very interested in this project.

The second-party financing CLR mechanism includes two parts: crowdfunding and matching donations :

  • Crowdfunding: Individuals donate to public goods. Add the square root of the donation amount of each person to get A, and then square A to get B. B is the total funding that the project party should receive.
  • Matching donation: The amount that the project party deserves, that is, B, is greater than the sum of the amounts donated by each donor, and the foundation or private philanthropist will make up the difference. Under this mechanism, the degree of funding that a project receives has a higher correlation with how many people support it in total. The more donors a project has, the more matching funds the project party gets.

In fact, when deploying public goods in a society, two basic problems are faced: the free-riding problem and the problem of minority interests.

In the "one person, one vote" method, a vote has a negligible effect on the result, so rational people will not vote. This will cause a free-rider phenomenon. The same is true for financing. People who originally wanted to fund the project considered themselves a piece Money cannot help the project party, so it will not participate; but if the method of second-party financing is used, one dollar will be enlarged, and rational people will have the incentive to participate in crowdfunding, thereby reducing the phenomenon of free-riding.

In the "one person, one vote" approach, the minority obeys the majority, and the system cannot reflect the importance of diverse products to different individuals, which will suppress the interests of the minority and put it in financing. Which projects are funded is determined by the majority vote; if With quadratic financing, individuals can choose to fund projects of interest to them and indirectly affect the amount of the project's allocation, which can partially solve the problem of minority interests.

Since its launch in January 2019, Gitcoin Grants has helped raise and distribute $ 827,000 in funding to the open source community; in the third matching donation in 2019, it provided 1982 donations to 68 open source projects with a value of USD 170,000 ; Gitcoin Grants plans to conduct fundraising activities at least quarterly in 2020.

I suggest that Ethereum's open source projects can submit their own projects in the first quarter of 2020 (January 6 to January 21) and participate in the second-party financing of Gitcoin Grants. The Ethereum Foundation and Gitcoin Core will provide 200,000 US dollars in matching donation funds for community media projects and infrastructure construction projects, and which projects can get funding is up to us. Each person only needs to sponsor $ 1.

How to participate in Gitcoin Grants:

  1. Project party : The developer joins the candidate list for accepting donations by applying, and needs to submit the relevant introduction of the project and the funds required by the project every month.
  2. Users : Users can sponsor their favorite projects, and can choose the total amount of funds to be sponsored, and how many cycles the funds are distributed to project developers. Through Gitcoin Grants, the platform will charge a 5% fee.
  3. Ethereum Foundation : The Ethereum Foundation determines the matching donation amount.