Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open Grant Proposal: Rust implementation of Fast Finality for Filecoin #1767

Closed
Aviksaikat opened this issue Jul 1, 2024 · 1 comment
Closed
Assignees

Comments

@Aviksaikat
Copy link

Aviksaikat commented Jul 1, 2024

Open Grant Proposal: Rust implementation of Fast Finality for Filecoin

Project Name: Rust implementation of Fast Finality for Filecoin

Proposal Category: Choose one of Research & protocols

Individual or Entity Name: Is the proposal on behalf of an individual, or an entity/organization? Please note that the agreement and any payments must be completed by the same entity, either individual or organization.

Proposer: Aviksaikat

Project Repo(s):

(Optional) Filecoin ecosystem affiliations: N/A

(Optional) Technical Sponsor: N/A

Do you agree to open source all work you do on behalf of this RFP under the MIT/Apache-2 dual-license?: Please respond with "Yes" or "No".
Yes

Project Summary

The goal of this project is to develop a Rust version of the Fast Finality in Filecoin (F3) module. The current finalization time in Filecoin is 900 epochs (7.5 hours), which limits its usability for applications requiring low-latency finality. This Rust implementation aims to leverage Rust's memory safety, concurrency features, and performance optimizations to enhance the Fast Finality protocol. This project will run parallel to the existing Go version, providing an alternative that may attract developers who prefer Rust, thus broadening the Filecoin ecosystem.

Impact

This proposal seeks to address the current limitation of long finalization times in the Filecoin network, which hinders its use in real-time applications. By implementing the F3 module in Rust, we aim to reduce finalization times to tens of seconds, thereby making Filecoin more viable for a wider range of applications, particularly those in decentralized finance (DeFi) and other sectors requiring quick transaction finality.

The benefits of getting this right include improved user experience through faster transaction confirmations, increased security through deterministic finality, and broader adoption due to Rust's growing popularity and robust safety features. The risks of not addressing this issue include continued limitations on Filecoin's usability and potential missed opportunities in emerging markets that require low-latency solutions.

Outcomes

The final deliverable of this project will be a fully functional Rust implementation of the Fast Finality protocol, including detailed documentation and API interfaces for seamless integration with existing Filecoin infrastructure. This implementation will be validated through extensive simulations and real-world testing to ensure its reliability and performance.

Success will be measured by the reduction in finalization time, the ease of integration into existing Filecoin projects, and the adoption rate within the developer community. Metrics will include performance benchmarks, user feedback, and the number of projects integrating the Rust implementation.

Adoption, Reach, and Growth Strategies

The target audience for this project includes developers and organizations within the Filecoin ecosystem, particularly those developing applications requiring fast transaction finality. The audience is sizable given the increasing interest in decentralized applications and the growing Rust community.

To onboard new users, we will engage with the community through developer forums, social media, and direct outreach to projects that could benefit from fast finality. Initial adoption will focus on early adopters and developers with existing Rust experience, expanding to a broader audience through tutorials, documentation, and integration support.

Development Roadmap

Milestone 1: Project Setup and Planning

  • Description: Detailed project planning, repository setup, and initial scaffolding.
  • Deliverables: Project plan, timeline, initial repository.
  • Completion Date: Month 1
  • Funding: $2,500

Milestone 2: Core Implementation

  • Description: Develop the Rust implementation of the GossipPBFT consensus protocol and related modules.
  • Deliverables: Protocol implementation, unit tests.
  • Completion Date: Month 4
  • Funding: $7,500

Milestone 3: Simulation and Testing

  • Description: Develop a simulation harness, run extensive tests, and validate performance.
  • Deliverables: Simulation framework, test results, bug fixes.
  • Completion Date: Month 6
  • Funding: $5,000

Milestone 4: Integration Support and Maintenance

  • Description: Provide integration support, develop API interfaces, and maintain the project.
  • Deliverables: API documentation, integration guides, ongoing support.
  • Completion Date: Month 12
  • Funding: $15,000

Total Budget Requested

Milestone # Description Deliverables Completion Date Funding
1 Project Setup and Planning Project plan, initial repository Month 1 $2,500
2 Core Implementation Protocol implementation, unit tests Month 4 $7,500
3 Simulation and Testing Simulation framework, test results Month 6 $5,000
4 Integration Support and Maintenance API documentation, integration guides Month 12 $15,000

Maintenance and Upgrade Plans

The project will be maintained and improved over time through regular updates, bug fixes, and community engagement. A dedicated team will handle pull requests, issue resolutions, and ongoing development to ensure the Rust implementation remains robust and up-to-date with the latest advancements in the Filecoin network.

Team

Team Members

@Aviksaikat [Smart Contract Auditor, Systems Security Engineer, Lead Software Developer]

Relevant Experience

Our team brings a wealth of experience and expertise to the table, making us well-suited to undertake the Rust implementation of the Fast Finality in Filecoin (F3) project. As smart contract auditors, systems security engineers, and lead software developers, we have a proven track record in blockchain technology and decentralized systems. We've previously worked on grants for the Ethereum Swarm Foundation, contributing to projects like bee-py, swarm-cid-py, bmt-py, and mantaray-py, focusing on enhancing decentralized storage solutions and protocol development.

Individually, our team members have deep technical knowledge in Rust programming, blockchain consensus protocols, and system security. This includes hands-on experience in developing robust and secure systems, ensuring high performance and reliability. Projects such as Just_Fetch, LinGhost, and nipe_py highlight our commitment to innovation and quality in software development.

Given our background, we are well-positioned to tackle the challenges of reducing finalization times in Filecoin through a Rust implementation. Our expertise in auditing smart contracts ensures a rigorous approach to protocol implementation, enhancing security and trustworthiness. We believe our blend of technical skills, domain knowledge, and previous successful collaborations uniquely qualifies us to deliver a robust and efficient implementation of the Fast Finality protocol in Rust.

Team code repositories

Additional Information

  • How did you learn about the Open Grants Program? webinar
  • Best email address for discussing the grant agreement and general next steps: available upon request
  • Any additional information that you think would be useful in helping us to evaluate your proposal:
    • Rust’s performance and safety features make it an ideal choice for implementing consensus protocols.
    • This project will leverage Rust's ecosystem, which is known for its robust tooling and active developer community.
    • The Rust implementation will attract a broader range of developers to the Filecoin ecosystem, potentially leading to more innovations and use cases.
@ErinOCon
Copy link
Collaborator

Hi @Aviksaikat, thank you for your time with your proposals. Unfortunately, we will not be moving forward with a grant at this time. To contact our team with inquiries regarding our review or grants program, please send an email to grants@fil.org.

Wishing you the best as you continue building!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants