stacksgov / grants-program

Welcome to the Stacks Foundation Grant Program. Community members interested in submitting a grant proposal may do so by opening an issue in this repository and filling out the grant application.
141 stars 36 forks source link

Extending NFT use cases to enable full data ownership in Web3 #233

Closed Regulr3 closed 1 year ago

Regulr3 commented 2 years ago

Background

What problems do you aim to solve? How does it serve the mission of a user-owned internet?

TRUBIT is the first data marketplace built on Bitcoin reinventing how value is exchanged between consumers and brands. Everyday consumers can now generate passive income from a highly underutilized asset, their data, by creating their own personalized avatar which they can mint into a Stacks NFT. To unlock further customizations, they can connect more data sources to their NFT, simultaneously increasing its value to potential buyers. We are creating a fun and attractive way for the masses to port their digital footprint into the Web 3.0 future while maintaining full control over their data along with the appetizing benefit of monetizing their data. Individuals can aggregate their data across different web platforms and lease access to willing buyers such as brands in exchange for bitcoin. In this way, TRUBIT empowers individuals to “stack” their data and be compensated for the value it creates.

Meanwhile, brands gain access to a novel source of 1st party data delivered as a cookieless solution which enables them to avoid Big Tech and AdTech middlemen and their associated costs. Furthermore, TRUBIT enables brands to issue NFTs to their target audience, enabling the transition from Web 2.0 (where brands advertise AT consumers) to Web 3.0 (where brands build communities WITH them). In summary:

- Consumers are attracted to TRUBIT by the opportunity to earn something of immense and appreciating value (bitcoin) in exchange for something that either already exists or that can be generated at nearly zero cost (data).

- Buyers of data, in turn, gain access to the most detailed, holistic, privacy-proofed, and robust dataset spanning across different web applications.

TRUBIT is the first such solution and is built on a full Bitcoin technology stack, leveraging Stacks as the programmable layer for decentralized applications, smart contracts, and data storage. We believe TRUBIT can ultimately become the data layer in Web3 and facilitate value exchange that benefits each Web user accordingly. More complexity can be built on top of this with STX in a similar fashion as to what Jude lays out in this excellent thread:

Project Overview

What solution are you providing? Who will it serve?

To deliver on the above, we need to extend the utility of Stacks NFTs by enabling easy management and permissioning of structured data for Web3. We propose implementing new capabilities via new data-linking and data-permissioning standardized tooling. This extension of NFTs would be as follows:

  1. New standardized metadata attributes that link (point to) the NFT's underlying data elements that a user has uploaded/connected (via TRUBIT for now) or has created over time with other dApps/services (e.g. all of one’s web 2.0 data being appended to their NFT, enabling individuals to “port” their digital footprint from Web 2.0 into web 3.0)

  2. User-controlled data permissioning as an easy method to grant data access rights and controls for any applications or service they use in a browser extension or packaged widget that can be embedded in any app or service that wishes to provide the capability for their users on their platform.

This solution will serve both individual users in the Stacks ecosystem (by increasing the utility of Stacks NFTs) as well as Stacks developers/builders who wish to build dapps that require the secure transfer of structured user data.

Scope

What are the components or technical specs of the project? What will the final deliverable look like? How will you measure success?

The key components of the project will include the following:

_Reference attached Figure 1_

Reference attached Figure 2

The final deliverables and success metrics will include:

  1. A submitted SIP for structured mutable data attachments to NFTs (extending SIP-009) with a measurable success outcome of having the SIP approved.

  2. A standardized way for Stacks wallets to support these new capabilities: options include (1) a standalone browser extension, (2) enhancements to Hiro’s web wallet, or (3) partnering with Xverse for a mobile-first solution. We would ideally partner with Hiro or Xverse (Secret Key Labs) given the existing usage and less ideally could build a new standalone browser extension to offer anyone in the Stacks ecosystem. Success will be measured by having a working prototype of at least one of these options. For a public beta-ready browser extension and mobile wallet, we will require future grants, as noted in the milestones below.

  3. Browser Extension UI and contract(s) expansion for updating/removing associated data in IPFS/GAIA will be measured as successfully enabling a user to create, update or delete their data on IPFS/GAIA from the extension. Success will be measured by having CRUD capability for the beta browser extension/ mobile wallet for the primary data source.

