vote pending
GameChanger: Open sourcing GCFS to put dapps FULLY on-chain, not in centralized nor external infrastructure
Current Project Status
vote pending
Amount
Received
₳0
Amount
Requested
₳195,965
Percentage
Received
0.00%
Solution

Improve and open-source GCFS as a TypeScript library for reading and searching files stored on-chain, and a web server that can even serve HTML for frontends, supporting fully on-chain resilient DApps

Problem

https://youtu.be/042b4gQ3SZ0?si=RSkCw-hwAs-cvYQjCurrent Cardano DApps rely on centralized and external infrastructures for off-chain data, code storage and execution, introducing single points of failure and limiting true decentralization

GameChanger Finance

1 member

GameChanger: Open sourcing GCFS to put dapps FULLY on-chain, not in centralized nor external infrastructure

Please describe your proposed solution

The problem:

Are Cardano DApps Truly Decentralized?

Cardano takes a unique approach to DApps by offloading certain parts of their execution and storage off-chain. This strategy enhances performance and reliability compared to solutions like EVM chains. However, this design introduces a critical flaw—one that has become more pronounced with the adoption of the CIP-30 standard.

The off-chain components of Cardano DApps currently rely on centralized cloud infrastructures. Their source code and application data are not stored in a decentralized, long-term, fail-proof, and censorship-resistant solution.

While great projects like Iagon aim to address some of these challenges and more, they still fall short of offering mission-critical solutions for Cardano. Like IPFS and other decentralized storage solutions, they store data outside the Cardano network itself, which can create single points of failure and data loss due to potential global outages, team challenges, or platform security breaches.

For mission-critical Cardano applications—and even minimal, essential versions of any Cardano app—the only reliable solution is to rely on Cardano itself. This is the only path to a truly decentralized, fault-tolerant, and censorship-resistant infrastructure.

Currently, terabytes of on-chain transaction metadata are being generated by apps and users. Yet, there’s no coherent strategy for indexing and searching this data. A system that can organize this "chaos" and treat it like searchable files would be invaluable for developers and users alike. Such a solution could also optimize the use of precious on-chain storage, reducing redundancy and potentially introducing compression features.

Since April 1st, 2023, Cardano has had GCFS—a fully on-chain file storage solution that has proven itself capable of hosting not only DApp off-chain code but also on-chain source code. It can even support minimal, cost-effective frontends, helping create a censorship-resistant, fault-tolerant Cardano ecosystem. This would position Cardano to remain competitive against other chains, like EVM, that have already embraced fully self-contained DApps with long-term viability, even in worst-case scenarios.

The CIP-30 wallet standard, inspired by MetaMask’s design, encourages the offloading of even more DApp code outside of decentralized storage and execution. This approach does little to foster open-source collaboration or DApp/protocol interoperability, limiting Cardano's potential.

Just two weeks after Nami Wallet introduced the CIP-30 standard, GameChanger Wallet proposed an alternative approach. This Universal DApp Connector specification is designed specifically for UTXO-based blockchains like Cardano and moves away from the "MetaMask model" that works better for Ethereum. This alternative allows critical parts of DApp execution to happen on the client side, running directly on user devices. This increases decentralization by putting control into users’ hands, ensuring transparency, and creating an environment ripe for open-source collaboration.

The key to this system is GCScript, a simple language built on universal building blocks like JSON, common across platforms and languages. GCScript is to Cardano somewhat Solidity is to Ethereum, but it preserves underlying Cardano’s deterministic nature.

GCScript integrates seamlessly with GCFS, empowering developers to store reusable source code on-chain. This not only ensures that DApps are auditable, decentralized, fault-tolerant, and censorship-resistant but also encourages developers to collaborate, fostering an unprecedented explosion of open-source, decentralized DApps on Cardano.

GCFS development began in 2022 out of proposer’s funds and development efforts and remains unfunded and unsupported by Cardano, especially after the massive downvoting this working solution had on Catalyst Fund10.

GCFS is currently implemented on GameChanger Walle and demo tooling:

- on GCScript language, 4 functions available for developers to build dapps with it

- through the GCFS File Uploader UI at Playground IDE

- on a GCFS web server demo for Catalyst

Solution:

We will rewrite, improve and open source GCFS as a typescript library for allowing applications to read and search for files stored on-chain, and we will include a GCFS web server rewritten from grown up as a proper implementation example to serve files including HTML for fully on-chain hosted frontends as you can try out through our MVP demo GCFS web server published here:

<u>Announcement of the Demo:</u> https://x.com/GameChangerOk/status/1834062592060322161

Image file

A dapp 100% stored on-chain, yes, even the html file

Image file

Directory index of a user's on-chain file system

Image file

One of the first files ever written on chain.

GCFS allows for running filtered searches across all file systems stored on-chain allowing developers not only to store files but also to use them as a global database for dapps, fostering a grand variety of applications, from voting to social media, to oracles and fully on-chain open and universal protocols. As you can try yourself on the demo, the web server will allow to run queries to build this kind of applications.

A cache feature will help improve performance as subsequent requests fetching same data across multiple on-chain transactions will be stored temporarily.

A directory index rendered on backend-side will help users, and developers, to understand the structure of on-chain file systems and to seamlessly explore them as if one were navigating the web.

Please define the positive impact your project will have on the wider Cardano community

