Introduction | Market Development Model and Ethereum 2.0 Development Process

I recently re-read Eric Raymond's 1997 classic The Cathedral and the Bazaar. This paper explores what happens if various types of participants are allowed to participate in the development of a software project. Eric calls it the “market” model of open source software projects. While this model can bring a lot of noisy sounds, this seemingly chaotic situation will inspire endless productivity and vitality – and more importantly, create better results. Compared to the “market” model, in the traditional “Cathedral” mode, all development work is done by a small closed team. After more than 20 years, the market model will show great power. For example, the Linux operating system uses the "market" mode, and most of the world's computing is currently done using the Linux operating system.

I found it very interesting to analyze the Ethereum 2.0 blockchain development from this perspective. It has been a year since the launch of the Ethereum 2.0 project, and it feels like a good time to reflect.

The Ethereum 2.0 project has largely adopted an open market-based development model. However, we have taken a step forward in Raymond's vision: in Ethereum 2.0, we are not just developing software; we are designing the entire protocol in a completely open way. I am not sure if anyone has done this before.

This is not to say that there is anarchism. In line with Raymond's philosophy, the development work is led by a small team within the Ethereum Foundation, where they master the overall development rhythm and manage the main code base. However, all development work is open and transparent, and the scope of participation is expanded as much as possible. To name a few, the Ethereum 2.0 specification currently has 62 contributors, more contributors are involved in the implementation of 9 clients, some are participating in research and development discussions on the ethresear.ch website, and some are participating in two Weekly developer conference (more than 50 people attended the most recent conference).

Indeed, this development process sometimes seems to be disorganized and inefficient. There have been many redesigns, corrections, and rewrites. However, in this messy market model, there have been some great things, some extraordinary things, something that is difficult for some open-minded developer communities .

I have already stressed, and will repeatedly stress that this development model has brought a powerful impetus to Ethereum. Radical openness has greatly increased the level of participation and recognition within the community. Technology such as Ethereum relies fundamentally on the “network effect” driven by the community, which is very important. This kind of participation has precisely created the difference between Ethereum and other technologies.

I often think about this powerful driving force through an example. Vitalik recently mentioned it on Twitter: It's really amazing, and whenever there is a demand, someone will come out and fix it. At the end of 2017, Justin Drake's squadrons revived the long-stayed Ethereum 2.0 R&D program. In 2018, Ethereum 2.0 clearly needed better coordination and planning: Danny Ryan stood up again. At the beginning of 2019, Diederik Loerakker suddenly airborne and took on the important task of creating a client test package for Ethereum 2.0. Our next challenge is peer-to-peer networking technology, with a large number of participants joining. I can cite dozens of examples, but they are used to prove this argument – the market model is true love.

– Roadmap for the market model (Source: Microsoft)-

Some companies interested in Ethereum will ask me an interesting question: What is the road map of Ethereum? In fairness, although participants have a consensus on the development direction of Ethereum's development progress, there is no open and detailed “official certification” roadmap. The market model does not set a “reasonable” roadmap. There is a classic old article on the Linux weekly news site that explores this issue, and the final conclusion is: "Trying to impose a roadmap on the development process will not help."

Having said that, I would like to remind you that the Ethereum 2.0 system plan is divided into three different phases, each of which is built on the basis of the previous phase. Phase 0 is a beacon chain that implements a proof of equity agreement to replace the workload proof mechanism to protect the blockchain network. Phase 1 provides strong scalability in the form of a fragmented chain, which will increase the transaction processing capacity of the network by more than a thousand times. Phase 2 is the executive layer, providing user accounts and smart contracts, and supporting a range of distributed applications necessary for the decentralized future.

Beacon chain [stage 0]

 

After a full year of intensive development, the Ethereum 2.0 beacon chain was frozen on June 30th: R&D and design have been completed; we have fully entered the final delivery phase.

The beacon chain is the basis of the Ethereum 2.0 system. The beacon chain is primarily responsible for managing the operation of the equity certification agreement and coordinating all independent parallel shards, and it is the most complex part of the overall development. If you don't know much about the beacon chain, or need to revisit it, you can read my last post.

