BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Welcome to the Ethereum 2.0 Bazaar

星球君的朋友们
Odaily资深作者
This article is about 6739 words, reading the full article takes about 10 minutes
Phase 0 specifications have been frozen; various Ethereum 2.0 clients are testing interoperability; phase 2 related research has exploded. What does all of this mean for the future of Ethereum?
AI Summary
Phase 0 specifications have been frozen; various Ethereum 2.0 clients are testing interoperability; phase 2 related research has exploded. What does all of this mean for the future of Ethereum?

Editor's Note: This article comes fromUnitimes(ID: Uni-times), Author: Ben Edgington, Compiler: Jhonny, Odaily released with authorization.

text

I recently reread Eric Raymond's classic 1997 article on open source development, "The Cathedral and the Bazaar" [1]. What happens when you allow a wide range of participants to participate in the development of a software project? Eric calls this the "bazaar" model of open source software development. This "bazaar" is noisy and chaotic, but it is highly productive, dynamic - and most importantly, it leads to better results.

In his article, Eric contrasts this bazaar model with the more traditional "cathedral" model, where all development is done by a small, closed group of people. Today, more than 20 years later, the power of this "bazaar" is undeniable. We know that the Linux operating system, which now dominates much of the world's computing, is just one example of the "bazaar" model of software development [2].

I found this to be an interesting lens to look at the development work on Ethereum 2.0. From the beginning of the Ethereum 2.0 project a year ago to the current progress of this huge project, now is a good time to think about its "bazaar" development model.

The Ethereum 2.0 project largely adopts an open, bazaar-style development model. But we're taking Eric's vision a step further: in Ethereum 2.0, we're not just building software, we're designing the entire protocol in this completely open way. I'm not sure if anything like this has been attempted before.

9 teams of the current Ethereum 2.0 client, source: ethhub.io

9 teams of the current Ethereum 2.0 client, source: ethhub.io

text

Yes, the process can seem chaotic, unorganized, and inefficient at times. There have been many redesigns, modifications and rewrites. Yet amidst this bazaar-like din, something fantastic is emerging. This is something remarkable, something that a less open developer community will struggle to compete with.

In my opinion, this "bazaar" development model is Ethereum's superpower. Thorough openness brings broad community participation and acceptance. This is crucial for a technology like Ethereum that fundamentally relies on community-driven "network effects." This level of engagement alone sets Ethereum apart from other platforms.

Vitalki recently tweeted: It's amazing how often when a need arises someone steps up to address it [5]. At the end of 2017, Justin Drake appeared on the stage of Ethereum 2.0 project research, revitalizing the once silent research on Ethereum 2.0; in mid-2018, research related to Ethereum 2.0 needs to be better coordinated and planned: Danny Ryan accelerated the pace; in early 2019, Diederik Loerakker popped up to play a key role in building the Ethereum 2.0 client test suite.

I could cite dozens more related examples, but the ones above show that people love Ethereum as a bazaar.

Will the bazaar have a development roadmap? Source: Microsoft

I get asked an interesting question from time to time, usually by businesses interested in Ethereum: Where is the roadmap for Ethereum?

text

To be fair, there is no published, detailed, firm, "officially sanctioned" ethereum, although there is a lot of common understanding when it comes to where we are going and how to get there. Fang development roadmap.

There isn't really a "proper" roadmap for the development of the bazaar. An old article on Linux Weekly News also discusses this issue [6]. Their conclusion: "Trying to impose a roadmap on the process is unlikely to improve it (referring to Linux)."

Phase 0 is the beacon chain phase, which will implement the PoS (Proof of Stake) protocol, an alternative to the PoW protocol used to secure the entire Ethereum network.

Phase 1 will provide large-scale scalability for the Ethereum network in the form of fragmented chains, increasing the transaction processing capacity of the entire network by more than 1,000 times.

secondary title

Phase 0: Beacon Chain

Phase 0: Beacon Chain

