⚠️ RBZL, the author of SiaSetup, has been banned by Sia's unreasonable project management due to our criticism of the Sia/Skynet projects.
We'd suggest that you read our criticism, which includes details on how the ban came about, and avoid the Sia and Skynet projects as a result. ⚠️

The Sia Skynet

Learn about the publicly accessible compontent of the Sia network.


What is Skynet?

Skynet is a way to share content stored on Sia with others.

Last Updated March 4, 2021
Notice: Skynet continues to be developed - information will be added as it becomes available and new features are implemented.

Skynet was announced in February 2020 as a revolutionary step in the Internet and how content will be shared. Skynet is essentially a basic content distribution network (CDN) which is able to serve content on the Sia network to users publicly. Prior to Skynet, there was no way to easily share files stored on Sia without either sharing your Sia installation and seed, or without building your own complex custom front-end website or service that used Sia as a back-end storage provider. With Skynet, anyone can put public content and data on the Sia network, and provide a link for others to access the content.

Skynet has three major components: server-type modules called Portals, links to content called Skylinks, and the traditional Sia storage network.

Skynet Web Portals

A Skynet Web Portal is a piece of software which anybody can run that allows access to all Skynet content on the Sia network. A Skynet Web Portal is essentially just a web host/server running on a machine with a Sia client, which accesses the content on the Sia network and serves it through the Web Portal as a proxy. By default, any Web Portal can access any Skynet upload or Skylink on the Sia network, though a Web Portal operator could implement controls on who can use their Web Portal, what content can be accessed, or any other number of customizations. There are several Web Portals currently in operation, and you do not need to run a Web Portal yourself in order to upload or download Skynet content. However, if you want to ensure that your Skynet content is always available to others, running your own Web Portal is the best way to do so.

A Skynet stock portal

A stock Skynet web portal where files can typically be uploaded and accessed for free.

The official Skynet Web Portal also includes features such as Handshake name resolution for registering domain-like names, which can then be accessed through any Portal. This is handy instead of needing to keep track of a unique Skylink for files, websites or Skapps (explained below). Portals also support fee management, which is built into Sia and allows application developers or content creators to collect revenue for their work or create subscriptions directly from within the core Sia platform. More information on fee management can be found on our About Sia page.

Local Sia Instance as a Portal

A normal Sia renter instance can also be configured to function as a Portal without the Web Portal interface, if desired. This would allow you to access Skynet content from your own local machine without needing to use a public Skynet Web Portal or run a full Web Portal yourself. You could also integrate Skynet into your own applications using this method and the Sia API or siac. Information on both setting up your own Web Portal or local Sia instance on Skynet can be found in our Guide to Using Sia Skynet.

A Skylink is a link to a file uploaded to Skynet. After a Sia renter uploads content to Skynet, a public Skylink is created, and the content can be accessed through a Portal with this link. Skylinks are similar to magnet links for torrents - they're a type of pointer which can be used to find Skynet content stored on Sia.

Pinning

Skylinks (and therefore, files on Skynet) are "pinned" by users wishing to keep the content online, starting with the original uploader - therefore, pinning content means paying the storage fees for the content. Anyone can continue to pin a Skylink, effectively keeping it online and accessible forever. Skylinks normally stay pinned unless the uploader unpins them, or the contract to store the file is allowed to expire in the same way that a regular Sia renter contract would (i.e. the pinning user does not open Sia within the renewal window for the contract). If multiple people pin the same file, it will stay online unless they all unpin it or let it expire.

Skynet Apps ("Skapps")

Applications built on Skynet are referred to as Skynet Apps, or "skapps" for short. They can be as simple as a basic website, or more complex, like blog or photo gallery platforms. They are essentially distributed and self-contained web applications, and so they typically don't rely on any sort of central server or service like a database or server-side languages like PHP. A driving factor in Skynet development and adoption is the effort to get developers to build a number of Skapps on Skynet.

A Skynet App Store (which is a Skapp itself!) can be found at https://siasky.net/hns/skyapps, though some app links may be out of date or point to old versions of an app due to the fact that apps may end up at a new Skylink if they are updated or changed by their creator. Developers interested in building on Skynet should check out the Skynet SDK docs - official SDKs are available via Javscript/Node-JS, Python and Go.

SkyDB

SkyDB is a simple key-value database which was released in October 2020, and allows Skynet apps to store data values under a key where the values can later be accessed or modified. Because Skylinks and content uploaded to Skynet are normally immutable, the use of SkyDB allows apps to more easily track dynamic content and changes on Skynet. This also supports the ability for Skapps to build more advanced features, such as user accounts. SkyDB values currently have about a 4 MB max size, but are most commonly used to store messages signed by a particular key (i.e. user) or to store a Skylink which can later be updated in order to always point to the latest version of some form of content.