Budget and Milestones

What grant amount are you seeking? How long will the project take in hours? If more than 20, please break down the project into milestones, with a clear output (e.g., low-fi mockup, MVP with two features) and include the estimated work hours for each milestone.

Total Grant Request: $15,000

Projected total of 240 hours for all efforts related to the milestones outlined below.

M1: Scope of work, deliverables, and grant amount of total. (120 hours - $7,500)

Contract implementation(s), Stacks Improvement Proposal (SIP-XXX), Developer Tooling/Utilities for future milestones/grants

M2: Scope of work, deliverables, and grant amount of total. (120 hours - $7,500)

Browser extension foundation for viewing NFTs and uploading/viewing attached datasets

M3: Scope of work, deliverables, and grant amount of total. (120 hours) If funds remain we will attempt to build this but we are acknowledging another grant is likely necessary to implement how this data is actually rendered and parsed more efficiently and granularly for owners and any entity potentially consuming it. We are happy to discuss this further with the Grants Team.

Browser extension UI and contract(s) expansion for updating/removing associated data in IPFS/GAIA

Team

Who is building this? What relevant experience do you bring to this project? Are there skills sets you are missing that you are seeking from the community? Please share links to previous work.

We are a seasoned team of entrepreneurs, technologists, and product specialists. Our founders have prior startup experience and deep expertise across networking, IT, business development, digital marketing, product development, software development, marketing, and data strategy. Our founders are joined by product and software development experts, product creatives, leading designers, and strategic advisers.

Our founders’ backgrounds include the following:

- Stephen Dodge: Stephen has expertise spanning networking, visualization, and storage technologies. He held a leadership role in designing, supporting, deploying, managing, and servicing the SAN environment for the largest US financial institution. His Cisco networking experience gravitated him toward blockchain and decentralized networks where he has been passionately involved ever since. Stephen co-founded Regulr, a platform enabling individuals to bring their data with them in the offline world to influence experiences at brick & mortar businesses.

- Ian Major: Ian has deep expertise in business development, digital marketing, data strategy, measurement, and analytics. In his prior role, Ian led multi-million dollar SaaS engagements with some of the world’s largest and most successful companies across North America, Africa, and the Middle East. An avid Bitcoin pleb and hodler of last resort, Ian is deeply passionate about the world-changing potential of Bitcoin and relishes the smell of freshly-stacked sats in the morning. Ian was the co-founder of Regulr along with Stephen.

- Sajid Akhtar: Sajid has over a decade worth of experience in digital marketing in fintech, e-commerce, and in the Data Sciences Practice at Publicis Media MENA. He recently completed a full-stack web development boot camp and is dedicated to contributing to items outlined in the grant proposal. In his time at Publicis, Sajid has focused on product development, automation, solution consulting, and data privacy. Sajid has seen a shift in demand from brands for post-cookie technology solutions to engage consumers and acquire new audiences and has witnessed brands asking how to utilize NFTs.

- Joey Figaro: Joey is a full stack developer having built and led a wide range of products and projects.. Joey doesn't like to sit still and enjoys having his hands in many things at once. He thrives in environments that promote creativity, self-discipline, and exploration. He likes to jump into new territory headfirst and thrive on being uncomfortable. He is the lead developer for TRUBIT.

- Vigas Deep: full-stack developer at TRUBIT

- Gurjit Singh: full-stack developer at TRUBIT

Risks

What dependencies or obstacles do you anticipate? What contingency plans do you have in place?

We acknowledge that this grant doesn't fully build out additional tooling and functionality that will likely be necessary for users, dApps, or services to take full advantage of this functionality. This will, however, lay the groundwork for other developers in the ecosystem to make use of these tools as they see fit in the future. Our hope is that we will be those very people that will continue to build out these additional needs with future grants which we noted in the comments above.

