New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Web3 Now: Skynet and Decentralized Applications for a Web2 World - Daniel Helm

Ethereum DenverSat, Oct 9, 2021, 12:00 AM

This talk is from ETHDenver & ColoradoJam , the world’s largest Web3 BUIDLathon and Community Gathering. ETHDenver’s content is crypto and blockchain focused. Learn more: ethdenver.com Subscribe to our channel to learn more + connect on Twitter: https://twitter.com/EthereumDenver. Speaker: Daniel Helm, SkyNet This talk was recorded Friday, February 5th, 2021 ETHDenver 2021’s content themes included DeFi & Money Legos, NFTs & the Creator Economy, ColoradoJam & the Next Frontier of Statehood, Protocols & Interoperability, Open Source & Public Goods, The Ownership Economy & Digital Orgs, Usability Design & Adoption and Legal, Privacy & Identity. Industry experts also weighed in on topics like decentralization, privacy, identity, non-fungible tokens, scaling, governance, diversity, and arts and culture in blockchain technology. The 2021 event was February 5-12 and hosted virtually in 2021 with 5000+ blockchain enthusiasts, developers and community members from 80 countries and 50 U.S. states. 🔴 SUBSCRIBE ETHDenver’s YouTube https://www.youtube.com/channel/UCgz9NU06t_FkT0Py1Vadczw 💡 LEARN ETHDenver’s Official Website https://www.ethdenver.com/ 👋 CONNECT ETHDenver Twitter https://twitter.com/EthereumDenver 📖 READ ETHDenver News on Medium https://medium.com/ethdenver 🛍️ SHOP ETHDenver Official Merchandise bufficorn.com 💬 CHAT Telegram https://t.me/Ethdenver Discord https://discord.gg/AxFmNdCVnU 📱 FOLLOW LinkedIn https://www.linkedin.com/company/ethdenver Instagram https://www.instagram.com/ethdenver/ Facebook https://www.facebook.com/ETHDenver/

Transcript

