Many-to-Many: A New Foundation for Web3 Apps

EthCC[8] · 1 Jul 2025 · 21:08

Web3 consumer apps remain siloed, and Yaniv Tal argues that portable, composable information is the missing foundation for apps users can control. He presents GRC20 as an entity-and-relation knowledge standard and Hyperraph as a local-first framework combining encrypted CRDT data, permissioned sync servers, and public publishing through IPFS and on-chain transactions. The design spans private, shared, and public data, but Tal calls curation in open systems a deep problem and leaves duplicate prevention and governance for a future talk.

Speakers

Topics

From EthCC[8], hosted by Ethereum France.

Transcript

[Music] Hi everyone. It's great to be here in CAN. Uh Ethereum is winning which is great to see. Super lively week. Um my name is Yian. Uh I'm the founder of the graph and most recently geo. uh founded the graph back in 2017 and have been working to help build web 3 ever since. Today we're going to be talking about building web 3 apps. And I'd like to start by just asking you like what apps do you use every day? You know, in your work, in your personal life, like think

about the apps that you spend your day using and how many of those apps are web 3? I'm guessing it's probably a low amount, right? Um, the vast majority of the apps that we use are web two apps, which means that they're run by these companies that control your data, that make the rules, right? They lock you in. Uh, we're kind of very familiar. Um, a lot of people, you know, in the space have been working to kind of build this new web. And maybe we can look a little bit at, uh, you know, what these missing pieces were and what it would take, uh, to realize this vision.

Um, I'd like to start by like taking you back to 2007,200 when the iPhone first came out and kind of the early days of mobile. If you remember this period, there were like tons of apps coming out all of the time, right? Super exciting time to be building. You know, there'd be new apps launching all the time and you would try them out, right? Uh and I think there was something about this period um that was magical and people would try the the new app of the day. They would talk about it. Um but something has kind of happened since that time, right? And kind of what is that? I mean a lot of the apps that you tried just kind of at

some point stopped working for some reason or another, right? Uh maybe a company got acquired, it got shut down, and the app that you thought was super cool like was no more, right? And if I have another app that I use like stop working, like I'm going to go ham. You know, it's not a good experience. They're like, "What the f? This was, you know, my app. I was using this." And, you know, I think that's part of what we can do with web 3, right? Is like build these apps that persist that you that users have control over. Um, but we need to make these apps dependable.

So imagine if the apps that you use were open and interconnected and you weren't trapped in these silos. you know, you could just post things and, you know, have your own workflows that you want for how you post things and how you consume things and people can remix it and you can have like really beautiful custom interfaces um where really you're in control and none of the content that you create is trapped in these centralized platforms. That's what we want to create. Uh, one kind of example that we can look at to give us a little bit of a taste of like how this type of a thing could work is in, you know, these kind of areas on the iPhone. Um, so health, photos, and

contacts are three areas where there's pretty robust operating system APIs. Uh, so any app can easily access your photos, your contacts, right? These sorts of things. The data itself is managed by the OS and if an app wants to use it, it asks you for permission, right? You get a little screen you can accept or reject. Um, but that makes this data composable across applications. And I think like it's a good like way to get an intuition for how like composability across apps can kind of be handled.

But to do that, you need standards, right? ERC20 has been an incredibly successful standard that really enabled DeFi to take off, right? This one standard made it so you could have lots of different smart contracts and DeFi protocols that all can exchange value, right? You have this primitive for composable value and that really enabled the birth of DeFi. And similarly we need the same thing for information to make any arbitrary information composable across applications so that you can have different applications writing in different applications reading that data and they can all understand each other.

So for that you need standards and what we need is a standard for composable information which we're going to find out is actually really knowledge. But what is knowledge? Um data is like the raw bits that you have you know on disk or in a database on a wire. Um and when you interpret and structure that in that data it becomes information. Um so information is what most of us are used to looking at tables either in a database or in a spreadsheet right like structured information. You know what the fields are that's information. And knowledge is when you connect all this information together. And you can think

of it, it's actually basically linking and labeling information. But what it does is it it creates context and interconnections between all of this information. And to have knowledge, um, it's a really free form kind of thing, right? So you're moving away from structure and you're creating interconnected information which becomes knowledge. And so uh we recently introduced a a knowledge standard called GRC20. Um and it is uh basically entities and relations are the building blocks of the GRC20 standard. So you can describe any kind of information as entities with relations between those entities. On top of that, we add these uh types. So it's