The good news is that the endpoint for this particular deliverable will serve as a logical jumping-off point for future development that will make it fairly easy for anyone to come in and further build upon how they see fit which is well aligned for the ecosystem and future of Web3 at large.

One other unknown we would highlight at this stage is uncertainty around the scope and types of structured data that web3 apps will require in the future. We believe this is a “known unknown” at this stage, and the contingency plan is to build this as an open framework that can be adapted to accommodate evolving needs of the web3 world.

Community and Supporting Materials

Do you have previous projects, code commits, or experiences that are relevant to this application? What community feedback or input have you received? How do you plan to share your plan to the community over time and as the final deliverable?

We tested the TRUBIT concept by exhibiting and sponsoring at the 2021 Bitcoin Conference in Miami, receiving very positive feedback and compelling amounts of interest from consumers and potential buyer entities alike. We have garnered interest from several large data entities who wish to partner that we’re in conversations with currently. We have multiple testimonials (see below) and have attracted interest from several podcasts including a recent appearance on DeFi Recode, GoldSilverBitcoin Podcast, and The Bitcoin Magazine Podcast () and more.

We’ve also established roots in the Stacks community by recently launching our public-facing community-building efforts with a quickly-growing Twitter & Discord presence. We were thrilled to recently be accepted into the Syvita Guild and were featured as part of the December 2nd Crypto Internet Show () with Muneeb, Patrick, & others. We’ve also been featured on the Built On Bitcoin podcast with Jake Blockchain which will go out this week.

Our approach for sharing the broader plan with the community will focus initially on the Stacks and broader Bitcoin communities. We will publish our development roadmap on our website (), our Twitter handle (), and our Discord (). We will also update the community at large with our progress via a regular newsletter. We want to work closely with the Stacks community to attract as many like-minded individuals as possible so TRUBIT can truly become the user-owned data layer that powers the modern Web. The final deliverable can be presented in the above channels and would also be a stepping stone to the full-blown TRUBIT platform that we hope to launch in Q2 of next year.

Figure 1 Figure 2
stx-grant-bot[bot] commented 2 years ago

Thanks for submitting a grant proposal. Our team will review your submission and get back to you.

will-corcoran commented 2 years ago

Hi @Regulr3, thanks for submitting such an interesting proposal! In short, we support the idea extending the utility of Stacks NFTs (i.e. being able to easily capture data as NFTs), but we don't necessarily support the application of these NFTs for a data marketplace. The main concern here is around contributing to surveillance capitalism which @jude can elaborate on.

Would you be open to submitting a revised grant application that focuses solely on developing a mechanism for minting data as NFTs (locally)? Some work is already being done in this area via the SIPs process, in which we'd welcome you to get involved.

Regulr3 commented 2 years ago

Thanks @will-at-stacks

If @jcnelson can elaborate that would be very helpful as this proposal in no way perpetuates surveillance capitalism so we're unsure how to respond here without further context or feedback.

We're also not sure what this other potential route means as we're unclear on what the difference is from what we proposed? So again, any clarification here will help us better understand!

We will respond best we can once we receive more insight.

will-corcoran commented 2 years ago

@Regulr3 can you please address how you feel the proposed product / business model does not result in surveillance capitalism? That was @jcnelson primary concern. Jude is pulled in a lot of directions and getting a call scheduled with him is going to be a challenge. If you could address his primary concern and/or submit pointed questions we will work to get you answers in a timely manner. Thanks, Will

Regulr3 commented 2 years ago

@will-at-stacks

Thanks for sharing this feedback. We can certainly appreciate that the term “data marketplace” can have connotations that liken towards “surveillance capitalism” which we understand to mean “an economic system centered around the commodification of personal data with the core purpose of profit-making.”

