filecoin-project / devgrants

👟 Apply for a Filecoin devgrant. Help build the Filecoin ecosystem!
Other
371 stars 308 forks source link

open Grant Proposal : Highwater Dictionary NFT and metaverse interoperability #1436

Closed alpay-highwater closed 1 year ago

alpay-highwater commented 1 year ago

Open Grant Proposal: Highwater Dictionary NFT

Highwater Dictionary NFT and metaverse interoperability category:app-dev

alpay-highwater

Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT or APACHE2 licenses?: Yes

Project Description

EDIT : I have created a traditional deck for this concept at https://bit.ly/3mu4FxW

Highwater has identified ways to build upon value provided by IPFS' decentralized storage. We aim to use RGBA image based dictionary cryptography with NFT contracts as a secure way to represent large amounts of data, 'on-chain', with the capability of fast and low-cost changes. Images associated with NFT contracts stored via IPFS allow us certain proofs useful to a variety of cases. As we (Highwater.world) are building an MMO metaverse which makes a substantial use of NFTs for ownership and in-game mechanics, and as we are focused on EdTech with a potential to onboard a huge audience of students, we're seeking any efficiencies we can utilize and share for interoperability.

One example, we will incorporate a 'crafting' game mechanic, immutable NFT's are inefficient for this. Our solution certifies provenance while also making reference to, and frequently updating mutable data with a cumulative record of changes and ownership. The 'need' can be described as a practical disconnect found in the future of a decentralized world while much of cloud infrastructure is very centralized. Additionally, traditional centralized databases have been weak points in terms of devSecOps. Our simple and elegant solution merges dictionary encryption with NFT contracts for portability, proofs, scalability, and transparency when desired. While the potential use cases are disparate, we'll initially be focusing on metaverse interoperability.

dictionary

Value

This project represents great value to IPFS as the core capability of this project adds a use case to NFTs which may affect many industries and enable interoperability. Frankly, the use cases of the method found in this proposal could be as important as zip/arc/lzh/rar/etc with Web3 thrown on top. There is no risk of this concept not working as I already have a functioning prototype created in Java. The next steps are to productize the prototyped methods for speed, scalability, and integration with IPFS and Filecoin miners.

Deliverables