so we're going to move into our next talk daniel from skynet is going to join me on the main stage hello how are you good good yeah i'm just looking over at my side screen here it's kind of weird when i look over but yeah there's infinite mini versions of me on my own screen right now all right i've got me out one here one up here i've got like a whole studio thing happening here so like yeah it's great good to see you you as well thanks for having me today yeah no problem at all so uh are you ready to go i'm ready if you are all right stage is yours okay thanks so hi um yeah this is web3 now skynet and decentralized applications for a web 2 world thanks to east denver for inviting me to speak today it's my first one and i'm excited to be here i am daniel helm i'm the developer evangelist for skynet labs and to keep things fast i'm just going to dive into it so it's not just you the internet has gotten significantly worse in virtually every respect i think there's a growing awareness amongst internet users that there's kind of something off about the internet these days at a conference like this we might have developed all sorts of explanations as to why that is but just about anyone you find on the street will have something to complain about right we have the overwhelming presence of click bait and targeted ad algorithms and google dropping our favorite project as they prioritize profits over user experience or if you get tied into a certain platform it's really hard to escape the pull of it right who's going to come with you and if they do how long will that new platform even exist um and there's like things that are trying to be good right we have attempts at holding on to crumbs of our privacy with cookie consent banners but they just end up resulting in terrible ux that we're forced to engage with and you know the term of service is invaded just like even casual web browsing so many of us here envision a better internet and i think kind of collectively we've kind of started calling this paradigm shift web 3 right at the heart of it is a promise for a trustless decentralization of the web so i kind of want to talk about what are the promises of decentralization um i'm sure this is well trodden territory for this crowd um but starting off with promises understood as what is promising right we can empower users we can give them control over their data and how it's used and we can start having a non-reliance on centralized providers and centralized powers right whether that's centralization for infrastructure or for trust or for coordination on these networks in effect i feel like we're trying to hope for a return to a democratic vision of the web but promises have this other side right we also have promises in the sense of promises that we're aspiring to keep that we need to keep but promises that are still largely unresolved so these are things we're working on you know we've seen tooling that's getting pretty incredible if you can understand it and we're but kind of still left this place where web 2 accessibility is out of reach right we have you know high heat gas prices we have daps that are trying to figure out how they are going to not have to require more than one coin or token to interact with them and we also just have a space that has to rely on some shortcuts that lean into centralization a bit just to make all this kind of brilliant technology work together and so you know at the end of the day if infuria or iws block your app you're just kind of out of luck so what i want to kind of advocate for in this talk is the idea that the key to getting a better web 3 in the hands of typical users today is decentralized storage and surprise surprise i'm going to be holding up skynet as the kind of platform of choice for doing so so as i've kind of already touched on the standard web comes with some problems we have lots of things being centrally managed so you're subject to the whims of the central authority and you can lack ownership and are kind of susceptible to being censored and de-platformed because of that and you know applications that we're using are no exception we can be censored or de-platformed as users or as entire applications um the data and applications that are on this traditional web are often siloed with walls created up around them and so we have to live in fear of vendor lock-in and uh see things like anti-competitive pricing and a lack of interoperability between these systems and applications and you know we don't want any of that so we have to find our way out we also have a kind of blind trust involved in the traditional web so as users we have to rely on applications to keep their data secure and the security and availability of our applications is only going to be as strong as those application service providers and lastly we have this thing i'm here calling kind of application-sourced funding but it's this idea of a server-sided funding model which means that small projects can sometimes live in fear of going viral right a night of really heavy video streaming by a bunch of users might result in you waking up to a huge aws bill but because developers then have to figure out how to offset these kind of costs users have to worry about what weird practices might be happening in the background to kind of profit off of them and their attention and as i've suggested there is a better way right we have the idea of the decentralized web and so our vision for a decentralized web uh uses distributed storage and applications to solve centralized control this can give us more freedom to not worry about an authority choosing to pull the plug on us and this also gives users uh true ownership over the data right so we can have a mobility to our data or we can take it from one app to another one in a really seamless and interoperable way and lastly this lets us as users have a real voluntary engagement and kind of flexible markets and alternative economies that don't have to kind of rely on older paradigms to build out this web 3 vision though we're going to need a lot of things for our web 3 developers and so this is going to be kind of like my last little bit here about this before kind of pulling back into skynet so we need to know that the infrastructure is trustless right which you know oftentimes in a conference like this we're going to be thinking about utilizing the capabilities that blockchains have made possible in smart contracts for those kind of developers you're going to be needing off chain storage right you'll have on-chain storage uh and it just keeps getting more and more expensive and uh you have to have some somewhere else to put that other kind of application data because no one plans on you know storing 4k videos on chain or anything next we want some low barrier to entry access for both users and developers we want something that's easy to deploy on and fast to access for our users hosting is going to be kind of a big issue here right is adap really adapt if it's hosted on aws next i have a kind of point here for reliable data interoperability and so data can't be locking you into your app the beauty of on-chain data is that it's kind of inherently interoperable um but off-chain storage should work the same way we should be able to have a separation of concerns with our compute and our storage layers that really let us kind of prioritize user control over the data and and really stay in in the hands of the user to control where it goes and what's being done with it and lastly our infrastructure needs to just be rooted in privacy and security uh privacy security and trustlessness just need to permeate through the entirety of the infrastructure every single aspect of the web where that's kind of like our aspiration right at some point our isps it'll be great so i want to return to these needs but first i want to introduce skynet and give you kind of a sense of what it is if you're not familiar because it is outside of the ecosystem and it probably is new to at least a handful of you and the best way to understand skynet is actually to know about a project called saya my dog loves both skynet and saya if you can hear him barking the background so what is science is a blockchain network that was launched in 2015 it is a decentralized storage platform for renters and hosts i think one of the easiest kind of analogies for it is to think about airbnb for data storage you have kind of people who need storage space renters who can pay for storage on the hard drives of people that have extra storage space we call hosts and payment on this network is going to be done in a special cryptocurrency called cya coins uh as you know to handle all the uh you know uh the incentive model going on there in the token economy i'd say is kind of another ballgame so i don't want to jump too far into it but saya takes care of encrypting the files and breaking them into all the erasure coded pieces that gets stored all over the world to you know really prioritize quick secure and really affordable data storage and so while sci has solved a lot of this stuff for isolated data storage um it's really not built for sharing data and so that's a problem when we're talking now about web3 right what if you wanted to share a file with a friend or host a website um or what if you didn't want to buy a cryptocurrency or you know figure out how to install a full node on your machine well these are limitations of the network and there's some of the kind of motivating factors for why we needed to build skynet as a kind of layer two on top of saya so skynet was designed to really bring all these benefits of saya to the web and to all users of the web and so what it does is it lets users store and access data on the scion network without having to worry about cya coins or the blockchain skynet users can access scia using a portal which essentially acts on behalf of the user to interact with the scion network and web browsers and applications interact with portals just like they would traditional servers and websites what this does is it kind of abstracts away all the complexities and barriers to entry of dealing with saya directly and so if you kind of take a quick look at the diagram this is not a technical diagram like we've seen some uh brilliant ones in earlier talks but just kind of generally here we see storage being provided by maybe a basic pc someone with a home lab maybe a actual data center kind of creating the entirety of the cyan network and then skynet is able to access that data and users are able to connect to skynet through either public web portals where lots of people will maybe use the same kind of domain name to access skynet or private skynet portals that a user might have installed on their home machine for their own access okay so that's the general gist of skynet let's get back to looking at developer needs for web3 and see how skynet can address some of these things so knowledge that infrastructure is trustless skynet is built on the cyan network and so when skynet is accessing content on the network through these portals that the data there is actually being accessed through content addressable skylinks and so if you're not familiar with content content addressable data um and you know if you've seen an ipfs hash this is kind of the same territory and we can use the same skylink on any portal and and guarantee that we're getting the the same file and these uh you know is it's immutable data as well because if the data changes then the skylink would change so portals can also use these skylinks to verify the data that they're getting from hosts and there's a whole process of merkle proofs and other things but the results of these can be passed along to user for another kind of final verification to really kind of complete the line of trustlessness throughout the entirety of the system and so this is what a skylink looks like it again is kind of a content addressable url structure we have a base64 string there that's 46 characters long and you can see it's kind of like agnostic as to which portal it is using okay so the next need we discussed earlier is this idea of decentralized off-chain storage and so with skylink when we upload a file to the network and we get that skylink back that data is now instantly available across the entirety of skynet either through your own portal or any of the many public web portals and so because we have this kind of like 46 character long string now we can store that on chain and use that as a pointer to data um off chain whether that's you know small files or you know several gig you know large video files or whatever else and so here's just like a handful of portals that are running and we can see scissky.net that is the one that skynet labs operates but the rest of these are run by community members and community projects okay so web3 developers also need this idea of a low barrier to entry access for users and developers so this is probably one of my favorite things about skynet is that we don't have to be restricted to just uploading files it's just as easy to upload entire directories to skynet as well and if you ever go to a skylink that has a folder at that address and that folder has an index.html file it will load the website just like you would expect from any sort of uh server right and so what this enables for developers is that you can bring along all of your favorite client-side frameworks and it's just as easy to see to deploy on skynet as uploading you know your build directory uh to the portal and then you're live um so if you're kind of like following along on the things we're ticking off here we've got immutable data that has like is consistently addressable and now we have static web hosting but if we really want to go like full jam stack we're going to need something that is both consistently addressable but also mutable data and we're going to see the solution to that as we talk about reliable data interoperability so on skynet in addition to having sky files we have a kind of another paradigm that uses uses a thing we call the registry which is is mutable but what we've built using that is a key value database that we call skydb and so this allows users to write json data to a file using their private key and a data key and this data this json object is then readable by applications and other users using that you know original owner's public key and so this lets client site apps be super powerful uh that lets the you know app storage really remain user-centric and encourages our developers to really focus on doing client-side computation um and so you know by really focusing on uh doing this through json it also really helps us make this data easily interoperable between applications being developed on skynet and so the architecture focuses uh on json in this way that makes ingesting data from other apps just super clean and super simple and we've already seen community developers start initiatives for uh coming with coming up to like a consensus on really common interoperable data standards that they can use across their apps and we've also seen developers really pushing documentation for how other apps could ingest to their user generated data if they want to make their data interoperable between applications and so like a simple example of this would be if there was you know skynet vimeo and you upload your video all the metadata attached to that could be easily brought in to say a social media application where you want to point to that file excuse me so all of these things come together to really encourage an ecosystem that prioritizes privacy and security um but skynet brings a few other things to the table as well and i want to bring those into the discussion so another thing we've got is handshake integration if you're unfamiliar handshake is a decentralized name service that can really lend the idea of human readable urls to point at these at this content on skynet so if you're familiar with ens which i'm sure most of you are this is kind of like a version of this but on a different network and all portals run full handshake nodes and so we can still kind of keep that trustless link there and we're actually working on ens integration as well but work in progress so in addition to this we have per portal user accounts which are going to allow for users to be able to kind of sign up and have longer data storage faster browsing experiences and you know being able to control their data by migrating their pins between portals this is going to be kind of done on a freemium model and so users can the portal operator is going to make actually all the decisions about this because it's open source software but how cyasky.net is going to approach it is that everything on the network is totally available for free and then as you kind of like maybe pay a little bit more you can pay to both support the network and to have a few actual a few added convenience features what this is going to enable is this idea of recursive content monetization and so this is the idea that any developer or content creator can attach a small fee onto their work and payment is taken care of by the portals kind of totally out of sight out of mind of the user and so our goal here is to really be able to let paying users not just you know pay for a better web experience free from targeted advertisements and having unlimited storage but they're also going to be able to support an ecosystem that can really kind of get back to this idea of alternative funding models alternative economies and and really make a richer experience for the entirety of the ecosystem just as a note these start items are works in progress user accounts are nearly finished and recursive content monetization will be coming right after that so next year's eth denver i'll tell you how all these things are going if i've piqued your interest if you think you want to try deploying your uh you know apps front end on skynet get you can get started at scienceguy.net you go here there's a widget on the front page you can click to upload an entire directory or just drag and drop your file and you'll immediately get a skylink back that is you know accessible through all the portals if you're a developer it's super easy to get started as well you can you know add skynet.