However, it is exactly surveillance capitalism that we are working hard to fight, and we believe our work directly combats surveillance capitalism for a few reasons:

  1. The defining characteristic of surveillance capitalism is how the “profit- making” takes place—namely, that platforms (e.g. Big Tech, AdTech, data brokers, etc.) extract value from assets (e.g. data) that belong to individual users. The spectrum of “extraction” varies (from users albeit “voluntarily” accepting word-spaghettied terms & conditions to the outright scraping & theft of data from the likes of data brokers), but what stays consistent is how value accrues—namely, to platforms/corporations and not to individual users.

    a. We are proposing flipping the entire script to where the rightful beneficiary of this value creation is the owner of the asset creating the value in the first place. By being able to codify structured data in NFTs, users would gain newly-found property rights over their data and would for the first time have the option to voluntarily monetize their data for their own benefit.

    b. The entire process is explicitly user-consented (not implicitly via terms & conditions that are unreasonable for the average user to fully read and process), and indeed there can be no exchange of data in the system we’re proposing without the express permission of the data owner. This is exactly counter to the aims of surveillance capitalism which seeks to scrape and extract value without the user being fully aware of what’s happening.

    c. In a similar way as to how artists can codify property rights and monetize their art via NFTs, we are seeking to expand the scope of what can be codified to give users new ways to capture value from their digital assets.

  2. We believe data will still have a variety of important roles to play in Web3. Critically needed privacy and data rights efforts shouldn’t throw the baby out with the bathwater. For example, a purely voluntary transaction between an individual and a brand offering a good or service definitionally creates value. Voluntary commerce is good, and data plays a central role in facilitating value-creating transactions in cyberspace—this is not going to change in Web3. What needs to change is how this happens. We need to move towards a world where any individual user can selectively share or permission data as he/she sees fit to ensure that (1) we don’t throw away all the benefits that a global marketplace of consenting individuals/brands could bring, but (2) that data can be shared in a way to where no observing 3rd party can unrightfully extract value from these interactions.

    a. Our desire with this effort is to take the first step in this direction. The ultimate form factor that accomplishes the above in partnership with various dapps could be akin to a password manager that could serve as an enhancement to a browser-based wallet like the Hiro wallet.

    b. Once we start conceptualizing this effort in this way, we believe it becomes clearer what we’re trying to accomplish.

We hope this clarifies the goal of this effort and how it supports Stacks’ stated mission of enabling a user-owned internet. We believe any such vision of a user- owned internet is incomplete without a user’s ability to provision property rights for their data and do with these assets as he/she pleases. We understand “data marketplace” may not be the right way to describe this effort and can certainly take guidance from the team on how to position this within the community. We’d be happy to help answer any additional questions and look forward to hearing your feedback.

jcnelson commented 2 years ago

This, unfortunately, is exactly what I was afraid of. Just because the users consent to have their data consumed in perpetuity for some money does not mean that the harms of surveillance capitalism are avoided.

First, the user cannot later prohibit the data consumer from using the data they have already given to the buyer, nor can they even know what their data is being used for. This can't be helped -- once the buyer has a copy of the data, it's non-revocable by the seller.

Second, buyers stand to make more money by misrepresenting their intentions to users in order to gather even more data than they imply is needed, so users can't be expected to know what they're getting into. Again, this can't be helped -- the buyer may simply discover a new way to process their data after they've bought it that turns out to be systemically harmful for users.

Third, there's no safeguards in place to prevent user A from selling user B's data without their consent (even if accidentally). This also can't be helped -- users' behavior in real life is often correlated (e.g. I go to the bar with my friends far more often than most users), and that correlation shows up more often than not in their digital lives.

This proposal is an improvement over the status quo in the same way that indentured servitude an improvement over slavery. While indentured servitude is technically better because you can at least choose to become an indentured servant and you get a (small) wage, both are abusive and exploitative labor regimes that are rightfully illegal. Like, you could still build a profitable version of Facebook in a world where users sold their data this way, and that version of Facebook would be just as harmful as the one today, for the same reasons.