Data is encrypted and stored via 'dictionary' method using color values at individual pixels of an image. These images are then associated with an NFT contract. The density of color bit depths matched with pixel resolution may be as follows: Bitplanes: 8 bit color x 4 bitplane RGBA (such as PNG or TGA) = (256256256) 16.7777,216 colors of RGB, or 4,294,967,296 per pixel with Alpha, per pixel. or 16 bit color x 4 bitplane RGBA = (65,53665,53665,536) 281,474,976,710,656 colors of RGB, or 18,446,744,000,000,000,000 (that's 18 quintillion) per pixel with Alpha, per pixel. Pixel res: 1024x1024 sized image has 1,048,576 pixels. 3840x2160 4k sized image has 8,294,400 pixels. 10 seconds of 4k video @ 30fps = 2,488,320,000 pixels. 2.4billion effective cells of a table in a short .AVI Data density: Using a graphic file format (or a video) as a vehicle for data can be extremely convenient as well as efficient when paired with an appropriate dictionary. If we use a traditional database as an analogue, a mere 10 second 4k video @ 30fps effectively holds 2,488,320,000 cells in a single table, and thanks to a dictionary of 4,294,967,296 values, each cell can hold any number of words/numbers! Compression and layered encryption: The resultant images can be further compressed (for file size) using a combination of ZPAQ, ARC9, 7ZIP, RAR5, and LZH. The differing algorithms can have a compounding compression effect which may be useful if common chunks (read as easily distributable) are found by the algorithm used by IPFS after simple changes are made to the graphic. Testing is required here to find the optimal combination. Each compression algorithm has security features which may be layered with our own dictionary security keypairs, as well as a method of security using ambiguous chunk sizes we are developing, as well as use of PGP for multiple layered methods of security per image. A hello world example: Dictionary entry : "Hello "= 0,0,0,0 (RGBA) Dictionary entry : "World!" = 256,256,256,256 (RGBA) A 2 pixel wide image of a black opaque pixel and a white transparent pixel represents "Hello World!"

At the end of development, we'll be able to offer end points for minting an image based NFT with an entirely novel and potentially ground breaking use case... Along with IPFS, NFT contracts, and the Highwater project, almost anything can be referenced with ownership proven on-chain.

Development Roadmap

Roadmap: 1- Rebuilding our working java prototype in a language which is much faster for text parsing, concurrency/multithreading, with API accessibility via modern web servers. We're planning on Golang but will test against other languages before making a final decision. The result of this milestone converts data to RGBA via CLI using a generalized dictionary. This is round trip, encoding and decoding. 2 developers. $10k for 2 months. 2- Building a dedicated dictionary creation tool with security and chunking features. The result of this milestone is an advanced dictionary authoring tool offering features such as custom chunk size of data and keypairs similar to PGP. 2 developers working together. $10k for 2 months. 3- Build a web front-end connected to functional end points for a full round trip of encoding/minting and decoding. The result of this milestone allows a person to perform the encoding+minting and decoding via web interface. 1 dev + 1 designer. $10k for 2 weeks. 4- Find an efficient way to perform data changes to encoded data within the IPFS and Filecoin miner context. Perhaps 2 devs with support from IPFS. $10k for 1 month. This would conclude the main development and represents the beginning of a public beta. Total dev cost at $40k over 5.5 months.

A future roadmap includes: 1- Functional metaverse/MMO maps and tile streaming with interoperability amongst different projects. Perhaps as a Metaverse-as-a-service. 2- Functional in-game crafting and inventory features with interoperability amongst different projects. 3- Perform a study on what features and innovations are required for an identity solution, especially for students/schools within our own project. Consider the ways in which an identity NFT is useful for disparate use cases.

Some further description: As an on-chain database : As NFT ownership exists within wallets with exists onchain as a history of transactions, these NFT images can be considered on-chain databases, but without the gas fees and other impacts associated with on-chain storage. This is at the heart of the entire concept and thoroughly described above.

For Metaverse maps/tiling : As Highwater is building a Metaverse MMO game with plans for high interoperability, we will also use images in another way (other than raw data). We will represent very large worlds, complete with 3D object pointers, elevation data, etc. Example, a pixel of 0,0,0,0 may represent ocean to be rendered at X,Y coordinates in a select image tile. A pixel of 64,85,124,87 may represent House Style 1 at its X,Y coordinate location in an image tile. A pixel of 85,129,204,38 may represent a birch tree of a specific height at its X,Y coordinate in a select image tile. We will effectively represent a huge open world using a dictionary to point to a library of 3d object instances and rendering directives. This will be an effective way to stream and store world data shared by many players. This takes modding/skinning to a new level as entire asset libraries may be swapped while being a technically mirrored world. Note : Unreal's Nanite is highly efficient but breaks down when a lot of depth culling is required. Testing will reveal how best to represent spatially large sets of 3d objects to reduce the need for culling during runtime. As Unity still relies on traditional LOD levels, there aren't any issues.

For in-game crafting and inventories : Another primary use case of ours includes crafting and UGC (user generated content). Many disparate items in-game can be crafted into many combinations. As we add new asset types, the possible combinations grow exponentially. Rather than using a centralized database to track all changes to inventories, we may store representations of inventories in images much like the examples above.

Identity : As our project is EdTech focused with an aim to onboard entire school districts at a time, we are planning for rapid growth (and infrastructure needs). One complaint of educators after the pandemic is something referred to as apps fatigue. Educators are juggling many individual 'dashboards' of student progress in disparate, disconnected education apps. We're approaching this topic by completely digitally twinning students and schools with a unified dashboard. A digital twin makes use of a lot of data points and is helpful for AI assisted correlations. It's a clear win to be able to have an NFT image represent student identities, academic history, and other factors which might contribute to their education and SEL (social and emotional learning). This 'whole' approach can be applied to the topic of identity across many industries.

Total Budget Requested

Total dev cost at $40k over 5.5 months. We do not have capital expenses. This entirely covers devs costs in terms of time dedicated to this development.

Maintenance and Upgrade Plans

As we will be integrating this in our metaverse project, we will submit all changes/updates/fixes in a way which aligns with public use of the dedicated Filecoin tool. Our metaverse project aims to be longterm with obligations to the US Dept of Education (and potentially other Education bureaus internationally). If at any point we are no longer developing the tooling built for Filecoin, we will announce this and ensure the open source community have the knowledge to continue development. We're happy to deliver on any reasonable requests made by IPFS/Filecoin within this context.

Team

Team Members

Primarily Alpay Kasal and Kai Sorus. With the potential addition of Hai Nguyen, Mathias Paumgarten.

Team Member LinkedIn Profiles

https://www.linkedin.com/in/alpaykasal/ https://www.linkedin.com/in/kai-sorus-672443211/ https://www.linkedin.com/in/chaoticbob/ https://www.linkedin.com/in/mathiaspaumgarten/

Team Website

http://highwater.world/ (sorry no https yet) Pitch deck for the greater project https://bit.ly/3txGiAx

Relevant Experience

We're all senior devs with different specialties. The common thread of this group is that founder Alpay Kasal has a close relationship with each team member having worked with each spanning years. When I (Alpay) mentioned this project, they were all happy to join as we are a tight knit group.

Team code repositories

Here are individual repos https://github.com/chaoticbob?tab=repositories https://github.com/roboshoes?tab=repositories Skipping the other two on the team as we don't have much to show.

Additional Information

I wish I'd have learned about the Open Grants Program sooner! I learned via YoutTube interviews and the Filcoin YT channel. alpay@highwater.world I'd like to offer the link to the highwater pitch deck once again as it provides a greater context for what we're building once we attain seed round interest - https://bit.ly/3txGiAx . Thanks for your consideration.

alpay-highwater commented 1 year ago

Greetings @philippbanhardt and @realChainLife . I could not add the label, label editing permissions seem to disabled for a lot of us (judging by the many projects with no category). No gear icon in the labels area. Thanks! Have a great week.

alpay-highwater commented 1 year ago

Update : I have created a traditional deck at https://bit.ly/3mu4FxW Thanks.

ErinOCon commented 1 year ago

Hi @alpay-highwater, thank you for your proposal and for your patience with our review. Unfortunately, we will not be moving forward with a grant at this time. Wishing you all the best as you continue to build!