SDKs for SkyDB are currently only available in Javascript for Node-JS. More information on using SkyDB is available at the Skynet SDK docs.

Fee Management for Service Providers

Accompanying Skynet is a new feature called the Fee Manager, which allows service providers (such as Skynet Web Portals) and content creators or Skapp developers to charge users fees for the provider's services on the Sia network. This allows for subscription-model premium services, such as a premium Skynet Portal model which lets users upload larger files than the default free model. It has been used to implement recurring donations to support community services, similar to the Patreon model. The fee manager also allows users who have subscribed to a service to monitor recurring charges and cancel them outside of the service provider in case there is an issue with the service. Intitial fee manager billing occurs roughly on a monthly cycle, so the first fee manager payment may occur 30 or more days away - service providers may want to invoke a manual, one-time initial payment if they expect payment for their service before that time.

Nebulous, the creators and developers of Sia, have implemented a 30% transaction fee on all fee manager payments similar to other app store ecosystems like Apple. This fee does not apply to normal renting, hosting, or general Skynet use, but only specifically to fee manager payments for recurring third-party subscription services. The fee manager is not widely used at this time, and the 30% transaction fee is more relevant to service providers than users. Sia and Skynet's software licenses are likely to be changed in the future to require the use of the fee manager for third-party services engaging in recurring billing as a condition of use for the Sia product in order to support continued development.

The Sia Storage Network

Skynet still uses the main Sia storage product and network to store files. Sia renters can choose to designate uploads as Skynet items, which uploads the content to Sia and creates a Skylink to the content. Because Skynet data resides on Sia, Sia hosts may end up storing Skynet data as a result. From a hosting perspective, this is important to know because most Skynet data is stored unencrypted on Sia hosts, and a full file is stored on each host. As such, as a host you may be liable for any Skynet data you store if it is of an illegal nature. If you are a Sia host or considering hosting, please review the Risks of Hosting on Sia, specifically the risks related to Skynet.

Unlike normal Sia renter storage, Skynet uploads files in one piece with 10x redundancy by default. Therefore, costs to store files on Skynet may be higher than costs as a normal renter due to the extra redundancy. The redundancy level for files can be set manually, but setting it too low may result in delays or slow download speeds when accessing a file. Additionally, normal Sia renter files can't be easily converted directly to Skynet files due to this limitation, and will perform more slowly on Skynet if they are converted instead of re-uploaded. This may eventually be fixed in a future Sia release.

Registry

Skynet uses special storage space on hosts, called the registry, in order to store SkyDB entries (see above for more info on SkyDB). This space is normally separate from a host's bulk storage and kept on SSDs if available, as hosts normally rent out traditional hard drive space which is slower and not as responsive to rapid SkyDB queries. Most hosts currently configure an initial registry size of 4 GB, which supports around 15 million registry entries per host. This space is paid for at a premium (about 250x normal storage), as it is not associated with the normal storage proof and collateral system that other files stored on Sia use, so the idea is incenvitize hosts to keep registry data by paying them well for it. Hosts wanting to know how to enable the registry should see our Guide to Hosting on Sia - Step 3 for more information.


Using Skynet

How to upload data to Skynet, use Portals to download Skynet data, and run your own Portal.

Skynet can be used in many ways - through your local Sia client, or through a public Portal. Many public Portals allow you to upload and download Skynet data for free. Locally, Skynet can be used to upload new data to Skynet, and to re-pin existing content which you want to keep online. However, currently Skynet data can only be accessed (downloaded) through a Portal - there is no way to download data from Skynet using your own Sia-UI without also running a Portal configuration of one type or another.

Please see our Guide to Using Sia Skynet for detailed information on how to upload and download data to/from Skynet, as well as how to become a Portal operator. Also see our Skynet FAQs for answers to Skynet questions and help with troubleshooting Skynet issues.

Skynet Limitations


Skynet Portal List

A current list of Skynet Portals in operation.

There are a number of public Skynet web Portals in existence which allow you to upload and download Skynet data at no cost to you, and anonymously. The official Portal run by Nebulous is SiaSky.net, which consists of a load balancer directing traffic to a number of individual Portal servers. A handful of other public Portals are operated by a few other community members, though many of them are out of date and no longer function. "Premium" portals may also exist which allow access to Skynet, or to the Portal operator's specific content, under some sort of monetization scheme.

A list of known Portals and Portal operators can be found on the Skynet Portals page.