A user-owned internet is an internet where your data is a capital asset, not a commodity. In the user-owned internet, your data is something you can rent out, something you can store value in, something that grants you a share of profits in an enterprise, something that enables you to produce (other) commodities, something you can borrow against, etc. (all of which are achievable with NFTs). This proposal treats data like a commodity, just as the current internet does, which leads me to believe it will not help us achieve the vision we're aiming for.

Regulr3 commented 2 years ago

Thanks @jcnelson . We share your desire to avoid inadvertent perpetuation of the very surveillance we’re trying to escape. Your last paragraph (describing data as a capital asset) is precisely what we want to accomplish so allow us to clarify further.

Using your terminology, this proposal seeks to enable users to codify their data in NFTs as capital assets that can generate a passive income stream for them (and therefore also enable other things like borrowing against the asset as you mention) - said another way, users can essentially “stack” (i.e. lease) their data to earn a bitcoin yield.

It seems the crux of your concern (which we share) is if the data can be copied or taken - this as you highlight inevitably leads to commoditization, so allow us to explain the different ways we’ve envisioned this working:

“User-Owned Self Contained” Use Cases - the example here would be a brand like Nike wishing to create and distribute an NFT to users that delivers some benefit (e.g. a digital collectible, a pass to an exclusive digital space, a discount, etc.). Nike would be able to come to the TRUBIT platform and specify their target audience (e.g. males 25-34 with an interest in sports) which would ephemerally generate a list of principals that share these traits. Nike’s NFT would then be distributed to these principals for each user to claim (or not claim). At no point in any of this would Nike receive or be able to take any data. None of the data is exportable, and none of it even has to be revealed to Nike other than the count of principals who meet the target audience criteria.

“External” Use Cases - this is where your concerns come in. An example could be a user leasing access to their data where access is revoked at a certain block height - how do we ensure the data can be used without fundamentally “pulling the data out”?

Our proposal for both of the above - and especially the second - is to have all data locked behind homomorphic encryption while still enabling real-time computations and queries against the data so all privacy is reserved. Please see the note below from Asteria for additional context as we’re working with Syvita Guild to implement some of this:

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512

TRUBIT will be using homomorphic encryption and other cryptographic methods to share data without sharing the data itself. this allows the user to share their data with a provider, but the provider cannot deanonymise it. this way, the data can be used by the purchasing entity to train things such as machine learning algorithms without revealing sensitive user-owned info.