A Cardano ecosystem that embraces GCFS would mean:

  • dapps will be able to live as long as the chain itself, even if their creators leave the space
  • dapps will be fault tolerant, anyone would be able to launch a mirror of your favorite dapp to keep it alive and to colaborate with decentralization
  • source code will be cryptographically signed by creators and maintainers
  • source code will be inmutable, yet updatable, as every modification will generate a new version of it
  • dapps will be censorship resistant, moderate content through selective mirroring
  • dapps will be even more transparent and auditable than open source ones, as here the concept of open deployment is introduced.
  • developers also embracing GCScript will be able to collaborate with each other for the first time without programming language barriers. A typescript developer will be able to reuse the same code a low level C developer for IOT will be using. Create an on-chain version of your dapp code and let others to use it and build on top of it.
  • users willing to pay a bit more, will have fault tolerant NFTs and other kind of data and files stored on-chain forever
  • user data, dapps, voting, oracles, social networks, source code maintainance, nfts, smart contracts, everything we do can benefit from this protocol

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

We have a good track record on Catalyst with 10 finished projects and on the Cardano community, delivering innovative solutions and tooling since 2021.

As far as possible we will always deliver first and then look for funding for open sourcing, maintaining and growing our libraries, products and solutions.

GCFS is a working protocol since Q1 2023, implemented on GameChanger Wallet UI (File Uploader, DiskNFT Viewer and Workspace Loader), GCScript DSL functions and on a demo web server for developers.

What are the key milestones you need to achieve in order to complete your project successfully?

Milestone 1: <u>Outputs</u>:

  • Base of the typescript library repository
  • Create a first API provider
  • Types and helper functions

<u>Acceptance criteria:</u> First types and helper functions, an early API provider and the library repository structure are present

<u>Evidence of completition: </u>code on github repository

Milestone 2: <u>Outputs</u>:

  • Adapt and use API provider for fetching a GCFS header
  • Types and helper functions
  • TSDoc documentation
  • Unit tests

<u>Acceptance criteria:</u> New types and helper functions, GCFS header fetching functions, and unit tests are present

<u>Evidence of completition: </u>code on github repository

Milestone 3: <u>Outputs</u>:

  • Adapt and use API provider for fetching a GCFS data stream
  • Types and helper functions
  • TSDoc documentation
  • Unit tests

<u>Acceptance criteria:</u> New types and helper functions, GCFS data stream fetching functions, and unit tests are present

<u>Evidence of completition: </u>code on github repository

Milestone 4: <u>Outputs</u>:

  • Combine GCFS header and data stream to produce a file system record or instance
  • Types and helper functions
  • TSDoc documentation
  • Unit tests

<u>Acceptance criteria:</u> New types and helper functions, GCFS record or instance fetching functions, and unit tests are present

<u>Evidence of completition: </u>code on github repository

Milestone 5: <u>Outputs</u>:

  • Create an example implementation of a NodeJs Express web server with a search API
  • documented code

<u>Acceptance criteria: </u>The example implementation with documented code is present

<u>Evidence of completition: </u>code on github repository

Final Milestone: <u>Outputs</u>:

  • GCFS Library code
  • GCFS web server code
  • General GCFS documentation
  • MIT license
  • Closeout Video
  • Closeout Report

<u>Acceptance criteria: </u>Library code, example implementation with documented code, general documentation and license are present on repository. Closeout report and video are submitted.

<u>Evidence of completition:</u> code on github repository, closeout files on Milestones App.

Who is in the project team and what are their roles?

<u>Project Leader:</u>

Adriano Fiorenza is an Entrepreneur &amp; Senior Full Stack Developer with 15+ years of experience software and IOT development. Founder and Developer of GameChanger Wallet, Unimatrix Sync, GCFS protocol, Universal Dapp Connector specification, GCScript DSL, delivered 10 funded Catalyst projects, participated in 1st gen Plutus Pioneer Program, Team member at ALDEA, Gimbalabs colaborator.

His Linkedin profile can be found at <https://ar.linkedin.com/in/adriano-fiorenza>

Please provide a cost breakdown of the proposed work and resources

Milestone 1: USD 6.800,00

Milestone 2: USD 13.600,00

Milestone 3: USD 13.600,00

Milestone 4: USD 13.600,00

Milestone 5: USD 13.600,00

Final Milestone: USD 6.800,00

Total: 800hs x USD 85/hr = USD 68.000,00 ~ ADA 195.965,00

  • Dandelion-Lite: 1 or 2 official and community Cardano APIs to query the on-chain data
  • GameChanger Wallet: source of the code, for testing and as the current reference implementation

How does the cost of the project represent value for money for the Cardano ecosystem?

GCFS has been delivered already without funding on our own risk. It took around 6 months from design, testing, full implementation on wallet side and dapp connector side for being used with dapps. It has been improved and maintained all this time since 2023 from creator's time and effort. A demo web server has been provided for early testing ground and for gathering real use case feedback prior to do a proper final implementation from ground up for this proposal. Taking into account that we are not charging for those full working hours and that at the end even a web server for ready-to-use and easy integration will be provided we think It makes a good investment on community funds to allocate them on infrastructure everybody will be able to use from now on.

Please also consider that there is no token launch involved here, that we will be open sourcing and redesigning code to let everyone be able to use and deploy on their own.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00