Are We There Yet? How Long to Web3

LisCon 2021 · 20 Oct 2021 · 17:57

The Graph co-founder Yaniv Tal gives a talk titled "Are We There Yet? How Long to Web3" at LisCon 2021 in Lisbon. The talk asks how close web3 is to arriving and how long the journey may take. LisCon is described as a gathering of builders, thinkers and creators.

Speakers

Topics

From LisCon 2021, hosted by LisCon.

Transcript

all right hello i excited to be kicking off liscon here in lisbon uh let's give a a round of applause to the organizers for putting on this great event and the uh the ethereum ecosystem is on fire right now it's such an exciting time to be uh working on decentralization i'm going to be talking about web 3 today and what we need to do to finish building out this platform so i i tweeted this last month and so that's basically my talk so i can spend the rest of my time up here hitting

harmonies or something but yeah i do i do want to give credit where credit is due you know the idea of decentralized applications running on a world computer was part of the ethereum vision from the very beginning when it launched in 2015 and the work that juan binay's done on ipfs and the whole protocol labs team has been really foundational to the space so i really consider these guys to be kind of the original fathers of web3 we started working on the graph in 2017 and at graph day in january 2019 i gave this keynote where i said that you know web 3 was going to be better than web 2

in almost every way both for users and developers and that we just had a lot of work ahead of us to build out this platform and realize this vision shortly after we got into uh web 3 winter right and it was brutal you know uh every crypto vc was telling me that it was crazy to work on web3 that blockchains were only good for censorship resistant money maybe some defy um and you could fit everybody that was still working on web three prop in like a single room together but we kept working on it and uh december 2019 i published this

blog post uh the path to web3 kind of as an act of defiance and you know to try to plant a flag to say that this thing is real and uh and i ended the post saying your web 3 has its own unique capabilities developers will have better building blocks with open apis and programmable money users will have more control and freedom of choice and once we put these pieces together into a compelling package the developers can easily build on a new race will start we we are getting close to the starting line just like ethereum allowed a wave of innovation that ignited the imagination engineers working on decentralization are going to build one level up from there

the web 3 platform made of many protocols and components will reignite creative spirits and summer will return and it has been a glorious summer we are in the midst of a renaissance people working on art nfts dows reimagining systems of coordination and rethinking how people relate to the world around them and this has been sparked by web3 but what is web3 i know it's the vibes right you uh you know get some gifts you

know definitely some jpegs uh you know sprinkle some crypto magic and that's web3 right well the vibes are definitely important but let's try to find like a more specific definition the web 3 is a new platform for decentralized applications and that's really what separates web3 from the web right the web has a client server architecture which means you know whoever runs the server has complete control and we want to decentralize power control decision making and resources and that's only possible if we build

truly decentralized applications on top of a fully decentralized protocol stack and that means no servers right if you are running servers with custom code running on those servers that is not web3 right you have all of the same power imbalances that you have with the web it's just a traditional web application and it can be really tempting to just you know throw some logic on a server and say it's just like a small feature but the problem is once you do that the incentive is there to keep adding more and more functionality on the server and and that's a point of centralization and so

it really is binary and uh you know the reason that people you know projects are running these servers today it's not because they're bad or they're evil it's it's just because the web3 stack isn't finished being built yet so that's why it's so important for us to finish building the web3 stack so that people can build incredible applications that are every bit as good as the apps that people are used to using no you know compromise to user experience but they run on a fully decentralized stack and that will allow us to break free from authorities right civilizations are structured around sources of authority and for over a thousand years the authority was you know the church

working together with the king and uh and together you know they would define how resources were distributed how decisions were made even what was considered truth um then with the invention of the printing press um the the power balance changed because suddenly anybody could you know publish the written word and spread their ideas um you know releasing the monopoly that the state and the church had um in the 20th century power got re-concentrated uh because of the consolidation of media companies specifically television uh radio and uh um and uh newspapers and those media corporations um working in tandem with the state often um you know were

the authorities and today it's the internet companies right facebook google that really um you know are the authorities again sometimes working with the state and uh we need to break free from authorities right so that everybody can be free to live their lives the way that they want so that we can be free to to coordinate you know self-organize in the ways that we choose and essential to the idea of authority is the idea to determine what is true and you know we're seeing this front and center um you know with the internet you know and things like fake news this idea now reestablishing

who are the sources of authority and how do we determine truth is one of the the largest uh civilizational issues that that we need to tackle so today if you're browsing an internet application like twitter you have to completely trust the service provider to tell you what is true right if i'm looking at this tweet i know that it's coming from elon because somebody at twitter the corporation verified his identity and gave me this blue check mark um the twit you know in their database they're storing you know the content uh the timestamp uh the number of likes and uh and only clients that are approved by the twitter corporation can access that information but it doesn't have to be that way right

um elon could sign his messages and then you could verify that you know the message came from him using public key cryptography the metadata could be stored on a storage network the hash could be anchored on chain so that everybody can verify that the tweet was published as of a certain block and that data could be indexed and queried uh using um an indexing protocol like the graph and and suddenly you know this information would be verifiable and verifiability is really key to this whole thing and what verifiability means is that the clients can verify for themselves using a

