Grants-Program icon indicating copy to clipboard operation
Grants-Program copied to clipboard

Application for Replica_IO M0.1 phase 2

Open sergefdrv opened this issue 1 year ago • 5 comments

Project Abstract

The purpose of this project is to advance computing by making highly reliable distributed systems more practical to implement. The goal is to develop a well-supported and widely used state-of-the-art framework for building distributed replication mechanisms.

The framework will provide a carefully designed collection of primitives, components, tools, and guidelines for developing core mechanisms of fault-tolerant distributed systems, such as state machine replication. Sensibly chosen principles guide the process of designing and implementing generic components, such as consensus or various kinds of broadcast. These components get constructed out of the corresponding protocol logic, more simple components, and fundamental primitives, such as asynchronous communication or timer abstractions. Unified means of combination ensure great composability of the elements. Fine modularity together with built-in capabilities for tracing and controlling execution enable effective debugging, validation, and analysis. Powerful and convenient tools allow effectively utilizing those features. Clear guidelines help using the framework properly by explaining its features on simple, easy-to-follow examples.

Grant level

  • [ ] Level 1: Up to $10,000, 2 approvals
  • [x] Level 2: Up to $30,000, 3 approvals
  • [ ] Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • [x] The application template has been copied and aptly renamed (project_name.md).
  • [x] I have read the application guidelines.
  • [x] Payment details have been provided (Polkadot AssetHub (DOT, USDC & USDT) address in the application and bank details via email, if applicable).
  • [x] I understand that 30% of each milestone will be paid in vested DOT, to the Polkadot AssetHub address listed in the application.
  • [x] I am aware that, in order to receive a grant, I (and the entity I represent) have to successfully complete a KYC/KYB check.
  • [x] The software delivered for this grant will be released under an open-source license specified in the application.
  • [x] The initial PR contains only one commit (squash and force-push if needed).
  • [x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • [ ] I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @sergefdrv:matrix.org

sergefdrv avatar Mar 27 '24 11:03 sergefdrv

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

github-actions[bot] avatar Mar 27 '24 11:03 github-actions[bot]

I have read and hereby sign the Contributor License Agreement.

sergefdrv avatar Mar 27 '24 11:03 sergefdrv

@semuelle I've converted the application as you requested.

Since I submitted the initial application, I've already made some progress, namely I finished exploring the Mir framework (was in progress at the time) and I'm close to finishing exploring the Atlas framework. Please let me know if I need to adjust the application regarding that.

sergefdrv avatar Apr 03 '24 13:04 sergefdrv

Hi @sergefdrv since you mentioned that you finished exploring the Mir and Atlas frameworks, could you perhaps elaborate a bit on your findings there? Perhaps that would help to spur some more discussion, and help the committee to understand your vision. And yes, to answer your question, you could probably remove these from the scope if they are already complete. Or move to a "past work" section, etc.

Sure, I indicated completed tasks with check marks. For each of the explored frameworks, the findings are summarized in an overview, which is available in the corresponding issues and at the project's wiki.

sergefdrv avatar Apr 11 '24 14:04 sergefdrv

Thanks @sergefdrv for the changes, I will mark as ready for review. I will say it still seems rather generalized, since we are mostly interested in funding research that is specifically helpful for the Polkadot ecosystem, I wonder if you could expand out some of these sections to illustrate how it could be useful research. For example, I'm not sure how the Mir protocol could be helpful in our ecosystem since Rust has no garbage collection. How could researchers use some of these protocols in Substrate?

keeganquigley avatar Apr 15 '24 23:04 keeganquigley

@keeganquigley If there is a need to implement or improve existing implementations of distributed protocols like consensus in the Polkadot ecosystem then the results from my research can be useful because I'm look into different approaches to implementing distributed protocol in the scope of this work. Indeed, the frameworks I'm exploring are not meant to be integrated with Rust code bases (except Atlas), nevertheless, one can directly benefit from considering the approaches used in those frameworks. Remember that this is a step in the bigger goal of the Replica_IO project, namely developing a practical framework for implementing distributed protocols in Rust, which is how, I believe, this will be most useful for the Polkadot ecosystem. Clearly, those who support this project at early stages are those who genuinely value it, and, therefore, will benefit the most from early adoption and innovation.

sergefdrv avatar Apr 16 '24 08:04 sergefdrv

Hi @sergefdrv. Since the application hasn't gotten any traction with the committee, I am going to close it. I assume the main issue with the project is that its application/benefits to Polkadot are somewhat unclear. Anyway, I hope you'll still get to pursue it and wish you best of luck. You could try reaching out to other researchers in the ecosystem and see if there is interest in working on a more Polkadot-focused project together. I recommend the Polkadot Direction channel or the Discord server.

semuelle avatar May 06 '24 10:05 semuelle