js using node or yarn sorry npm or yarn and you can initialize a client create a file or feed it in through a form on your client call upload file and when it is finished it'll come back with an object with a field called skylink that has your skylink and then getting your browser to download the files as easy as calling client.download file skydb is not much more complicated you can initialize a client you need a public and private key which you can generate from a seed you'll need a data key to really kind of get that key value storage thing working there and you'll need a json object to save but once you have all this stuff put together you can call client.db.set.json with your private key data key and json object and then as soon as that gets written to the network which is quite quick i hope everyone tries it out you can then call client.

db get json with the public key and data key and immediately get back that json object and if you call data on that object you will already have kind of a already parsed json object to be able to use in your code okay so all told we really believe skynet can make web3 accessible today for users and developers without having some reliance on special browsers extensions wallets or smart contracts and really doing it in a way that also can seamlessly accommodate those things right we want to both make those things possible but not force developers to be using them to be building a decentralized internet today in the ecosystem we've already seen developers in our community create really incredible projects like decentralized alternatives to firefox send i don't know if anyone remembers this project that closed down somewhat recently uh but we have skynet send that someone in the community made for securely encrypting and uploading files to skynet and generating easy to share links we have decentralized cross app applications cross application identity tools like sky id which you can use to log into other skynet applications like skyfeed which is a decentralized fully decentralized social media platform that also supports you know rich media uploads including you know audio 4k video and things like that this one is actually built in dart and flutter so we have this available we don't the community member has made this available on android and soon ios and there's uh you know skynet apps for looking up skynet apps so there's nearly 200 projects available in our skynet app store and so if you want to check that out there's all sorts of interesting projects ranging from decentralized alternatives to dropbox to censorship resistant front end clients for things like uniswap and matrix for wrapping it up here i just want to kind of do a link drop if you're interested documentation for developers can be found at scisky.net docs we have a github with sdks in javascript go node.js python c sharp and dart and um javascript is kind of our primary one we're focusing on especially for skydb stuff right now if you're interested in creating your first web app there's a tutorial here and a video version of it here and we have a community the skynet community if you want to get involved they're really welcoming and folks are tend to be really generous with their knowledge so a lot of the conversations that we have happen on discord so please come say hello ask us how we can be useful for your off chain storage or for hosting your applications front end and that's about it so thanks for dropping in please join us on the the discord and here's my social information uh i think questions is not a thing because we're well behind time so daniel thank you a wonderful presentation you covered i tend to do that check it out you did a good job so thank you for your contribution we're we're glad to have you and um enjoy the rest of your day and engaging and doing the things that we're doing so thank you so much you got it

Automatic transcript — names and jargon may be misspelled.