scrtlabs / Grants

Repository for grant proposal submissions
38 stars 28 forks source link

Jackal Protocol - Truly decentralized hot storage outposts #121

Open BiPhan4 opened 6 months ago

BiPhan4 commented 6 months ago

Jackal Protocol - Truly decentralized hot storage outposts

Project Description:

We aim to equip every application and user within the Secret ecosystem with the capability for on-chain, self-custodial data storage and management.

Problem / Solution:

The Challenge in Decentralized Applications:

In the current landscape, decentralized applications and Web3 users face a significant limitation: the inability to efficiently store, manage, and interact with files directly on the blockchain. This restriction not only creates centralized points of failure but also curtails the potential applications of blockchain technology, particularly in the Secret ecosystem.

The Solution:

Jackal Labs introduces a pioneering cross-chain infrastructure, leveraging ICA/IBC within the Cosmos ecosystem, to address this critical gap.

Detailed Product Description:

The Jackal Protocol is the first blockchain and truly decentralized storage network that delivers on-chain access to hot-storage for digital files. This infrastructure enables individuals, developers, and enterprises to protect their data privacy and improve their cybersecurity posture, while maintaining self-custodial control over their data, and not having to rely on centralized storage providers/intermediaries.

Technical Specification:

The following diagram illustrates the upload journey of a file, from initial user upload to its eventual storage on the Jackal storage providers, with accompanying metadata recorded on canine-chain. This visualization effectively demonstrates how the SCRT outpost integrates within the Jackal Protocol's framework. The diagram should be interpreted from right to left.

https://www.figma.com/file/OhQKjnEez1f9s7ja12wlOr/SCRT-Outpost-(Right-to-Left)?type=whiteboard&node-id=0%3A1&t=5f46ka9ZdFwz5joV-1

It's important to highlight that the outpost contract encapsulates the functionalities of the ICA controller within its WebAssembly (Wasm) module. Consequently, the SCRT network does not need the ICA controller app or a specific version of ibc-go.

Comparative Analysis: Interchain Accounts vs. IBC Hooks

Background Context:

Interchain Accounts (ICA) and IBC Hooks represent two distinct approaches in middleware architecture within the Cosmos ecosystem, each with unique design principles and use case applicability.

1. Modular Independence vs. Coupled Middleware:

ICA operates as a standalone middleware, free from dependencies on other systems. This design choice is evident in the Jackal Labs' implementation on the canine-chain (refer to canine-chain/app.go line 701). In contrast, IBC Hooks relies on a nested structure with the ICS20 Transfer stack, forming a tightly coupled middleware arrangement (example seen at osmosis/keepers.go line 633). This structure can be visualized as transfer[ ibchooks( rate limit( strangelove’s packet forward) ) ].

2. Backward Compatibility and Maintainability:

The dependence of IBC Hooks on a layered middleware architecture raises concerns regarding backward compatibility. Any updates or modifications to one layer (e.g., rate limit or packet forward middleware) could potentially impact the entire stack, leading to compatibility challenges. ICA’s isolated design circumvents this issue, offering a more maintainable and upgradeable solution, especially for applications like the Jackal Protocol that may require specific, targeted updates.

3. Security Considerations:

Given the nascent state of CosmosSDK and IBC, it is imperative to conduct thorough audits of third-party middleware for security vulnerabilities. The Jackal team, constrained by budget, is unable to undertake comprehensive audits of complex systems like Strangelove’s packet forward middleware. The ICA app’s smaller footprint allows for an in-depth internal security audit, aligning with our stringent security standards. Our collaboration with the Interchain Foundation (ICF) team further enhances our understanding of the ICA app's security profile.

4. Signature Verification and Trust Assurance:

A critical aspect for Jackal storage is the assurance that user actions, such as purchasing storage plans or creating storage deals, are authentically signed. IBC Hooks, particularly in its implementation in Osmosis, substitutes the sender's signature with an interim signature amalgamating the channelID and sender, a solution deemed insufficient for our high-security requirements. This approach, alongside identified vulnerabilities in middleware like the packet forward (details at osmosis/x/ibc-hooks), does not meet the stringent security needs of self-custodial file storage.

In contrast, the ICA app inherently includes signature verification. Upon channel creation, the outpost contract instantiates a controller account. During the channel handshake, the ICA host app creates a host account on the Jackal Chain which is paired with the controller.

The controller account’s signature, and its corresponding host signature, are one and the same. All messages and transactions signed by the controller can only be executed by its paired host account.

Conclusion:

In summary, the selection of the ICA module over IBC Hooks by Jackal Labs is driven by considerations of modular independence, maintainability, security, and signature verification integrity. This choice aligns with our overarching goal to provide a secure, efficient, and user-centric blockchain storage solution.

Pricing:

Storage can be paid in any token. Jackal is bucket storage with a flat rate per tb per month upgradable by governance. Currently data storage on the Jackal Protocol costs $8/mo/tb pegged to USDC via Jackal’s built-in chain oracle.

Go-to-Market Plan:

  1. Outpost Contract Deployment: Launch an outpost contract on Secret that is available for Secret applications and users via contract calls, facilitating the exchange of IBC packets with the Jackal Chain.
  2. JavaScript Web Client: Develop a web client for managing encrypted files and contract calls, linking them to the Jackal DePIN storage network.

Value Capture for Secret Network Ecosystem:

The Problem Identified:

  1. Value Loss: Secret’s current framework fails to capture value from essential off-chain data storage, a vital need for its users.
  2. Limited Interaction: The inability for Secret’s users and applications to interact with files on-chain restricts a myriad of potential use cases.

Our Multifaceted Solution:

  1. On-Chain Decentralized Storage: Facilitate direct access to decentralized storage, with outpost fees enhancing Secret’s value capture. This will be seamlessly accessible via a simple contract call.
  2. Expanding Application Capabilities: Open up new verticals for applications on Secret by providing access to storage solutions.
  3. Fully On-Chain Integration: Utilize ICA/IBC for complete on-chain operations.
  4. Enhanced Security and Decentralization: Strengthen and decentralize Secret’s storage layer, ensuring robust security.

The Impact and Future Possibilities:

By unlocking this capability, we open the door for application developers to explore new horizons and unlock new verticals: data marketplaces, AI/ML computations, peer-to-peer file transfers, decentralized scientific research (DeSci) platforms, e-signature solutions, ransomware protection applications, storage insurance, decentralized CDN, and more.

Team Members:

Serdar Turkmenafsar (ICF DevRel Engineer for IBC) will be the technical advisor for the project. Unpaid position.

Jackal Labs will be building the outpost.

https://www.jackallabs.io/

Patrick Dunlop - Co-Founder, CEO

Marston Connell - Co-Fonder, CTO

Bi Phan - Cross-Chain Integrations

Jaydon Digenis - Growth

Daniel Ahn - Blockchain

Erin Rivas - Integrations

Emory Wesson - Infrastructure

Justin Nguyen - Blockchain

Team Website:

https://www.jackalprotocol.com/

Team’s Experience:

Serdar Turkmenafsar (ICF DevRel Engineer for IBC) will be the technical advisor for the project.

Jackal Labs will be building the outpost and has experience developing on the Secret Network L1.

Patrick Dunlop - 5 years of operations and project management experience.

Marston Connell - 2 years CosmosSDK and CosmWasm Protocol Engineer

Bi Phan - 2 years CosmosSDK and CosmWasm Protocol Engineer

Jaydon Digenis - 3 years enterprise sales, 1 year product management.

Daniel Ahn - 2 years CosmosSDK and CosmWasm Protocol Engineer

Erin Rivas - 2 years Jackal integrations and front-end dev, 4 years freelance dev, 6 years mentor and staff member of Localhost discord community

Emory Wesson - 9 years of finance and economics experience.

Justin Nguyen - 2 years CosmosSDK and CosmWasm Protocol Engineer

Team Code Repos:

https://github.com/JackalLabs

Team LinkedIn Profiles:

Patrick Dunlop - https://www.linkedin.com/in/patrick-dunlop-129767113/

Marston Connell - https://www.linkedin.com/in/marston-connell-847753184/

Bi Phan - https://www.linkedin.com/in/bi-phan-517664123/

Jaydon Digenis - https://www.linkedin.com/in/jaydon-digenis/

Daniel Ahn - https://www.linkedin.com/in/daniel-ahn-510/

Erin Rivas - https://www.linkedin.com/in/erin-rivas/

Emory Wesson - https://www.linkedin.com/in/emory-wesson-iii-45601749/

Development Roadmap:

We will require 16 weeks of development to complete this project. We intend to deliver our technical team’s full focus at a total cost of $200,000.00. This initiative, demanding an investment of $200,000, is not merely a financial commitment for Jackal Labs; it represents a strategic wager on the exponential growth and triumphant success of the Secret ecosystem.

We are requesting a $100,000.00 grant for Jackal’s Outpost from Secret to cover 50% of the costs.

Total Budget Requested:

$100,000.00

Stage 1: $60,000.00 Stage 2: $30,000.00 Stage 3: $10,000.00

Milestones:

Stage 1: Initial Deployment and Testing (Duration: ~4 Weeks) - $60,000.00

1.1 Deployment of Outpost CosmWasm Contract: Successfully launch the outpost contract on the Secret testnet, ensuring compatibility and stability with the Jackal chain.

1.2 CLI Demonstration: Show the functionality of the outpost in creating and accessing storage accounts with local tokens and establishing filetree entries, using Command Line Interface (CLI) for tangible proof of concept.

Stage 2: Integration and Web Client Development (Duration: ~8 Weeks) - $30,000.00

2.1 Integration with jackal.js: Seamlessly incorporate the outpost contract into jackal.js, emphasizing interoperability and enhanced functionality. Secret.js is not applicable.

2.2 SCRT Web Client Demonstration: Exhibit encrypted file input/output operations using the web client, purpose built for SCRT, showcasing user-friendly interface and security features.

Stage 3: Mainnet Launch and Web Client Finalization (Duration: ~6 Weeks) - $10,000.00

3.1 Mainnet Deployment: Transition from the testnet to the mainnet, marking the project's readiness for real-world application and broader usage.

3.2 Web Client Completion: Achieve full operational status of the web client, ensuring it's robust, user-friendly, and ready for public release.

3.3 Documentation support: Complete documentation for Dapps to integrate with the outpost’s functions published on Jackal and Secret’s documentation repositories. Jackal will work closely with SCRT labs in developing an MVP integration with SCRT’s SNIP-20 contract.

Forward Looking:

Once built, the Jackal Outpost intends to leverage the Secret Network’s EVM general message-passing capabilities to deliver functionality to the EVM ecosystem using the Secret Network as a privacy hub.