it's a loose kind of type system that's really flexible and that gives a little bit of structure to your information but using this standard you can build apps that have composable information across different applications. Uh so that's what's formed that that that's what forms a knowledge graph. Now raise your hand if you're familiar with the concept of knowledge graphs. All right, pretty good. Yeah. So the idea is getting out there um and they're becoming super popular in the world of AI uh because you want your AI to be able to understand more and more complex things. And since a knowledge graph is such a flexible way of representing

information, uh you can train your AI to understand more and more. You can use these knowledge graphs as a sort of working memory for your AI that gets smarter over time. And it and with this we can just better represent the world, right? The world's a super dynamic place. So if you try to, you know, structure everything up front and say these are the fields that matter, that's going to go out of date like right away, right? So with knowledge graphs, we have something that can evolve um with the world and we can better represent the world and we can build applications that navigate and browse these knowledge graphs and let people update them. And you know this is really going to be you know the model we believe that's going

to enable this like open interconnected web to thrive. So we we started with GRC20 and today I'm excited to announce the next step in this journey which is hyperraph. Hypergraph is a new framework. It's a local first framework for building composable web3 consumer apps. Uh we've been, you know, building the graph for for many years. A lot of you are probably familiar with it. And when you think the graph, you probably think blockchain data, but most of the apps that you use every day are not necessarily like public data that's

going to be on a blockchain, right? a lot of it is private and uh and and it's not like traditionally like blockchain data. And so with Hyperraph, we want to enable a new category of consumer apps that are web 3 that include public as well as private and shared data that people can build really great consumer apps with. And uh you know we know this the privacy thing is actually really important for a lot of people when they heard about web 3. Like this is what they were excited about privacy and like owning your own data right and you know we know that the

web giants they want to hoover up all of your data. They want to make it theirs. Um, but we can provide tools for app developers to help kind of counter that trend and give people control over their data. Again, and hyperraph is interconnected. So your app doesn't live in a silo, right? It interconnects with all the other apps. And so as more people build apps, your apps can get more powerful. Um, and people benefit when people are using your apps. Um, so all of this stuff, you know, we can build things that really reinforce each other and and help to uh to create like a really great user experience.

Uh, Hyperraph has real time sync. So, you know, this is becoming kind of table stakes for a lot of consumer apps, right? If you use apps like Notion or Figma, you're used to this, right? Where uh different people can write things and it updates right away on your device. And uh you know having these open systems where anybody can kind of uh you know write anything. Uh this is supposed to be a video. It's not playing. But you got you guys know this guy our friend our friend Rick.

Um this is a problem with open systems right like anybody can write anything. Like how do you stop from getting Rick rolled? You know this is actually one of the big issues that we need to solve with these open systems. You can imagine if you had like a a Google Sheets or you know a notion that was open that anybody could write to it would probably take about 2 seconds before somebody pulled one of these on you and they're you know so this is one of the things that you know we've been spending you know over the last 5 years you know me and my my team have gone really deep on how do you structure knowledge to be composable across applications and how do you curate it so that it can be open and meritocratic you can open things up have it be decentralized

um but not have it just get overrun and uh it's a really deep problem and uh and I'm probably going to be going much deeper on this in a future talk. Okay, so what's the architecture? How does this stuff work? So your app for the private and shared stuff it uses crdts um and we use automerge for the crdts and the data with those crdts is encrypted. Now we we have a sync server that's part of this. Um and the sync server's job is basically to push updates to the different clients that have permissions.

Um and uh uh and and so that gives you kind of the real-time sync. Your client could go offline and when it reconnects the sync server pushes the updates to it. Um so you have this kind of a mode uh for your kind of private and your shared uh collaboration and we think this is a really good um tasteful kind of trade-off and architecture for for really great UX while ensuring privacy. Um and then if you do want to publish knowledge um to to actually be public, you encode that as GRC20 um that gets uploaded to IPFS and then published on chain. Um so so you can

actually batch any arbitrary amount of updates to the knowledge graph in a single onchain transaction that can get published either to a personal space or a public space. So personal spaces are spaces that you control. That can be your own like personal like website, you know, a company site, anything like that. And then we have public spaces, uh, which is where we want to help more and more people um, get to, you know, a shared set of facts. Uh so and and we think that that's like a a really important part of you know what web 3 is going to help accomplish to help people you know better understand what's happening in the world and get to agreement and we

think that you know public spaces are an important part of this as well. Uh so let's dive in a little bit more into these like sync servers and this kind of um you know private architecture. So um we have a a piece of this that is the connect app and that is most similar to what I was showing with the the Apple iOS stuff right you have like a system thing that grants access to these private spaces and that is how you allow different applications to access private data right so the user is in control the user has to grant access to the private data right like the the health kit or the the contacts kind of example uh the the user has a top level identity