the user could register with a trusted source that could verify the user data integrity (eg, if it's a real person or not). the user could send their account details to the source who would verify them or whatever, then create a blind signature. the signature is unblinded by the user and then provided to the purchasers as proof of a real entity. this shouldn't be KYC or anything, the trusted source could go through the user's account and public data to determine whether they are human or not etc. the trusted source could be paid by the user, while not revealing to the purchaser or trusted entity who you are sharing the data with or deanonymising yourself. this is (basically) how Whirlpool works but for homomorphically encrypted user data instead of UTXOs. -----BEGIN PGP SIGNATURE-----

iLgEARMKAB0WIQRfxIfFzm8Y5ZGE5p2jA7z+yjDd+QUCYbjJ9AAKCRCjA7z+yjDd +fNOAgUaZQf4elkoropjm24hqLAj6vZge58SMJ5GRz1iwdF4tMj7QwWDQo9djVln 0n3iqMRkl4eOGlwyiqRrnZBgiKXZogIJAf9hFC0hL332THF1iJW9MjzVQAjuW8hQ eViDX5a8u3TQIXxmEmyJbLNCrV/V1rRQGN69joSVjTFD9UP8VkJvFBh/ =oISk -----END PGP SIGNATURE-----

The above should help with the first and second concerns you made. For the third, a safeguard might be to initially limit the types of data that can be supported (e.g. my mere interest in soccer is less revealing / cross-correlatory than the fact that I visited the local bar 4 times in the last week). With that said, as you imply, there is perhaps not a fully perfect solution to the third concern across all scenarios (at least not yet known).

Does the above - and particularly the two categories of use cases - clarify things and align better?

Regulr3 commented 2 years ago

Hello everyone and happy new year, hope the holidays treated everyone well.

Now that people are getting back into the swing of things we wanted to check in and see if there was any update on this @will-at-stacks ?

We reviewed the recent NFTree post @jcnelson and it will be really useful for what we are building with our proposal here. We're excited to implement stacking of these NFTs and have a few other use cases we're scoping out now for stacking. We still strongly believe our proposal is needed in order to create the best user experiences possible for NFT owners as they freely seek to generate income from their NFT and other assets associated to it.

Thanks

will-corcoran commented 2 years ago

gm @Regulr3 -

Thanks for your patience over the holiday break. This is approved!

Very excited about this grant and all that it could yield. The SIP, the browser extension, and implementing NFTree. As a side note, the Grants Program is going to be rolling out some substantial changes soon - an Ambassadors program (to assist with technical review) and content creation (highlighting the efforts of Grantees). We really hope the whole Trubit team is interested in participating. More info on this to come soon!

Best, Will

Regulr3 commented 2 years ago

@will-at-stacks amazing! Much appreciated, now time to get back to work!

Can I just DM you on Discord for next steps?

will-corcoran commented 2 years ago

Hey @Regulr3 -

In terms of next steps @jennymith will be working to get fund disbursed. Lets just keep the dialog here on GitHub so everyone gets alerts. We will be in touch.

Best, Will

stx-grant-bot[bot] commented 2 years ago

Congratulations. Your grant is now approved. Please complete the on-boarding link here: https://stacks-grant.netlify.app/onboard?q=92a90d726c51bc9eb756de8a1f7cf356

Regulr3 commented 2 years ago

On-boarding complete!

Regulr3 commented 2 years ago

Hello @jennymith

Just wanted to ping you here to see if there were any further actions needed from our end or if there would be a rough ETA as to when we should expect M1 funds to be dispersed?

Thanks!

will-corcoran commented 2 years ago

Hi @Regulr3

Sorry for the delay, the funds are being disbursed today.

Best, Will

Regulr3 commented 2 years ago

@will-at-stacks curious if we should see the funds dispersed yet? As we do not, thanks!

will-corcoran commented 2 years ago

Hey @Regulr3 - I am told they were doing out today. Sorry for the confusion, we were processing a lot of payments for grants and residents. Thought yours went out on Friday, but sounds like a couple had to wait until today. Please let me know if you don't see them by EOD tomorrow.

will-corcoran commented 2 years ago

@Regulr3 can you please provide us with an update on the progress of this grant? Is M1 close to competition? We are hoping to have visibility on this before proceeding with your other recently submitted application. Thanks

Regulr3 commented 2 years ago

@will-at-stacks Hey yes indeed, as discussed on Discord we're almost done writing up the new grant proposal that will merge with M2 of this grant! We will provide the M1 updates tomorrow or early Tuesday on here after we wrap up some of the last pieces of our SIP proposal..

Thanks!

will-corcoran commented 2 years ago

@Regulr3 ok. cool. I just wanted to be sure this grant was not related.

Regulr3 commented 2 years ago

@will-at-stacks no worries, it's unrelated we just found ourselves looking into the lnswap to make bitcoin payments a more seamless user experience

vanesvibes commented 2 years ago

@Regulr3 Vane here! I am supporting the Grants in updating information. Could you let us know your discord username?

Regulr3 commented 2 years ago

Hey @vanesvibes it's 'Rdodge3#0386'

will-corcoran commented 2 years ago

Hello and thank you for participating in the Stacks Foundation Grants Program!

We are in the process of migrating from GitHub to the new Grants Dashboard. In order to complete your grant, you will need to submit any remaining Progress Review and/or Final Review requests through the Dashboard in order to receive your remaining payments.

Lastly, please note we are marking this grant 'closed' on GitHub for organizational purposes, but it is still 'open' on the Grants Dashboard.

Thanks and we hope to continue to support your efforts with additional grants!

Best, Will