The concept of the beacon chain was proposed in Berlin last July and the future direction of Ethereum 2.0 (I wrote a related article before). The specification of the beacon chain from the beginning of the blank paper, combined with the early ideas of Ethereum, has been determined through repeated thinking, discussion, auditing and testing.

At the same time, no fewer than nine teams from different geographies with different cultural backgrounds are using different programming languages ​​to implement this specification, while adding infrastructure (networks, databases, tools) that can drive the beacon chain. – The specification only serves as an engine, and it needs to add a lot of things to really run.) Some teams have released a public proof-of-concept test network that allows users to experience the feeling of being an Ethereum 2.0 verifier, such as the test network published by Prysmatic Labs.

This specification sometimes becomes very fast, and we are already trying to keep up. Recently, the normative freeze is an important milestone that can bring two major benefits.

The first benefit is that the specification can now be formalized . The specification is translated into a proprietary language called K, taking into account rigorous analysis and proof of correctness. The formal verification work will be done by the Runtime Verificaton team. The team has completed an analysis of the verifier's pledge contract. The verifier pledge contract will be deployed on Ethereum 1.0 to transfer the verifier to Ethereum 2.0.

The second benefit of the specification freeze is that it allows all clients to catch up and progress to the next important phase: interoperability . The Ethereum 2.0 beacon client is similar to the current Ethereum nodes like Geth, Parity, and Pantheon. The Ethereum 2.0 network is operated by these beacon chain nodes. They communicate with each other and, more importantly, they always agree on each other. Any disagreement caused by a vulnerability, no matter how small, will lead to network partitioning.

– Collaboration in Brooklyn for interoperability –

Achieving interoperability requires a process. First, all clients need to pass common reference tests. One of the very interesting features of the Ethereum 2.0 specification is that it is executable by itself – you can generate client-side tests directly by running the specification. Some people may prefer a more narrative style, but nevertheless, this is a very useful feature. Previously relying on another very effective "fuzzy test", successfully tracked many problems of the Ethereum 1.0 client. This kind of test is to repeatedly feed the corrupted data to the client until it finds an extreme situation that causes the client to behave erratically. Such tools are currently being developed for the beacon chain.

As long as each client team confirms that the beacon chain is working properly, the next step is to start communicating with each other . Once a problem has occurred, it is difficult to diagnose the distributed network. Therefore, the first step for these client teams is to implement a simplified protocol that is easy to debug and analyze before running the full network stack. The current plan is for all client teams to go to a remote location in Ontario in early September for closed development: wait until all client implementations are properly interoperable before they can exit.

Interoperability paves the way for a joint open beta network to be launched long term later this year . Those who want to get involved can choose to install the client software, pledge ETH on the test network, then participate in network authentication, or try to attack the network. People who discover vulnerabilities and problems may be rewarded.

Finally, if all goes well, the beacon chain will go live in early 2020 . It has been suggested that the date of the launch be placed on January 3, the day of the day when the Bitcoin creation block was dug up. However, if the main network is fully operational, this time may be a bit of a hurry. It is more likely to go online at the end of the first quarter of 2020.

Before the beacon chain is launched, the final step is to deploy the verifier pledge contract to the current Ethereum 1.0 chain. Anyone who wants to be a certifier can register for a pledge of 32 ETH through a pledge contract. According to the plan, the contract will be deployed on DevConV in early October this year . Once the deposit in the pledge contract has accumulated to around 2 million ETHs, that is, after the registered certifier reaches 65,000, the beacon chain has the ability to withstand attacks, and we can start the beacon chain.

Slice chain [stage 1]

 

Although Ethereum 2.0 is delivered in phases, each phase is developed in parallel.

Phase 1 requires the completion of the design and delivery of the fragmented data link. At this time, we need to add 1024 blockchains to the system, each chain connected to the beacon chain. The protocol at this stage is much easier than the beacon chain, and the (most complete) specification is only half the length of the beacon chain specification.

