 Hello, everybody, and welcome to peer-to-peer application hosting on Skynet. My name is Chris, and I'm the VP of Engineering of Skynet Labs, formerly known as Nebulus. Today, I would like to introduce you to Skynet. I'm going to talk about what it is, what problems it solves. I'll give you a high-level overview of how it works, how people are using it right now, and how you can get started right away. Skynet is a fully decentralized content publishing platform. It can be used to upload files, download them, and share them with anybody. It can also be used to host stateful web applications, which are called Skynet apps or SCAPs. SCAPs are essentially decentralized websites on Skynet. All of that can be done by using so-called Skynet portals. A portal can be thought of as a gateway to Skynet. They offer decentralized APIs, which means that everyone hosting portals will provide the same API through them. Portals are also very resource-friendly and can be run on a simple consumer device with about 8 gigabytes of RAM. You can also use one of the available public portals to get started right away without having to install anything. One thing we are very proud of is the fact that portals are stateless. What we mean by that is that every portal provides the same content through their API. So a file or SCAP uploaded to one portal is immediately available on all the other portals without the portals communicating with each other or being hosted by the same entity. In that sense, a portal is a bit like a browser. It doesn't matter what browser you're using, Chrome, Edge, or Firefox maybe, you always access the same internet. With portals it's the same. You always access the same Skynet. I mentioned already that Skynet is a decentralized content publishing platform. So what does that mean? What makes it decentralized? So obviously all code and protocols we write and run are open source to encourage contribution and verification but also to allow people to easily write their own tools and implementations. Skynet also doesn't depend on centralized infrastructure. So even if Skynet let's stop paying the bills and we took all our portals offline, nobody would lose any data. We don't host any uploaded data ourselves and our portals don't store use data. We only develop the tools. Another important aspect is that everyone can run their own portal. Nobody has to rely on centralized public entities to grant them access to Skynet. So even if a portal hosted within your home country is censored, you can just run your own portal in your home network or your personal computer. Thanks for open protocols, APIs, and stateless portals. There's also no vendor lock-in. So even if you don't run your own portal, let's say your favorite portal is restricted in some sense, just swap out the domain and you're good to go. You don't need to migrate any data and you don't need to learn a new API or change any code to talk to it. You might wonder, but what's wrong with centralized services anyway? Well, first of all, corporations in charge of large social networks essentially become publishers of data who can censor information and speech as they like. We have seen that in the past actually. For example, certain messengers are not allowing you to send links to certain news sources. Secondly, centralized services can be banned by governments. So for example, look at the recent controversy around WeChat and TikTok in the US. Another problem is the power that content publishing platforms like YouTube have over their content creators. Those content creators continuously run into problems with YouTube's magical algorithm and their methods of demonetization. And last but not least, centralized services introduce single points of failure. Sure, AWS has a 99.9999% uptime, but during the few hours that it's offline, it takes massive chunks off the whole internet down with it. At SkyNet Labs, we believe that this is not what the internet was supposed to be like. So how does SkyNet prevent that? As mentioned before, preventing access to one portal does not prevent access to the content. That means the content on SkyNet is censorship resistant by default. Even if the data disappears from the physical locations there stored at, the data will simply be replicated throughout the network again, guaranteeing continued access. For developers, this means that they don't have to worry about servers at all. From the ground up, the network was designed to support a fluid network. That means that storage providers can't just come and go as they want. The user does not have to worry about them. This is also what makes catastrophic failures highly unlikely. The data is spread over the globe, which on one hand guarantees fast access from anywhere. And on the other hand, it means that even if the whole continent went offline, your data will still be fine. So all of that sounds very cool, but how does it actually work? So the foundation of SkyNet is SIA. SIA is a decentralized marketplace for storage, which allows you to upload and download data. You do so by using an API similar to Amazon S3 running on your local hosts provided by a daemon. On the SIA network, anyone can offer spare disk space or rent disk space. People who sell disk space are called hosts and they can choose their own prices for bandwidth and storage. So they compete in a free storage market. That's also the secret to the cheap storage price on SIA network, which is around two USD for one terabyte of data, including the redundancy, which is about a 10th of what leading storage providers charge. Since SIA allows anyone to offer and sell storage, it needs a way to replace the component of trust. We don't want hosts to run away with your data after all. That's why we use so-called file contracts and a reputation system for hosts, which I'll come back to in a moment. To be able to use file contracts, SIA depends on their own blockchain. The token that's used by the SIA network is called SIA coin. A file contract is an automatically enforced, financially incentivized agreement between a renter of data and a host. To achieve redundancy, a renter chooses multiple hosts and forms contracts with them. The hosts are chosen using various metrics like the best price and quality of service. When a contract is created or formed, a host locks away some money or SIA coins as collateral. That collateral is lost at the end of the contract period if the host loses the data. To make that possible, a contract contains a special type of hash, which is a root of a mercury. Mercury is a type of cryptographic accumulator that allows a host to cryptographically and approve possession of the data that they hold on to. So basically it's like a automatically enforced service level agreement between two parties that don't know or trust each other. So yeah, you might wonder, oh, this is great. We'll punish the host, but the data is still gone. Well, that's not true. So that's where ratio coding comes in. We store data redundantly using read solo encoding. That means that by default, every chunk of data that we upload is split into 30 pieces of which we only need 10 pieces to actually restore the original chunk. So we can lose up to 20 out of 30 hosts before we are no longer able to recover the data. Well, actually we need to lose 21 hosts. So of course, SIA does not wait for that to happen, but as hosts become offline, maybe, we will replicate the pieces and upload them to new hosts. That's also what gives SIA a 99.9999% uptime, which arrivals the uptime of centralized services, even though individual hosts may only have access to consumer hardware and they're only able to provide an uptime of about 90%. As mentioned before, SIA also has a reputation system for hosts. It will continuously scan the available hosts and rank them by score to optimize the selection of hosts and to make it unlikely to choose low quality hosts. We'll also block hosts if they try to sheet the renter in some way. Okay, so now that we know the basics of SIA, let's get back to Skynet. Skynet is the first truly universal cloud. As a cloud, it gives you access to all of your content from any device and also lets you share content with anybody, but the special thing about Skynet is that it also lets you share content seamlessly between apps. For example, you don't like Twitter's feed algorithm. Well, just move your feed over to some others gap, some kind of Twitter clone, for example. Applications can save data about you, the data that you provide, but you are in control of that data and it's up to you to share that data with any other application. That works without storing any use data on portals, which makes portal status. So the best part about Skynet is that it's extremely cheap for developers to get started. You're a single dev who built a SCAP and wants to publish it. Sure, head over to one of the free public portals and just upload your SCAP. If it becomes viral, you don't need to worry about getting a huge bandwidth bill, for example, because there is no bill at all. In fact, the person or the portal that's accessing the SCAP is actually the one paying for the bandwidth. Another thing to note is that all the content on Skynet is public by default. That means it's not encrypted, although encryption is supported. We at Skynet Labs think that this is going to change the way that developers think about web application on a fundamental level. But well, how far is Skynet really? So when we talk about the development process of Skynet, we split Skynet into three phases. Phase one is allowing for static data to be uploaded and shared and study websites. Phase two is the phase we're currently in, which adds state to Skynet. Similar to centralized login, you can visit a website, modify it, revisit it again. And as long as you log in with the same credentials, your changes are preserved. Phase two also adds the ability to follow other users. For example, your friends creates a block using a SCAP. You can use maybe a different SCAP to read the block. The final phase is phase three, where we add monetization. So you will be able to charge money for your content. For example, the images you upload, and other people will be able to reuse your content and put their own fee on top of it. So for example, if you are a photographer and you upload pictures, someone else can create logos or artwork out of those pictures and add their own fee. And whoever is consuming those logos will pay both you and the person who modified the pictures into something else. The way that content on Skynet is addressed is through so-called Skylinks. A Skylink is a 46 bytes, base 64 encoded string, which contains a hash of the upload data and also some extra metadata. It is returned by the API after uploading to Skynet. You can use your own portal or a public one to download the data again at any moment. The easiest way to do so is to just type in the domain of your favorite portal in your browser, for example, SciSky.net, and append the Skylink which is pre-pended with a slash. Since Skylinks can also be a bit hard to read, we integrated the handshake protocol or H&S for short. H&S is a decentralized name service. You can see at the bottom of the slide the difference between downloading a regular Skylink and one using H&S. Both of them use SciSky.net which is the public portal hosted by Skynet Labs. So if you want to try it out right away, just head over to SciSky.net and there you will see a simple interface like the one in the slide where you can browse for a file or a folder and upload it. Then you will get the Skylink and you can just share that with anybody with them to also access the data. There are also other portals run by our community. It's also super easy to run your own because the portal stack is fully dockerized. In the future, we also expect premium portals to emerge since portals have to pay for the bandwidth and storage right now. So premium portals would just give you maybe faster access to files or they would not have an upload limit. For example, our SciSky.net has a one gigabyte limit right now and it will also provide simpler means of payment. So you would not have to use SciCoins but instead you could use your credit card for example to pay the portal provider. As mentioned before, someone needs to pay the hosts for the services. This happens by pinning Skylinks. So you don't need to pin a Skylink to be able to access it but if you want to be 100% sure that the Skylink remains available in the future then you should consider pinning it or have some portal pin it for you. All free portals pin Skylinks on upload right now but since they're free to use, there is no guarantee that all of those Skylinks will be available forever. Pinning, so pinning means that your portal will watch the redundancy of a file behind a Skylink and it will keep paying hosts for storing it. Okay, so before we continue to some practical examples, let's do a quick recap first. So SciNet is a decentralized content publishing platform built on top of the decentralized storage layer called SciNet. Content on SciNet needs to be pinned to make sure it's accessible. Content on SciNet can be accessed through public or private portals and content on SciNet is public by default which means it's not encrypted. Okay, so when we first released SciNet, people immediately started sharing all kinds of static contents. For example, pictures, simple websites and also videos. You should definitely go and try upload a small video clip to see for yourself or maybe try one of the links in the slide. SciNet is super fast and it also streams 4K videos without problems. A bit later, people started using our SDK to create actual scabs that produced contents themselves. So two of the more popular examples are Skybin which is a paste bin film where you can just copy paste some text in and then you get a skylink to the text and the meme generator which you can choose a already uploaded picture or upload your own picture and add some text to it to create a meme. And then you also get a skylink to the meme which you can share. After a while, people started to creating more sophisticated scabs. For example, SkyChat which has grown to be a basically fully decentralized IRC server. It's not IRC but it behaves the same way. And SkyBlockbiller, a tool to publish blog posts and also SkyGallery, a platform to share photo albums on SciNet. Of course, there are many more, about a hundred at the moment and one of our community members built the SciNet App Store which itself is also a scab and lists all the known scabs that are available right now to make sure to also head over there and try some of them out yourself. Yeah, I mentioned a SkyGallery before but let's give it a bit of a more detailed look for a second. It was created by our community member, the elevator and it can be used to combine images on SciNet into albums. So how that works is that the image you want to add to the album is uploaded alongside a thumbnail. The thumbnail is created client side in the browser. That results in a skylink. When you're done creating your album and you hit the save button, a metadata file is created. It's also uploaded to SciNet. The metadata file contains the skylinks of all the uploaded images and also of their thumbnails. That's what SkyGallery will use to display your album. Unfortunately, there is still one tiny problem with that approach. Every time you add an image to the album, the link to the album actually changes. So you can bypass that by sharing a handshake domain that points to the latest album Skylink but that's still mildly annoying because well you need to wait for the text entry of the handshake domain to update which can take up to several hours. This is where SkyDB comes in which is a mutable database built on top of SciNet. It enables users or scabs to persist user data. Right now that only includes public data which is not encrypted but it will also support private data which is encrypted. A simple example would be a note-taking app for example. So you would log in using a username and password and then you write down some text and hit save. When you log in again later, you will still see the note you just took. Of course, that's also fully decentralized. So even if you log in from a completely different portal, you would still see your note because all the user data is stored on SciNet itself. That makes it practically impossible to de-platform users. So you don't like Facebook, the Facebook scabs algorithm move to a different one and grant permission to your user data. This will change how we think about applications because there is a cleaner separation between data and presentation and moving from one scap to another can happen instantly and seamlessly. That results in much more blended apps instead of data silos. For example, in SciNet world, this would mean that following someone on Twitter would also populate your feeds on Facebook, Instagram or YouTube. If you are a developer yourself, you can get started with our SDK right away. It's available in multiple programming languages on our GitHub. We also provide tutorials and workshops if you're interested. It's also super easy to use the SDK. It basically just takes a single line of code to upload a file and to get a skylink and one more line to download the file again using the skylink. If you want to get more involved or simply want to learn more, you can find us on pretty much all the popular platforms including Reddit or Discord. I hope you enjoyed the introduction to SciNet. If you have any questions, just ask in the chat but also feel free to shoot me an email or to find me on Discord. Thanks for listening.