cryptographic proof that the information that they're looking at is correct but you want to be able to look at a screen like this and know that you know every piece of information that you're seeing is true um even if you don't trust the service provider and you assume that they're malicious that is giving you that information there's a proof that allows you to verify for yourself right and if you can't verify then you have to trust and if you have to trust then you're not in control so at a high level we can think of web three as starting with a set of infrastructure protocols um which are open permissionless decentralized networks that you can think of as the hardware that everything runs on and

there are many of these then on top you have smart contract protocols that define things like rules and permissions and value flows those can run on blockchains for example and then you have the and the dapps are the users interface to all of these protocols and for the the user to have control the dapps need to run on the end user's device completely under their control and then they interact with all of these protocols using open apis like the graph so you can roughly think about

you know these uh infrastructure protocols as uh having on chain and off chain components um this diagram isn't exact but um the on-chain stuff is the stuff that's working really well today right we've got layer ones like ethereum and others um layer twos are working now for scalability um and so this stuff is is working well um and then the part that we still need to work on is these off chain bits right this is the stuff that today um a lot of projects are you know falling back to you know running custom servers for some of this off chain stuff um and that can be everything from like you know user tables to additional

metadata social features like likes and follows but luckily there are protocols for off-chain data that are getting to a really good place now protocols like textile and ceramic that allow you to implement those same types of features in a decentralized way so a big part of the work that we have to do now to finish building out the web3 stack is bridging together the on chain and the off-chain data worlds making that really easy for developers and for users so that we can build all of the different types of applications that we want on a fully decentralized stack and you know platforms are generalizable so it really doesn't matter whether you're building

in d5 nfts dowse social or any other application you know you can build all of those things on the web3 stack and what we want to target for user experience is you know any application whether it's notes or calendar like dow tools you should be able to start in a local you know offline kind of mode where you know all of the data stays on your device and um and from there if you want to collaborate with some other people in a team or in a like trusted setting you should be able to do that in a completely peer-to-peer way

right with google docs styles syncing of your state but without having to rely on any centralized services to you know collect your data or act as a central point of failure and then if you want to publish your data you should be able to to publish that to the global graph of all of the world's public knowledge and information where it can be verifiable and accessible to everybody again on open permissionless networks now since the beginning the story for uh verifiability for blockchains has been light clients right so the most

secure way to verify information on a blockchain is actually to run a full node and that means that you're downloading all of the blocks and you're validating every single block from genesis but that takes a considerable amount of resources and so the story for end user devices has been like clients that's kind of the next step up where you don't need to download all of the blocks but instead you just download the headers and you can verify that the headers are correct and then you can verify that for example a specific state variable in a smart contract has a certain value as of a certain block you know you have to work in in tandem with a full node but you can verify that for yourself on the client

now the problem with like clients is one they still actually consume a lot of resources so it is difficult to work you know to have them run smoothly on like mobile phones but the bigger problem is that web3 applications need more information than just you know the state variables in the smart contract um you know people use sub graphs to process data from lots of different data sources build up custom arbitrary views on that data and that is what you actually need to serve to the applications and so like clients aren't enough you actually need to be able to generate proofs that allow you to verify arbitrary views on blockchain data and so we're working on that

at the graph the version of the graph network that is live in production today uses crypto economics as its security model so indexers stake to provide their service to the network and when they serve query responses those come with signed attestations that can be used to launch disputes to slash the indexers if the responses that they give are incorrect but most people don't know this but we've had a cryptography team working on cutting edge zero knowledge proofs for the last two years and we're going to start publishing the research that that team has been doing first with applications to some shorter term problems and then to this larger problem

of verifiable queries um and what we want to be able to do is uh to be able to have these indexers ingesting data from these other chains they're processing that data at indexing time and then when a query comes in uh you want to be able to generate a snark that proves that you did the computation of executing that query correctly and that that's something that's very efficient for a client to verify with no trust assumptions and on the graph network today we also have a set of gateways that are geographically distributed across the globe that facilitate interacting with

the decentralized network and we want to move all of that logic to the client again so that the the client and the user has complete control and so um we're starting work on a graph client which encapsulates all of this logic so that includes the indexer selection um so choosing which indexers to use based on criteria like price performance security and anything else that you want also moving the state channel wallet to the end user's device so that they're handling their own micro payments per api call to the indexers the query engine for actually executing those queries potentially against multiple indexers and the verifications uh so

that just transparently they're verifying proofs the start proofs on the client so all of this can be just really easy for developers and just hidden behind so it really just looks like you know you're using a global graphql api to all of web3 but all of this is happening transparently under the hood on the end user's device and what that will enable us to do is get to the full vision of web 3 where we have tens of thousands of protocols for every area of the economy that are decentralized that are open and permissionless on top of those protocols users can

build and use custom interfaces that allow them to transparently you know use whatever these services they want however they want so that they're really in control of of their experience and how they design their lives and their work and the users i can build and manage their own identity data and reputation on you know their their crypto accounts that's all under their control and so you know on top of this foundation new civilizations are going to get built and it's all going to happen soon thank you

[Applause]