– Ethereum 2.0 will be an unprecedented peer-to-peer network (thanks to Daniel Aleksandersen's license CC BY 4.0) –

The main challenge in Phase 1 is that because the verifier is spread across 1024 sliced ​​chains, this peer-to-peer network needs to communicate with the verifier accurately and quickly enough. This development is currently in progress with client interoperability development.

Executive layer [stage 2]

 

The most exciting development at the moment is that Ethereum 2.0 delivery has entered the final phase: the executive layer. Someone wrote this sentence, I know very well how much the challenge of a piece of white paper. With such a huge design space and an unfettered development atmosphere, it is difficult to know where to start. The design of the Ethereum 2.0 executive layer is also facing the same problem.

Until a few weeks ago, no one was sure where to start: What kind of program can we run on Ethereum 2.0? What will the user account look like? How do you communicate between the slice chains? None of these questions are good; there are too many possibilities. We have not found a clear way forward.

Casey Detrio broke this dilemma. He briefly described Serenity's conceptual journey at the Ethereum expansion conference in Toronto, and gave a suggestion that has proven to be very effective. Vitalik adopted Casey's advice and made further improvements based on it. At present, others have joined the prototype design with enthusiasm and given definitions.

In the current Ethereum blockchain, there is only one execution environment of the Ethereum Virtual Machine (EVM). Each smart contract can only be executed by the Ethereum virtual machine. There is only one charging method for executing the contract (using gas to pay the transaction fee), and only certain cryptographic signatures and anti-replay mechanisms are allowed, which have been written. The underlying protocol. Although the Ethereum virtual machine is very powerful, there are still limitations: even if you only want to send a small amount of ERC 20 tokens, you need to charge the account with ETH; it is difficult to achieve true anonymous transfer; the cost of adopting novel cryptography technology Very high.

In short, the Ethereum 2.0 plan is to “separate” everything. The blockchain itself no longer controls these mechanisms, but instead provides a number of different execution environments (EEs) . Each execution environment can operate according to its own set of rules and be optimized for its own purposes.

For example, in addition to the general execution environment provided for smart contracts compiled into eWASM, there will be an execution environment optimized for anonymous token transfers, for the execution environment of a new smart contract language like Haskell, to handle the high-capacity Plasma side. A chain-optimized execution environment, as well as an execution environment tailored for business users, is licensed and private. There may even be a Move virtual machine that executes the environment to run Facebook's recently announced Libra blockchain.

There are still some details left to the next article to explain it – the current phase 2 is still in rapid development, and this article is long enough. However, I will mention an important result of the new model of Phase 2. Ethereum 2.0 has always had a grand vision to replace the entire Ethereum 1.0 blockchain as a shard in Ethereum 2.0. This provides future guarantees for existing Ethereum applications, and ultimately shuts down the PoW model. We now have a practical solution that is putting the original vision of illusion on the agenda. The “Eth1 Migration to Eth2” plan does not need to be implemented when Ethereum 2.0 is first launched, and can be added later, so there is still time to improve.

Conclusion

– Lively market [Thanks to Diego Delso (delso.photo) for licensing CC-BY-SA ]-

As far as the current progress is concerned, I am more optimistic about the future of Ethereum 2.0 than before. I don't like to exaggerate, but I think the final delivery phase 2 may start in 2020, earlier than the previously estimated date. It is best not to quote my sentence.

Before we move on to the next stage, we still have a lot to do, but the route is much clearer than before and the participation is getting higher and higher. The market model has already shown great power: it will be an exciting scene, and I believe that getting so many talents to participate actively will ultimately achieve significant results.

The market is open to everyone: Why not join?

Disclaimer: The author's point of view does not necessarily represent Consensys AG's point of view. ConsenSys is a decentralized community whose members are free to express their views and opinions on the ConsenSys Media platform. To learn more about ConsenSys and Ethereum, please visit our website .

(Finish)

(A lot of hyperlinks are provided in the article, please click to read the original text to get the EthFans website)

Original link:

Https://media.consensys.net/ethereum-2-0s-latest-strides-forward-13f63652e57d

Author: Ben Edgington

Translation & Proofreading: Min Min & A Jian

(This article is from the EthFans of Ethereum fans, and it is strictly forbidden to reprint without the permission of the author.