After a full year of intensive development, the Ethereum 2.0 beacon chain specification was frozen on June 30; related research and design have been completed; we have fully entered the delivery phase.The beacon chain is the basis of Ethereum 2.0. It is responsible for managing the PoS protocol and coordinating all independent and parallel shard chains. It is the most complicated part of the entire system development. If you don’t know much about the beacon chain, please refer to an AMA online Q&A article about the beacon chain that Unitimes recently invited Ethereum 2.0 developer Hsiao-Wei Wang to do:“Dialogue with Ethereum core developer Hsiao-Wei:》

Ethereum 2.0 Beacon Chain | Unitimes AMA

As the future development direction of Ethereum 2.0, the beacon chain was conceived during a workshop held in Berlin last July [7]. Starting from a nearly blank sheet of paper, but weaving ideas dating back to Ethereum's early days, the Beacon Chain specification was developed through an iterative process of insights, discussions, audits, and testing.

At the same time, nine teams from different backgrounds and geographies have implemented the specification in different programming languages ​​and added infrastructure to the specification to make everything work (including network connections, databases and related tools, etc. -- specification Like an engine, but we need to add a lot of other things to get a fully working vehicle).

Some teams have released public beacon chain testnets, allowing people to experience becoming validators in Ethereum 2.0, such as the Sapphire testnet released by Prysmatic Lab. For details, please refer to the article "Prysm Ethereum 2.0 Phase 0 Testnet" published by Unitimes. release! "[8]

The beacon chain specification used to change rapidly, and the client implementation teams kept following the specification. The recent freeze of the beacon chain specification is an important milestone, and its freeze has two good effects:

The second effect of the Beacon Chain specification freeze is that it allows all clients to catch up on the same goal and start the next critical phase: interoperability. The Ethereum 2.0 beacon chain client is similar to current Ethereum nodes (such as Geth, Parity and Pantheon clients), these nodes run the entire network, they communicate with each other, and crucially, they must always reach consensus. Any inconsistency (such as due to bugs, etc.) will lead to network splits [11].

image description

"Pathway to Interoperability" Workshop for Ethereum 2.0 Clients in Brooklyn

Achieving interoperability is a process.

First, all clients are required to pass common reference tests. A very interesting feature of the beacon chain specification is that it is already executable - client testing can be done directly by running the specification. Some may prefer the narrative style to the current specification written in Python, but nonetheless, the current specification is a very useful tool.

Another type of testing is "fuzz testing" that has successfully tracked down issues with ethereum 1.0 clients in the past, by repeatedly feeding the client random bad data to look for conditions that would cause the client to crash. Fuzzing tools for this are currently being developed for the Beacon Chain.

Once each Ethereum 2.0 client team is confident that its client implementation is working, the next step is to start getting those clients to communicate on the same network.

We know that when there is a problem in a distributed system, it is difficult to diagnose. Therefore, as a first step, each client is implementing a simplified protocol Hobbits [12] that is easier to debug and analyze before implementing the full network stack.

A related plan is for all the client teams to come together this September in a remote location in Ontario, Canada: no one will leave until all client implementations are guaranteed to interoperate properly.

The realization of interoperability will pave the way for a common long-term public testnet launching later this year.

Any user who wants to join the test network will be able to install an Ethereum 2.0 client according to their own choice, stake ETH tokens for testing in the public test network, and participate in the test network. Come verify. Or look for bugs for that testnet. Bonuses may be awarded to anyone who finds bugs and deficiencies.

secondary title

Phase 1: Shard Chain

Phase 1: Shard Chain

Although the delivery plan for Ethereum 2.0 is divided into several consecutive phases, work on each phase is being carried out in parallel.

The phase 1 protocol is much simpler than the beacon chain phase, and the total number of lines of code contained in the specification is only about half that of the beacon chain specification, and most of the phase 1 specification has already been completed.

image description

The main challenge of Phase 1 is that the design of the Ethereum 2.0 peer-to-peer network requires that when validators are assigned to these 1024 shard chains, they can quickly send/get the correct information to/from the correct validators. Work on this is already underway, in parallel with client interoperability [13].

secondary title

Phase 2: Execution Layer

The most exciting thing recently is that there is a clear way forward to deliver the final phase of Ethereum 2.0 (the executive layer phase).

