aragon / nest

A grants program to support the development of the ecosystem
https://aragon.org/project/grants
Creative Commons Zero v1.0 Universal
140 stars 78 forks source link

Aragon Nest Proposal: Ethereum Serenity Client #108

Closed paulhauner closed 5 years ago

paulhauner commented 5 years ago

Aragon Nest Proposal: Ethereum Serenity Client

Abstract

As presented at Devcon IV, the Ethereum Foundation (EF) research team are pushing towards finalizing a specification for a sharded, proof-of-stake upgrade to Ethereum. This has been known as "Ethereum 2.0", "Shasper" and more recently, it has been referred to as "Serenity" as per the original Ethereum roadmap.

Sigma Prime has been developing a client named Lighthouse in the Rust programming language over the few months that the draft specification has been public. The Ethereum Foundation has provided a US$150k grant for this project. This grant, alongside the what is provided by Sigma Prime, is the only funding this project has received. We have applied for an ECF grant but are awaiting a response.

Lighthouse will be a production-ready client with a focus on simplicity and security. Sigma Prime has a strong background in information security and software development and intends to be a leading force in ensuring the security of the next generation of Ethereum. The properties of the Rust language make it a strong candidate for formal verification and we are aiming to have such a process performed upon critical Lighthouse components.

Presently, we have made significant progress on implementing the Beacon Chain specification. Some of the notable components that are implemented (and tested) include:

We are also close to releasing full block-processing and state transition functionality. Additionally, we are working alongside Parity to extend rust-libp2p to be fit for purpose for Serenity.

We have also been active in developing the specification; finding and resolving issues and leading a DoS workshop at the Eth 2.0 workshop in Prague.

Deliverables

The Serenity project will span multiple years and the later components are still under research. As such, we presently focus upon "Phase 0" of the specification which aims to see a functional Beacon Chain which can come to consensus on "junk" shard blocks. Phase 0 ignores the actual execution of transactions in shards (hence the junk data) and instead focuses on ensuring that we have a functioning proof-of-stake backbone.

This grant application focuses on Phase 0 and as such we aim to provide the following components, spread across one or more separate binaries:

Grant size

Funding: Up to $100k in ETH, split into chunks paid out over achieved deliverables.

Success reward: Up to $50k in ANT, given out when all deliverables are ready.

Application requirements

Development timeline

1. Full specification implementation: Jan 2019

2. Syncing and P2P: Feb 2019

3. Beacon Chain Testnet: March 2019

At this point we expect the other major clients (Prysm, Nimbus, etc) to be ready to start operating in a public testnet. We intend to be ready alongside them and to be participating in the first testnet. This stage is rather unpredictable and will hopefully not be "integration hell". We aim to be a key figure in ensuring a stable and secure network and during this period will be working to ensure that our implementation functions seamlessly with other implementations.

mariapao commented 5 years ago

Hi @paulhauner thanks a lot for submitting your proposal, it is a great project!

Building a beacon chain client is a challenging and key part of implementing the Ethereum 2.0 specification. We follow the work you do, your progress. You are a very skilled team. However, we are not able to support your project at this moment. This last quarter of the year we are trying to give priority to projects building infra and tools for Aragon. Thus, we have decided not to approve the proposal this time. Thanks again, we appreciate your participation very much.

paulhauner commented 5 years ago

No worries, thanks for your time @mariapao :)