2C | The Data Wallet & BYOF Marketplace
๐ The Data Wallet hosts social graphs of trusted people, so that any dApp can load data curated by specific communities. The ๐ฅ BYOF Marketplace (Bring-your-own-frontend) uses the ๐ The Data Wallet to load decentralized UIs for each dApp, from a userโs trusted communities.
Problem Statement
๐ The Data Wallet hosts social graphs of trusted people, so that any dApp can load data curated by specific communities. The ๐ฅ BYOF Marketplace (Bring-your-own-frontend) uses the ๐ The Data Wallet to load decentralized UIs for each dApp, from a userโs trusted communities.Some context:Weโve had decentralized data for a long time now, but creating a sybil-resitant method for curating indexes of data has proven to be very difficult without re-centralizing those indices. The Graph has done an incredible job of tackling this complex problem with chain-based data, which has inspired us to create a user experience for user-owned off-chain data.These great projects (and many more like them) allow people to host their own decentralized data. However, when using a dApp, most people only care about a subset of that data. Though, if we put our trust in a single party to define these subsets of data, weโre re-centralizing that trust, and leaving ourselves vulnerable to attackers that can spam the dataset. Who can I trust? What data should a dApp load for me specifically?We experimented with these ideas on TrueReview at ETHDenver, and realized a need for curated groups of people who are trusted, so that people can pick a trusted group of people and their data, for a dApp to use.Enter ๐ The Data Wallet:This plugin uses IDX & Ceramic to store user-owned data on IPFS & Filecoin, then allows people to curate their own groups of people and data they trust. Imagine people bringing their own data to each dApp, saying โhere are the people I trust - load all of their data for me to interact withโ, then be able to switch between communities they trust (like โLoad my DAOโ, or โLoad people I follow on Twitterโ, or โLoad this other DAO like FWBโ), much like visiting a subreddit.As a demo application for ๐ The Data Wallet, we built the ๐ฅ BYOF Marketplace. In the midst of extreme political tension and attempted regulation of dApps, several projects have either chosen or been told to take down certain parts of their apps that are hosted on web2 DNS.Stani tweeted โBring your own front endโ (BYOF) after the Uniswap edits, where end-users bring their own decentralized UI, removing some of the DNS burden on core developers. https://twitter.com/StaniKulechov/status/1418864465659969539Enter the ๐ฅ BYOF Marketplace:๐ The Data Wallet loads decentralized records from the userโs list of trusted people, then shows them what frontends (per smart contract) are being used by each community. This allows them to select a frontend, and load it directly from IPFS in their browser, completely bypassing DNS. The Data Wallet can be added to any dApp. You can author your own groups of trusted people, using IDX indices, and make those available to dApps. Identities can be added manually, or imported from existing social graphs. Users can create their own groups, or delegate to communities they trust.This same concept can be applied to any dApp, for example:News publication dApps could load sources from a personโs trusted groupsDAOs can curate a list of trusted users, which can be a data source within any dAppSocial applications are already architected this way, and can easily adopt user-controled data sources in a dApp environment
Solution
๐ The Data Wallet:Built on IDX identitiesStores list of trusted identities in each user's IDXStores community lists of trusted identities as their own IDX (can be owned by a DAO or multi-sig)Stores data on Ceramic / IPFSAlternatively uses Filecoin/IPFS using Web3.Storage to read/write dataWe spent a good amount of time experimentig with The Graph to build a new off-chain datamapping flow, that would take p2p publishing events as triggers to re-index each social graph with off-chain data. We learned a ton here, but realized it was a bigger project than we could commit to in addition to the Data Wallet and BYOF Marketplace for this hack. Next time!๐ฅ BYOF Marketplace:Uses all Data Wallet core technology to read/write dataLoads entire frontend UIs from Filecoin/IPFS using Web3.StorageNext.js/React => static export to Filecoin
Hackathon
HackFS 2021
2021
Prizes
- ๐
Ceramic Pool prize
- ๐
Best new tooling or pattern for other developers to use IDX or Ceramic
- ๐
โญ๏ธ HackFS Finalist
- ๐
Protocol Labs Grand Prize Winner
- ๐
Protocol Labs Pool Prize
Contributors
- nicovalencia
26 contributions
- edderrd
10 contributions
- gustavoalfaro
1 contributions