When the design space is vast and unconstrained, it is often difficult to know how to start. So, too, is the execution layer of Ethereum 2.0. Until a few weeks ago, no one was quite sure where to start: what kind of programs will we be able to run on Ethereum 2.0? What will the user's account look like? How will the shards communicate? There is no shortage of ideas, the possibilities are endless. But a clear path forward has been elusive.

Breaking this logjam is Casey Detrio, who gave a terrific short historical summary at the "Scale Ethereum" conference in Toronto [14]. He also published a suggested method that has proven to be very effective [15]. Casey's suggestion was taken and further developed by Vitalik, and others enthusiastically participated in prototyping and further defining the suggestion.

On the current Ethereum blockchain, there is only one execution environment, the Ethereum Virtual Machine (EVM). EVM is written into the Ethereum protocol, each smart contract must be executed only by EVM, the execution is charged in a specific way (transaction gas), and only specific encrypted signatures and prevent replay attacks (reply-protection) are allowed .

While the EVM is very powerful, all of this comes with limitations: even if we just want to send some ERC20 tokens, we need to use ETH to fund the account; it is difficult to achieve truly anonymous transactions; A large cost and the like are required.

In short, the Ethereum 2.0 proposal is to "abstract" all of this away. Ethereum 2.0 itself will not mandate the use of these mechanisms, instead it will offer many different execution environments (EEs), each capable of operating according to its own rules and optimized for its own purposes.

For example, in addition to the general execution environment for smart contracts compiled in eWASM, there may be some other execution environments for anonymous token transactions, or some for new smart contract languages ​​(such as Haskell). Execution environments, or some optimized execution environments for processing high-volume Plasma chains, or some special permissioned and privacy-preserving execution environments for enterprise users. There may even be an execution environment that implements the Move virtual machine of Facebook's recently announced Libra project.

I'll leave the specifics for a future article - this area is still under rapid development, and this article is long enough. But I'll also mention the big implications of this new Phase 2 model.

epilogue

epilogue

image description

A busy market. Source: Diego Delso

At the current rate of progress, I am more optimistic than ever about the future of Ethereum 2.0. I don't like to exaggerate, but I'm starting to wonder if the final phase of delivery, Phase 2, will go live in 2020, which would be a little earlier than originally estimated. But you better not quote me on this one.

There's still a lot to do before then, but the path is clearer than ever and engagement is strong and growing.

The energy in Ethereum Bazaar is enormous: it's an exciting place to be, and I'm sure that by attracting so many talented and motivated people, the end result will be outstanding.

Ethereum Marketplace is open to everyone: why not get involved? [16]

Disclaimer: The opinions expressed in this article represent those of the author and do not constitute any investment advice or advice.

  • [1]:http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html?source=post_page

  • [2]:https://en.wikipedia.org/wiki/Usage_share_of_operating_systems?source=post_page

  • [3]:https://blog.ethereum.org/2019/05/21/ethereum-foundation-spring-2019-update/?source=post_page

  • [4]:https://github.com/ethereum/eth2.0-specs?source=post_page

  • [5]:https://twitter.com/VitalikButerin/status/1146629103648305154?source=post_page

  • [6]:https://lwn.net/Articles/114804/?source=post_page

  • [7]:https://media.consensys.net/state-of-ethereum-protocol-1-d3211dd0f6?source=post_page

  • [8]:https://www.unitimes.pro/articles/share/7746cf7673c54c02b20e597279b95353?lang=1

  • [9]:https://runtimeverification.com/k/?source=post_page

  • [10]:https://runtimeverification.com/blog/formal-verification-of-ethereum-2-0-deposit-contract-part-1/?source=post_page

  • [11]:https://www.ccn.com/ethereums-blockchain-accidentally-splits/?source=post_page

  • [12]:https://github.com/deltap2p/hobbits?source=post_page

  • [13]:https://github.com/ethereum/eth2.0-specs/pull/1281?source=post_page

  • [14]:https://www.youtube.com/watch?v=RW7K3JQOZOg&t=6324&source=post_page

  • [15]:https://ethresear.ch/t/phase-one-and-done-eth2-as-a-data-availability-engine/5269?source=post_page

  • [16]:https://github.com/PegaSysEng/artemis/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22help%20wanted%20%F0%9F%86%98%22&source=post_page

ETH
Welcome to Join Odaily Official Community