Nebulous is now a six year old company. When Nebulous was founded, we were two programmers, idealists, and individuals with no business background. Over the past 6 years, we’ve launched numerous products, learned an enormous amount, and grown significantly both as people and as entrepreneurs.
One thing that we significantly under-valued in the early life of the company was the importance of focus and alignment. We’ve had a grand vision with a broad execution. Though this has resulted in a lot of good things, I believe that on the whole a lack of focus has ultimately limited the growth of both Sia and the company Nebulous. It has also significantly encumbered marketing and communication. Between Nebulous, Sia, Skynet, Obelisk, SiaStream, and other adventures we have pursued as a company, our story is rich and involved and not necessarily easy for newcomers to understand.
As a part of evolving Nebulous, we will be significantly narrowing our focus to a single thing: Skynet. We will be re-branding Nebulous to ‘Skynet’, following in the footsteps of companies like Dropbox. We believe that having a single name for both the company and the product will simplify the experience for users and make the ecosystem more accessible.
Where Sia was aimed at being a decentralized data storage layer, Skynet is aimed at being a fully decentralized cloud. Skynet is now bigger than Sia, as it includes technologies such as Handshake, and will continue to expand as it grows into the broader decentralized ecosystem. Sia will remain a key piece of infrastructure for Skynet, but the focus has shifted from data to web applications.
At Skynet, we remain a firmly ideological company. We’re here because we believe that there is a better way to connect humanity together.
Skynet demands uncompromising accessibility. Data on Skynet can be accessed from your computer, your laptop, your phone, and even your friend’s phone or a library computer. But the accessibility requirements do not stop at devices, Skynet also demands that data be accessible between applications.
The modern cloud has done a good job of making user data available from any device. But it has not done a good job of making data available from any application. Your friends, posts, and history on Facebook do not play nicely with other applications. The Facebook cloud, the Snapchat cloud, the YouTube cloud are all separated, fragmenting a user’s experience across many competing walled gardens.
Skynet is the truly universal cloud. Data on Skynet is user controlled, which means that the user has the ability to ensure applications have access to each other’s data. You can take your Facebook friends and move them to a different platform at any time. Skynet transforms the internet from a fragmented series of corporate owned pools of data to a unified living archive of human knowledge and interaction.
Skynet demands true decentralization. This requires that anyone be able to access Skynet, and anyone be able to access Skynet even where others wish to interrupt that access. We achieve that by ensuring that anyone can spin up their own Skynet portal and then make that portal available to their friends.
The accessibility requirement interacts with the decentralization requirement. We will be building Skynet to ensure that no user specific data is ever stored on a portal. Instead, all user specific data will be stored on Skynet itself, such that a user can switch portals at any time without losing any of their data and without losing any of their capabilities.
Finally, Skynet demands superiority over the centralized cloud. The centralized web has created certain expectations from users regarding performance and scalability. Skynet will meet and exceed these expectations in all features that it releases. Users will not be drawn to Skynet because it is decentralized, but rather because Skynet is simply superior to the centralized web.
Everything we build into Skynet will adhere to these fundamentals. User data will be globally available and controlled by the user. All applications will be accessible from any portal, and users will be able to seamlessly move between portals. Portals will have resource requirements and technical requirements that are low enough that any hobbyist can set a portal up in under a weekend and run that portal on a shoestring budget. And that hobbyist portal will be able to access and use any Skynet application at speeds competitive with the centralized web.
The global data layer of Skynet allows anyone to upload immutable files and receive a hash. That hash can be used by anyone to retrieve the file, and then cryptographically verify that they have received the correct content.
Files on the IGDL support an internal filesystem, allowing them to mimic traditional web servers. This means that traditional webapps can be hosted on the IGDL as long as they do not depend on a custom or centralized API to operate. This also allows support for modern web tools like HLS, which enables a single file to stream smoothly across many types of devices and connections.
Applications running from the IGDL have access to a decentralized API which is served by the Skynet portal. This API will be protected by the same compatibility guarantees that have been so fiercely defended within the Sia daemon (for those who are unaware, siad has only broken compatibility with it’s API a single time in 5 years of active development and continuous releases).
The IGDL has already been developed and deployed, and is what most people recognize as ‘Skynet’ today. The API offered to IGDL applications currently allows them to upload new files to the IGDL, download existing files from the IGDL, and resolve Handshake names.
We will continue to build out the API for the IGDL. The recent handshake integration is just one example of many upgrades that are planned for the future. For example, we intend to give better API access to the Sia network which will allow entire Sia web wallets to be operated fully off of Skynet. Other cryptocurrencies such as Bitcoin may be supported in the future as well.
Skynet phase one is limited by static applications. Because data in the IGDL is immutable, a user is greeted by the same experience every time they visit the same application. Cookies and local storage serve as one potential means to close this gap, but do not satisfy the Skynet requirement of being globally accessible — local storage does not follow the user as they switch devices and applications.
We have begun development of Skynet Phase 2, which introduces user accounts and user account data. From the user’s perspective, this will be roughly equivalent to logging into a centralized application. The user will provide a username and password, and these two will be combined client-side to produce a private key that represents the user’s identity.
The user’s identity is associated with a 2 part filesystem. The first part is a private filesystem, where data is encrypted with the private key. The user’s applications will be able to read and make use of this data, but it will not be visible to the rest of the world. The second part is public. Only the user is able to update the public filesystem, but anyone is able to read the public filesystem.
The Skynet API will expose this filesystem to IGDL applications, allowing applications to store data within a user account that will be available across all devices and portals. This feature is deceptively powerful. With this feature alone, you can fully rebuild applications such as YouTube, Twitter, Snapchat, and Facebook in a completely decentralized way. This is because the account filesystem can be used to store information like a user’s list of friends, a list of posts that the user has published, and a list of the user’s favorite content. The public part of the account filesystem allows users to follow each other and see each other’s publications. Whether a publication is a new blog post, a new video, or just a retweet of someone’s comments, almost all social elements of the centralized web can be rebuilt using the APIs of Skynet Phase 2.
This is a significant leap forward over state-of-the-art web3 frameworks. Current web3 efforts such as Matrix are currently stuck in a federated model, where communities are fragmented onto separately controlled ecosystems. On Skynet, that same user experience can be built in a global way, while still retaining full decentralization.
We currently expect to have the full Skynet accounts system built out by the end of November 2020.
We believe in money. And specifically, we believe that anyone who adds value to the world should receive money for their efforts. Phase 3 of Skynet will be rolling out a monetization scheme for developers and content creators alike which will allow them to attach fees into their creations.
We also believe in permissionless innovation. If someone wants to grab an image for their blog post, they should be free to take it, without having to ask the original creator. Or if someone wants to make improvements to an application, they should be free to fork that application and build in their own changes. But we want this to be able to happen in a way that compensates the original creator, because their efforts are a material component to the success of the remixed product.
We have completed designs for a recursive content monetization scheme that allows for this. Original works can attach a fee to themselves that needs to be paid each time a user views, consumes, or uses that work. Collaborations can associate multiple addresses with the fee, distributing the monetization between multiple people. And extensions to work can attach additional addresses and additional fees, meaning that the original content creator is compensated, as well as the person who has extended, improved, or remixed the content.
This model also carves out room for curators. We believe that people who build playlists, reading lists, image galleries, or otherwise recommend products, content, and applications to other should be rewarded when their followers benefit. After Skynet Phase 3, it will be possible to have a full time job that is just recommending music playlists to people. And this job will be able to exist without any sponsorship funding.
Sustainable funding is desperately missing from the centralized web of today. All most all content today is monetized through sponsors, who retain the full rights to de-monetize any content that offends their sensibilities. But it goes beyond decentralization and de-platforming. The modern strategy for monetization requires creators to reduce the quality of their own user’s experiences so that they may make a living. We wish for a world where creators make the most money when they make the best possible product, and not where they are constantly injecting ads, product placements, or paid referrals.
We currently expect to have recursive content monetization implemented and deployed by the end of January 2021.
For the first time, the decentralized web feels within reach. We’re not talking about a web that is technically feasible yet crippled compared to the centralized alternatives, we are talking about a decentralized web that will become an unstoppable force. Ten years from now, using centralized applications instead of decentralized applications will feel like using a fax machine instead of email.
On Skynet, decentralization is not about earning karma or feeling like you are doing the right thing. Decentralization paves the way for more powerful applications, more dynamic user experiences, and ensures that publishers and creators are paid the full amount that they deserve. Skynet is decentralized because it cannot get these benefits without decentralization.
The next generation of applications are already being built on Skynet. More developers are joining the community every day, and there is a raw energy in the air. Skynet is different from any platform or technology than has ever been built before. Because of that, we are thrilled to be doubling down on what we know will become the future of the Internet.