and then they create appsp specific identities um from that uh and that is what you use to encrypt and decrypt uh messages within your shared groups. So with these building blocks having private and public data that's interconnected enabling privacy and enabling shared collaboration like we think these are the pieces that we need to enable web 3 and people have been talking about web 3 for a long time right I mean we started the graph in 2017 and I think the reason people care about this stuff I mean one we want to give

people more power and control over their lives and We also want to coordinate to solve big problems in the world. Um, and you know, with these tools, I think we we really do have uh the pieces that we need to realize this vision. Uh, so we're going to be here all week. Um, I'm giving a talk at Pragma on Thursday where I'm going to be going into a lot more detail about Hyperraph, showing some example apps. So, this will be uh a really great uh place to be to learn more about Hyperraph. Uh we're going to be at ETH Global this weekend giving out prizes uh to people who want

to hack uh on Hyperraph, building consumer apps or publishing knowledge using GRC20. And if you're building an app in the space, we would love to help you. You know, I I think, you know, we're we're at a place now where there's huge opportunity to build breakthrough consumer apps. Um, and I think the way we're going to do that is to really realize the vision of web 3, right? Nobody wants another siloed app. And I think the issue that we've had is we've kind of stayed stuck in these silos, right? Even in web 3, you build an application and if you structure it in a way that's just for your app, we're not really realizing that vision. But if

instead we really give users the power, we really make it so that they can take their data with them, you know, between applications, so they're not locked in. It's all interconnected. Um, and now they also have privacy. We think we can build something that's like way better than the old web. Um, and the time is now. And my hope is that, you know, maybe by this time next year, you know, when I look at all of the apps that I'm using on a daily basis, they're all going to be web 3 apps. And I can tell you, speaking for myself, like I'm never going to want to go back, right? Like, so for the next year, if you want to build an app like this, um, this is going to be, you know, our main focus.

Uh, and, uh, we'd love to help you be successful. Uh if you want to learn more, we've got the Hyperraph docs uh are up at this URL. You can start to read more. We're going to be open sourcing the repo on Thursday. Um and uh we'll be all around all week if you want to chat. Thank you. I think we have time for some questions.

Okay. Like what can I keep myself and what can I push to the world? Yeah. So the question was like what data should stay private and what data you know should be public and that's really up to the app developer right is the app developer is going to ultimately like you know write the code now the user should be able to select the space right and that's using that connect app where you know they can basically say okay let's say it's health data here's my private health space that I want you to write this data to or you

know whatever type of data you do DMs this way and write like a messaging app or anything else. So, so the user can select the private space that they want the app to write to. And my hope is that a lot of these apps will also get audited, right? They could be open source so you can see exactly what they're doing. Um, but that way the user can be in control. So, I think uh a lot of the data is going to be private, right? Obviously, you know, if if you're working internally, your personal stuff, uh, you know, people do not need to have access to all of that. Uh, but I also hope that more and more data becomes public as well. You know, that as we have better tools for coordinating um that work that maybe would have been like internal to companies uh become

more uh publicly accessible so more and more people can work together uh to accomplish societal goals. Uh yeah, I have two questions if I if possible. Uh so the first one is you mentioned that all this data is going to be interconnected but what if as um app developer I want some of it to be siloed. Uh say say for example I'm talking about tokens that are on chain and maybe there there are lots of people already pushing information about these tokens but I don't want that information to leak into my graph because I'm building very specific uh uh kind of data set. Totally. Well, so there's a few parts there. Um, the app developer can use whatever query they want. So, it

should be very easy to filter out stuff that you don't want. Um, part of what we want to do is also enable like data pipelines so that you can have like public spaces or spaces that are aggregating data that you have really control over that aggregation. So, that could be a way to accomplish kind of what you're talking about. But I think in general you do want the stuff to be interconnected because like if somebody else is trying to query information about one of those tokens like it could be useful to them to know like the information that's on your app right and then they can see like oh like maybe I should use that app or I can pull that in. So I think in general what we want to have is globally unique ids for every entity right any thing person place like

should have like an ID that represents their public thing. So if we're talking about the same thing we can know that we're talking about the same thing. Um and and that's what makes it interconnected. And sorry just because this was a perfect transition into my second question uh about global IDs. How do you guarantee that uh we don't have duplicates? Like someone says something about USDC, the token USDC and they push it and they give it an ID. And I want to say something and I don't know if someone already mentioned it. That's a great question and it comes down to governance which I want to give a whole talk into how we organize spaces and subspaces and help communities organize and curate information which is how we get rid of duplicates and make sure that

everything is organized really well. All right. Thank you so much. [Applause] [Music]