Yaniv Tal, co-founder of the Graph and project lead at Edge and Node, discusses the Graph, an indexer for blockchain infrastructure such as Ethereum and IPFS. Yaniv and host Priyanka Raghavan discuss the need for blockchain infrastructure, decentralized applications, systems of trust and different modes of payment. They compare and contrast “web 2” versus “web 3” architecture, examine players in the graph ecosystem (indexers, consumers, delegators), query processing with GraphQL, and error processing in the graph and the protocol stack. The last section focuses on developers’ tools and adoption rates and whether quantum computing will destroy blockchain infrastructure.
This episode sponsored by SendBird.
Show Notes
Related Links
- The Graph
- EQL
- The Graph network in depth
- IPFS
- Blockchain
- Smart contracts
- Ethereum
- Immutable Architectures
- Graph day talk
Transcript
Transcript brought to you by IEEE Software magazine.
This transcript was automatically generated. To suggest improvements in the text, please contact [email protected] and include the episode number and URL.
SE Radio 00:00:00 This is software engineering radio, the podcast for professional developers on the [email protected]. Se radio is brought to you by the computer society. I is your belief software magazine online at computer.org/software.
SE Radio 00:00:18 Save time building in-app chat, voice, and video for mobile and web apps using Sendbird get to market faster with San burns UI kit pre-built UI components best in class support and developer documentation. Join us in companies like Reddit delivery, hero, Yahoo sports, and hinge. Start your free trial [email protected] forward slash chat.
Priyanka Raghavan 00:00:39 Hi, this is Priyanka Raghavan for software engineering radio. And my guest today is Yaniv doll. Who’s the co-founder of the craft and project lead at edge node. Yaniv has been working in crypto for more than three years, and I had asked his team to send me a bio. And one of the things that really struck me from it was pretty interesting was his belief that decentralization will fundamentally transform how humans cooperate and he feels that this would only be possible if there’s a fully decentralized protocol stack in place. So we hope to cover all of this in the show, along with the graph. So, um, welcome to the show yarn of itself. Pleasure to have you on software engineering radio.
Yaniv Tal 00:01:24 Thank you so much for having me.
Priyanka Raghavan 00:01:26 Okay, great. Let’s kick off. We have done a few episodes on blockchain, right from episode 2 97, which was on blockchains and then smart contracts and episode 3 56 and then our one on Ethereum episode 3 43 it’s 2021 now. And our last episode was like three or four years back and we did, you know, smart contracts and tedium. And one of the things from that show was the host coated the vision of idiom, which was a one world computer with distributed nodes and making it programmable to build decentralized apps. So I just want you to tell us about, you know, in this age, I do know that we want to move away from what we have right now, which is a web, which is controlled by these big technology companies. And we want to move away from all of that. So can you explain the relevance of blockchain infrastructure with this in mind?
Yaniv Tal 00:02:27 So, you know, it’s been a really exciting time in the crypto space and, you know, glad to see a renewed interest in the software engineering field generally. So yeah, you know, there’s really two big revolutions that are happening now within crypto. One is the decentralized finance, right, which is creating a decentralized money or, you know, large sets of currencies and different contracts and ways of programming, money and finance. And the second is this web three space, which is, you know, decentralizing information systems as a whole. And the problem that we’re solving is that, you know, all software today basically is, you know, run own and controlled by whatever company it is. That’s providing the software. And it’s very easy to just assume that that is, you know, how it always was and that’s how it always will be. But, you know, the history of software is really quite rich with changes in paradigm in computing, you know, starting with, you know, mainframe computers where, you know, you’d only had large corporations that were running these mainframes to, you know, the personal computer where, you know, people were getting their software primarily through, you know, CD, ROMs or floppy disks where they could run that software, you know, locally on their computers.
Yaniv Tal 00:03:51 And then now to the web, you know, which has made things a lot more convenient because, you know, you don’t have to acquire software like physically through the mail or in a store. You know, you have teams of software developers that can just, you know, issue upgrades and it makes, you know, coordinating a lot easier. But, you know, there’s this really massive thing that, you know, we’re giving up, which is we give complete control over to the companies that are running that software. And what we’ve seen over the last 20 years is that really creates an extraordinary, uh, centralization and concentration of power, where there’s fewer and fewer companies making more and more decisions around how, you know, everybody can live, their lives, run their businesses. And, you know, it’s, it’s really not great for an open free society. And so with web three, we’re rebuilding the protocol stack so that you can still have these same kinds of great, you know, internet connected applications, but where users, you know, have a new set of guarantees and there’s no, you know, company or even set of companies that have no control over how the software is run.
Yaniv Tal 00:05:06 And instead you have individuals with a lot more control over, for example, you know, their private data, their reputations and things that, you know, they’re contributing that’s theirs, and you can also have more open governance processes so that where there’s, you know, many participants that are all working together in some way, uh, the rules for, you know, how those participants work together is open and transparent and can be upgraded through, you know, transparent governance processes. So, you know, that’s what we’re working on with web three and a ton of progress has been made over the last few years.
Priyanka Raghavan 00:05:46 Okay. The young about actually have to ask your sort of a non-technology question right now. And the reason I’m asking is I live in India and just last week we have a press item that was, uh, the government is planning to ban Bitcoins, as well as, you know, other virtual currencies. And they want to have some oversight on this. I think of it as like there’s some sort of trust deficit that they have, and we’re not going to me Beatles of that. I wanted to ask you, you know, there are certain countries and maybe, you know, other organizations which have a problem with the blockchain infrastructure. Well, what’s your take on that? I was just curious to know, before we jump into the whole, the technology.
Yaniv Tal 00:06:30 Absolutely. I mean, you know, it’s not every day that, you know, the global monetary system, you know, sees a change and certainly, you know, large countries. And I mean, all countries, you know, part of their job is to try to create stability. They also have, you know, a certain amount of like sovereign control that they express through their monetary policy. And, you know, for the last, you know, a hundred plus years, you know, there’s basically been this link between state and money, the same way that in the past, you know, between the state and say religion where, you know, if you lived in a certain country, you know, the king of the Monarch decided to like everyone in this country must, you know, adhere to this religion. And then, you know, famously, you know, in the United States and you know, many other countries, and now, you know, most there is a separation there, uh, you’re free to choose your own religion.
Yaniv Tal 00:07:22 And I think a similar thing is happening now with money where it’s been in the Providence of countries, it’s given a lot of power to politicians, to, you know, banks, to, you know, the large established financial players. And now there’s going to be some competition. And so, you know, different countries are grappling with this fact in different ways. I think, you know, the world is a lot more global now. And so there’s a lot more possibility for like international competition in these types of areas. And ultimately I think the countries that embrace this new technology are just going to be the most competitive ones. And I think, you know, in the early stages of these types of new technologies, you know, it’s not as obvious what all of the benefits are because these things they really accrue as the technology grows. But I think, you know, with crypto, for example, we’re already getting to a place both with decentralized finance and with web three, where the benefits are just becoming more and more clear every day. And so it’s gonna, you know, rapidly get to a point where it’s just too hard to ignore. And I think then the policy makers just have to figure out how to deal with that reality.
Priyanka Raghavan 00:08:35 Great answer. So let’s just move on to the meat of the show. I want to talk about the blockchain infrastructure referencing your talk from this thing that you do at your drafty. There was a talk from two years back, I think you talked about, you know, web three and web two and the differences, like what you’ve just, but you said that certain aspects of web three was still not at the level of web tool. You talked about, you know, infrastructure in terms of scalability, performance being, not that great in the UX, also not being so good. It’s been now two years since that talk. So what’s your decals, how are things measuring up now?
Yaniv Tal 00:09:15 I think we’ve made a ton of improvements over the last two years. So I can go through some of the places where I think things are looking really good, but definitely the web three platform is still a platform that, you know, is under construction. And now you’re seeing some really great applications already coming out on top of this platform. So I think, you know, that’s really exciting. You no longer have to just dream to kind of think about how these decentralized applications might work in the future. They’re actually, you know, already quite a few that are live and so you can see it, but we still have a long way to go. So as far as the infrastructure, you know, web three is composed of, you know, maybe a dozen to two dozen, let’s say a different protocols, different layers in the stack. So you’ve got, you know, blockchains are an important part because they give you this global consensus where you can have, you know, people all over the world that can agree at any given point in time on the state of a shared database.
Yaniv Tal 00:10:20 So that’s a really important primitive, you’ve got layer two solutions that are built on top of blockchains that allow them to scale because, you know, the base layer chains themselves have to optimize for security, you know, because anybody can run these nodes, they need to be secure. And, you know, that’s inherently, you know, puts a limit to how fast you can process transactions. And so with layer twos, you can, you know, get a big speed up in the number of transactions that you can process per second. That’s an important part of the stack. You’ve got peer to peer protocols. So not everything needs to go directly on a chain. If you’re doing some work using an application locally, that data should really never leave your device. You should be able to work in this kind of offline first way. And that way your private data really remains private.
Yaniv Tal 00:11:10 And then if you need to collaborate with some other people, that data should really just be exchanged directly peer to peer. There’s just no reason to go through these kinds of centralized intermediaries and services that you have to inspect and relay all of your data, just to be able to collaborate with the co-worker. So there’s, you know, these sets of peer to peer protocols that enable that you’ve got things like wallets, which is how people interact with these protocols, where you can store your crypto and you can kind of pay for the different services that you’re consuming. And, you know, of course the graph for indexing all of this data and making it easily accessible and actually serving the data to the applications. So these are just a few of the different types of protocols and, and there are even more, and we’ve really seen a lot of progress in the last two years.
Yaniv Tal 00:11:58 So, um, if Ethereum, for example, is they launched the phase zero, they call it, uh, their eith two, which is just a massive upgrade to the Ethereum blockchain. We’re seeing a host of layer, two solutions, several of which have already been live for some number of months and several of which are launching in March, you know, this month and coming up. So, you know, it’s just a really dynamic time, you know, new protocols launching, you know, every week and these protocols that are lodging have really been under development over the last two years. And so this period right now is one of really rapid innovation, a lot of, you know, new protocols coming to market with, you know, re you know, deep research and engineering behind them. And I think this is the year that we then have to stitch together these different protocols into a really cohesive platform and make it really easy for developers to build these decentralized applications on top. And so I see 20, 21 as being the big year for web three infrastructure. And, you know, we’re already seeing the first, you know, amazing applications being built on top and, uh, you know, we expect that to accelerate.
Priyanka Raghavan 00:13:16 Okay. So let’s get into the graph. You explained it briefly, but could you just reiterate to our listeners, what’s the problem that you’re solving? And a lot of articles I’ve read online has called you the Google of blockchains. You like that?
Yaniv Tal 00:13:34 Sure. Yeah. I mean, I think it makes sense cause you know, Google basically, you know, indexes the web and the graph is, you know, indexing, blockchains and all these decentralized networks. So yeah, the problem that we saw is if you want to build a decentralized application on top of these networks before the graph, it was really hard because you know, these nodes don’t store all of the data in a format that you can consume directly. And so, you know, when we started building on top of Ethereum in 2017, we realized you actually can’t, you know, you couldn’t, at that time build decentralized applications, you would have to actually run a custom proprietary server to index that data and serve that data to your application. And, you know, whenever you have these centralized points of failure, you know, that tends to be where things get like corrupted, where power struggles and Sue, because, you know, everyone wants to control the things that are controllable.
Yaniv Tal 00:14:32 So we invented the graph, which is, you know, an indexing protocol where developers can build and specify these sub subgraphs, which are open API APIs that anybody can query that uses graph QL, which is a really popular query language originally from Facebook. And it’s been open source. It’s used by a, you know, a lot of the talk, you know, web and mobile companies. And so, um, with these subgraphs, you have really easy, convenient access to all of this data, but that data isn’t running on proprietary servers instead it’s running on a decentralized network. So you can publish these sub graphs to the network. And these indexers are the node operators that participate in this network and they run these sub graphs or they’re ingesting the data from the underlying networks, processing them according to these like ETL rules that you give them, they index that data and then they serve it efficiently to clients. And there’s a whole economic system here that, uh, you know, creates the right types of incentives for these node operators and for other participants in the network. And the goal of this system is really to index all of the world’s public information, you know, allow curators to organize that data in a decentralized way, and then, you know, be kind of the backbone in serving all of these decentralized applications.
Priyanka Raghavan 00:16:01 Okay. So if I were to understand that a little bit, like, could you like run us through a case study? I looked at your blog and there’s you have something called the query market. So if I was a consumer and I wanted to, um, look at the query market and I’m looking for a particular query, what’s the sequence of events I would do with the graph.
Yaniv Tal 00:16:22 Sure. Yeah. So as a developer, you know, let’s say you want to build a decentralized application that allows people to, you know, find and purchase an FTS NMT, this a really exciting thing happening in the crypto world right now, where people can mint and buy and sell provably rare goods. And one of the areas where this is getting really popular is with art, where you can be an artist and you can now like issue your art digitally and you can have, you know, for example, just a single edition of this piece of art and you can put it up for auction. People can bid on it and then they, you know, will own, you know, your, you know, one of one edition and a piece of art. So it’s, you know, a really cool area that’s been really kind of blowing up and it’s, it’s bringing a lot of, uh, now like resources to artists, which is awesome.
Yaniv Tal 00:17:11 So if you want to build that kind of an application, you would go to the graph and there’s an Explorer where you can browse all of the different sub drafts and you can find sub graphs from, you know, the top NFT projects like Zuora and foundation, super air known origin, and those sub graphs have these graph. QLA, you know, schema and graph QL is this really convenient query language where you don’t really have to like know too many details about what’s happening under the hood. You just kind of ask for the data that you want. It’s a very intuitive kind of language and you can run a query and get that data you directly back. And so then you have basically this open API end point that you can just plug into your front end application, you know, where you can like query for, you know, all of the NFTs that are available for auction, you know, sorted by price, or however you want to like, you know, query that data.
Yaniv Tal 00:18:07 And you can just, you know, drive your user interface directly from that API. So that’s kind of how it works from a developer’s perspective. And then they are paying query fees into the network, you know, as people use the applications. Now we’re still kind of in this process of migrating these dApps to the decentralized network. So we launched the network in December and in the first quarter of this year, the big focus was around bootstrapping the supply side, getting all the indexers on the network. There’s some other roles and things that we’re focusing on kind of building up that supply. And just yesterday we announced the migration plan for bringing subgraphs that previously were running on a hosted service that we, we initially been running, just kind of, you know, for development, you know, while we were working on the decentralized network and we’re going to be migrating those subgraphs to the decentralized network. And so that’s where we’re going to see all of the like micropayments and these kinds of things going into effect for the decentralized network. And so I can share a little bit more details about how that works if you’re interested in going into the,
Priyanka Raghavan 00:19:15 Yeah, probably actually there’s one more thing I wanted to ask you. You did throw a Makino the different players in the architecture of the graph. I think you had used the term curators. Could you maybe tell us the different roles, which are
Yaniv Tal 00:19:29 Absolutely so indexers I mentioned, or the node operators that they’re running the servers, you can think of them as like the distributed dev ops team, right there, your like database administrators that, you know, you just don’t have to think about running servers and databases anymore. You just outsource it all to these indexers. Then the curators are the ones that are organizing all of the data on the graph. So they may be the sub graft developers themselves that are building these sub graphs, or they can just be, you know, anyone who goes through and evaluates the quality of sub graphs, you know, because anybody can build these subgraphs, that’s a permissionless network. You know, you want people whose job it is to evaluate them and figure out which ones are, you know, pulling in accurate data, doing the calculations correctly are generally useful. And so that’s the role that the curators play in the network.
Yaniv Tal 00:20:23 And then you’ve got delegators who are the ones they help secure the network by staking tokens on indexers. So with a lot of these decentralized networks that use staking as a way of enforcing security in the network. And so, you know, it’s an open permissionless network. Anyone can participate, but then how do you know that they don’t misbehave? So with staking, somebody is locking up tokens basically, as you know, it’s like a bond where if the service provider misbehaves, then they can be slashed, which means that they lose those tokens are taken away. And so that creates the incentive for them to behave according to the rules of the protocol. And so delegators stake, their tokens on indexers, and that helps provide this additional, you know, they call it civil resistance, but, uh, it’s kind of, you think of it as a security in the network.
Yaniv Tal 00:21:16 And then you’ve got consumers, uh, which are the ones that are actually issuing the queries and paying for the queries, uh, using these micro-payments. So, you know, this was an idea that, you know, existed early on in the web and it never got implemented, but this idea that you could stream these micro payments for these API calls. And now, you know, for the first time we can actually do that. And so that’s the model in the graph where you pay per query. Now long-term our vision for web three is that users are going to pay for the metered usage of the services that they consume. So, you know, you’ll have a wallet on your phone, on, on your, your desktop. And, you know, you’re just kind of streaming for these, for the metered usage of these different applications. And then in that world, the developers don’t actually have to pay for the infrastructure.
Yaniv Tal 00:22:09 And that’s actually a really important change that enables this kind of, you know, pulling away the reliance on the centralized service providers, because that’s kind of the deal that we’re in with these large centralized internet companies is because they’re running the infrastructure and because they’re the ones paying for it, we basically have to play by their rules. And if we want to, you know, kind of get our freedom back, then you kind of have to shift the model of who’s paying for it. And so this way, it’s not a single company that is like running the application, but rather right, it’s these decentralized networks. And then it’s the consumers that’s paying. And, and, you know, at the end of the day, the cost for the software, you know, is not that high, you know, the, the amount of database or compute cycles in any, you know, individual uses is barely marginal.
Yaniv Tal 00:23:03 And so it’s actually better to be able to just kind of pay directly for the stuff then, um, you know, to really kind of get trapped and monetize through, you know, uh, ways that you, you can’t control. So it’s, that’s kind of the long-term vision for web three, but in the short term, because, you know, there’s kind of a, an education component here and some of the tooling still kind of needs to be improved. It’s basically the DAP developers, right? The decentralized application developers that are going to be paying for these queries in the network. And so there for the time being, those are the consumers. And so that’s the different roles in the network.
Priyanka Raghavan 00:23:40 Interesting. Quite a lot of different concepts there. So you’re seeing a as if when I go to cloud service provider, I have this as a service model. And right now it’s my understanding, correct? That you would be having that kind of a model or
Yaniv Tal 00:23:54 Well, in a sense where, you know, you’re, you’re only paying for what you use, right? So I guess since there it’s most similar to, you know, one of these serverless sorta like function as a service style, um, you know, cloud offerings where you’re paying per query. But the difference is that, you know, with, with a cloud provider, first of all, it’s a single company, you know, say Amazon, that’s running those servers. Whereas in this decentralized network, it’s a, you know, there’s a large number of service providers that are competing. And, you know, in the cloud model that that cloud provider is the one like setting the prices. And, you know, with these decentralized networks, it’s an open marketplace. And so all of these different service providers are competing to provide the best service at the lowest price. And so how you design these markets is really like a core part of the protocol design, and you do it in such a way that it creates the right incentives for, for people to really, you know, compete and, and be able to provide better services.
Priyanka Raghavan 00:24:57 Okay. The next thing I want to ask you is a little bit on also the, when you return a query from the draft. I don’t know if this is a dumb question to ask, but what’s the guarantee that the response is correct? Is that guaranteed by the roles that you just explained or,
Yaniv Tal 00:25:11 Yeah, so the way the V1, you know, graph protocol, V1 enforces security is every query that you issue. Uh, the indexer returns the response along with an attestation. So it’s assigned at the station that then the client can use to issue a dispute if they think that the data is incorrect. And so there’s this whole kind of like dispute resolution protocol where there’s an arbitrator, they can come in and, and adjudicate the dispute. And if the dispute is found to be correct, then the index or loses their deposit, their stake. And so this is where, you know, the amount of stake that an indexer has put down in the network basically tells you how much security there is there, because, you know, they can lose that much money. And so, for example, right now in the decentralized network, there are about 170 indexers. Many of them have, have staked, you know, millions of dollars each in the network, uh, which means if they send you back an incorrect query response, you know, they’re on the hook for millions of dollars in that event. And so that’s what creates kind of the checks and balances for the indexers to behave correctly.
Priyanka Raghavan 00:26:24 Oh, so that’s a lot that we’ve covered right now with the graph at a high level. So let’s move on to a little bit about, you know, as a developer, if I wanted to come onto the graph network and I want to write some code, is that a playground to familiarize oneself?
Yaniv Tal 00:26:39 Yeah. If you go to the graph.com, you know, we’ve got a really great docs there that can help you get up and running really quickly. And then there’s an explore, which is where you can browse and discover all the different subgraphs that different developers have built. And you can see the graph QL playground there, where you can just kind of run example queries in the browser and, you know, really explore the raw data itself. That’s being indexed on the graph. Um, so it’s really easy to get started both as a adapt developer, you know, do you want to build basically user interfaces, you know, different applications that just consume all of this data from the graph, or you can also get started as a sub graft developer and actually build these APIs and the sub graph developers are, you know, to a really kind of interesting role because you’re basically, you know, getting in depth, you know, understanding the details of all these different protocols and then abstracting the complexity away, or that’s what these subgraphs do.
Yaniv Tal 00:27:41 So, you know, there are a lot of, for example, protocols being built on Ethereum, where you’ve actually going through the smart contracts, understanding what they’re doing is, is fairly involved. And as a sub graft developer, you know, you can ingest all of that data and put it in a really convenient format that then gives the DAP developers a much easier interface for interacting with these systems. So it’s kind of cool to have this sort of specialization, you know, between these sub graph developers with details of the underlying protocols, uh, the adapt developers, then, you know, really don’t have to be super technical. You know, you can be more of like, you know, a designer or a, you know, just a product, you know, engineer and easily, you know, access like the sum total of this, you know, giant global API that is just made available for you.
Priyanka Raghavan 00:28:30 Uh, what did basketball this, how do you run these draft notes? Like I do see some things on the literature, uh, in your blog is for example, on having two kinds of ways in which you could have a node, you could either be, have your own infrastructure running. There’s not all you could have a hosted service. Can you explain that a little bit to our listeners?
Yaniv Tal 00:28:52 Yeah. So, you know, the graph is a decentralized protocol. Everything is open source. So the main kind of code base is called graph node. That’s those software that does all of this, like ETL work, indexes, the data, you know, serves the graph, QL API APIs, uh, it’s written in rust. And if you want to run a graph node yourself, uh, it’s, it’s pretty easy to do. So then in early 2019, the initial team, you know, launched a hosted service where, you know, we were running a bunch of these graph nodes. So developers could easily get started building on the graph. You know, that the hosted service has been running now for about two years and it’s been growing tremendously in usage. And then the decentralized network launched in December. And as we kind of announced, we’re going to be migrating subgraphs over from the hosted service to the decentralized network.
Yaniv Tal 00:29:47 So going forward, you know, the main kind of pattern for most developers, we expect that they would use some kind of something that looks and feels like the hosted service may be in development, or we’re going to be, uh, announcing some new products, you know, in that area that still makes it like a good development environment. And then once a sub graph is been tested, you’ve gone through your own internal QA process, then we’ll be able to just publish it to the decentralized network. And that’s where it runs long-term. And, you know, the beauty of publishing to the decentralized network is that, you know, nobody needs to trust that like some particular team is going to continue to operate those servers correctly. Uh it’s you basically, you know, are guaranteed at that point that that API will be available as specified for as long as anybody wants to use it.
Yaniv Tal 00:30:43 Um, and that’s a really cool kind of guarantee that, you know, has never really existed before in software. You know, I, I can’t tell you the number of either, you know, services that I’ve used or applications that have either, you know, uh, gotten shut down or the team got acquired, or, you know, for whatever reasons they changed product directions. And, you know, it’s, you know, this awful part of, depending on software that other people run. And so, you know, by actually building software on top of these decentralized networks, you know, we’re building these like stable building blocks where, you know, it’s pretty incredible to just think like this thing. If, if someone wants it a hundred years from now, it’ll be here a hundred years from now and continue to run exactly as specified.
Priyanka Raghavan 00:31:27 So what about updates that you do? How does I have trouble wrapping my head around that? So the updates to like a new, like when you have, when you publish something, you say it’s, it’s there forever. So I have like, you know, coming from this web two world, I have like a little trouble understanding that, like, what about like, if you want to make some changes to something? Yeah,
Yaniv Tal 00:31:47 Absolutely. And of course, you know, we’re software developers, things change. And so, you know, the mental model here is similar to that of like immutable data structures. So, you know, if you’re familiar with functional programming principles, you know, with immutable data structures, you accrete changes over time, but the underlying, you know, data itself isn’t modified. So you kind of have pointers to these data structures that grow and evolve over time. And so it’s kind of similar with, you know, how we kind of construct things in web three, where for example, you’ve got the blockchain, right? The history of data on a blockchain never changes, but new blocks get added, you know, every few seconds. Um, and so this is kind of like immutable growing data structure, similarly, um, there’s a, you could think of it as a protocol, but it’s called IPFS or the interplanetary file system that gives you content address storage, which is a really brilliant idea instead of referring to a server URL, you know, google.com/you know, my file, which at any point in time could change and you’d have no idea if and why.
Yaniv Tal 00:32:59 And when, you know, a response at that URL is going to change with IPFS, all content is content addressed. And so, um, you build up a hash of the file itself. And so you have this, you know, this, this hash and that uniquely identifies the file. And if you want to get it from a particular server, you can, or you can, you know, you know, get the file in a, in a peer to peer decentralized network. And you can calculate once you’ve gotten the file, you know, because you can actually run the hash on the content. You can verify the file, you got back as the one that you requested. So it’s a really powerful primitive. So you kind of like build up with these types of primitives of like immutable data, you know, content address storage. And then if you want to put these kinds of like mutable handles on those things, then you can write, you can say, my website is at this URL and it points to this IPFS hash. And that gives me like a stable URL that I can use. But, you know, I have like the full history of the change of that website over time where I can see like the change list of the IPFS hashes. And so if I want, I can reference a specific version by its content hash, or it’s my choice, whether I want to assume a little bit more like risk, that the thing kind of changes, but I prefer to point to the mutable kind of URI. So that’s the general principle.
Priyanka Raghavan 00:34:28 This is very interesting. So the thing that I want to ask next is on what about the case where, um, do you have like a bug in a smart contract liquidity and that leads to some incorrect payments or maybe funds are stolen? I don’t know when you have that kind of a scenario, what will happen with the graph? How does that handle?
Yaniv Tal 00:34:49 Well, I guess there’s maybe two different components to that one bugs and smart contracts, you know, they can certainly happen. And I think, I mean, that is one area where, especially as this technology is, you know, fairly new, you know, bugs do happen. And so, you know, this technology is still, you know, a little bit risky and people, you know, just have to be aware of the risks. They’re kind of, you know, different layers of solutions to these things. You’ve got everything from like insurance protocols where if you’ve got insurance and then there’s a bug, then you can get a payout to cover, you know, your losses or, you know, there’s like dispute resolution kind of protocols. So somebody could lodge a dispute. It goes to some kind of like a court system where people can adjudicate on like, oh, you know, this person should get, you know, this amount of funds back from a cool.
Yaniv Tal 00:35:39 So, you know, there’s all of these kinds of like primitives that you can build up around these more underlying kind of immutable building blocks. And so there’s a bunch of exploration there and yeah, as far as data kind of through the graph, I mean, we really kind of depend on, uh, the crypto economics of the system. So if you have, for example, a gateway that is your access point to the decentralized network, you know, that gateway can issue a query against multiple different indexers. It can, you know, compare the responses. It can submit a dispute for you on chain, all, you know, before you’ve been sending the response back. And so there are ways to, you know, the querying part itself can be made, you know, very secure, you know, cause as I mentioned, the indexers have a lot at stake, you know, kind of securing the network. So yeah, you know, you just, you know, with these decentralized networks, security is obviously a really core part of, you know, the protocols responsibility. Each of these protocols has to kind of design its own kind of, you know, security and, and have like a, you know, a security model. And, uh, and these things just kind of get built up from there.
Priyanka Raghavan 00:36:53 So everything is it’s on the responsibility of that particular graph node, or sub-note also describe how it wants to handle such situations is what I’m yielding.
Yaniv Tal 00:37:04 I wouldn’t say it like that. I mean, the security is enforced by the protocol. So there’s rules at the protocol layer for, you know, how these disputes happen and how to adjudicate the disputes. So the security is enforced by the protocol.
Priyanka Raghavan 00:37:20 Okay. Okay. Gotcha. Okay. I’d like to now talk a little bit about the adoption of the graph. So I was, you know, feeding some impressive numbers. I think it, in December, 2020 you had something like 10 billion queries. So could you shed some light on what are the numbers you’re seeing and what’s the adoption rate?
Yaniv Tal 00:37:38 Yeah. I mean the hosted services has been growing just at a pretty crazy rate. I mean, I think we’re seeing a lot of growth across the entire ecosystem, you know, in both defy and web three. And the graph is this horizontal layer that’s used across the entire ecosystem kind of regardless of application. And so, you know, we saw traffic on the hosted service grow a hundred acts, I believe. Yeah. Over last year. And so, you know, we’ve, the graph is used by pretty good majority of the projects building in the Ethereum ecosystem. That’s where, you know, we’ve been really focused, you know, so far, and we’ve recently announced plans to, uh, expand to other blockchains. So this year, you know, a big focus is on, you know, indexing all of the data across all these different blockchains and storage networks. And then, you know, from there, you know, really expanding out because, you know, at this point in time, you know, crypto is it’s well on its way to going mainstream.
Yaniv Tal 00:38:44 And so I think there are a lot of developers out there that have been working at the same kinds of jobs, doing the same thing, you know, for the last like five, 10 years at a certain point, you get bored, you know, you need some purpose in your life. And a lot of those folks are now discovering crypto. And so I think that’s where a lot of the fun is going to come from, you know, as we see more and more protocols and dApps that are tackling, you know, large markets markets that are really affect a large number of people. And we start to see this technology becoming really transformational,
Priyanka Raghavan 00:39:19 You’ve sort of answered to me, what’s the future of the graph and how you see things progressing. So I, anything more you’d like to add on the future.
Yaniv Tal 00:39:28 I think it’s, uh, you know, first of all, you know, a lot of like the deep kind of like research and engineering problems have been solved in the space over the last few years. And now, you know, we’re really seeing, you know, this stuff, you know, really getting to a certain level of scale that’s, you know, really quite exciting. Um, so like one area that I think is just fascinating is essentialized governance. And so you have these protocols, some of which have, you know, a billion dollars plus under management or that’s controlled by the protocols, you know, protocols like Eunice, swab and compound and, you know, even the graph. And so once you have this type of capital controlled by a protocol, then, you know, uh, interesting next question is how do we distribute these resources? And the protocols have to make all kinds of decisions, you know, smart contract upgrades.
Yaniv Tal 00:40:23 You know, if they, if, if we need to change the rules of the protocol and you know how to distribute resources from these treasuries. And I think that’s an area where we’re seeing a lot of innovation because, you know, it’s a real, you know, thing facing these protocols. And, you know, you can see this kind of thing really growing out to more and more use cases. You know, if we have protocols and you know, all these different sectors of the economy, you know, what is a protocol, it’s basically an internet native institution, right? It’s a thing that’s bigger than a corporation, right? It’s, it’s the next evolution of human organization after corporations where, you know, corporations are owned and controlled by a set of shareholders that may or may not be the same as the, you know, participants. And if they’re closed, they tend to be, you know, built around like, you know, proprietary kind of solutions.
Yaniv Tal 00:41:16 And it was very much like a, you know, inside the corporation and outside the corporation and they’re trusted, it’s a trust boundary. Uh, whereas with protocols, there are new ways of organizing people where, you know, there is no such boundary. Anybody can participate in these protocols, they’re open. And so they can scale to much larger numbers of people, you know? And so seeing how these protocols themselves evolve to be able to do more and more complex things, be able to like distribute resources in an effective way to make high quality decisions. I think, uh, you know, that’s, that’s one of the most fascinating things happening right now. You know, people want to dive in to see what these existing protocols are already doing. It’s already very interesting. And, uh, it’s definitely an area I would keep an eye on.
Priyanka Raghavan 00:42:06 I think this probably the last, but one question that I want to ask you, I started off with asking you a very generic question and I’m going to end with asking you in a very generic question. So any thoughts on this quantum computing and how it affects the strength of the two graphic algorithms used in blockchain infrastructure?
Yaniv Tal 00:42:25 Sure. Yeah. We still have some time, I think before quantum computers kind of crack the existing, you know, hashing functions and it certainly, this has been an area of research for, you know, a lot of smart cryptographers. And I think at this point there’s a pretty well understood, you know, set of quantum resistant, you know, hashing functions and cryptographic primitives. And so they’re not being widely deployed yet, but I think they’re the types of things where it’s a good thing that, you know, these protocols are upgradable. And so, you know, as those primitives get more performance and, you know, we kind of get closer, you know, I think it’s just going to be one of these things that these protocols can coordinate on to kind of upgrade to these quantum resistant crypto primitives.
Priyanka Raghavan 00:43:11 Okay. That’s great. So I just like to end by asking where can listeners reach you if they wanted to, would it be Twitter? Could you spell it out for us, for our listeners?
Yaniv Tal 00:43:21 Yeah, absolutely. So the graph is add graph protocol on Twitter. The initial team that built the graph is at edge and node on Twitter. I’m at uni graph on Twitter. You can check us [email protected] and we’ve got a very active discord community that you can join. If you’ve got any questions, people are super helpful there. We also now have a governance [email protected], where we initially propose any things that are happening in the protocol. Usually they start out as a forum discussions their first,
Priyanka Raghavan 00:43:59 Okay. I’ll make sure I put a lot of that in our show notes for listeners to see. So thank you so much for being on the show. It’s been great for me. I think I’ve learned a lot in the 15 minutes I’ve spent with you so much appreciated.
Yaniv Tal 00:44:14 This was a lot of fun.
Priyanka Raghavan 00:44:16 This is Priyanka Raglan for software engineering radio. And thanks for listening.
SE Radio 00:44:22 Thanks for listening to se radio an educational program brought to you by either police software magazine or more about the podcast, including other episodes, visit our [email protected] to provide feedback. You can comment on each episode on the website or reach us on LinkedIn, Facebook, Twitter, or through our slack [email protected]. You can also email [email protected], this and all other episodes of se radio is licensed under creative commons license 2.5. Thanks for listening.
[End of Audio]
SE Radio theme: “Broken Reality” by Kevin MacLeod (incompetech.com — Licensed under Creative Commons: By Attribution 3.0)