Introducing cloud storage in the blockchain with Sia and Nextcloud

Originally published at: https://nextcloud.com/blog/introducing-cloud-storage-in-the-blockchain-with-sia-and-nextcloud/


Sia is a blockchain-based, decentralized cloud storage technology. Think Bitcoin for your data, providing an encrypted, distributed and affordable storage. Sia developed a Nextcloud external storage app providing its redundant and secure data store to Nextcloud users. Learn more in about this exciting technology in their excellent FAQ. In this blog we will walk through the steps required to integrate Sia in Nextcloud.

Setting up a Sia Node

Running Nextcloud with Sia requires running a full Sia node. This guide will walk you through the process of setting one up on your Nextcloud server, and assumes basic linux system administration knowledge.

Download the latest Sia release that supports Nextcloud, v1.1.2, available from Github. Unpack the release to your preferred installation directory, and start up a node by running siad. You may want to set up siad as a service on your server.

Once you have started a siad instance, you should allow the blockchain to fully synchronize. This can take a fair bit of time, you can view the progress by running siac, the other binary packaged in the release.

After the blockchain has fully synced, create a new wallet by running siac wallet init. Make sure you keep the seed that is displayed after this command executes safe, it’s the passphrase you will use to unlock your wallet and can also be used to recover your wallet if you lose your data. Now that you’ve initialized a wallet, run siac wallet unlock and provide your seed to unlock your wallet.
Now, you’ll want to acquire some Siacoin (SC). The usual process for this is to first get Bitcoin, then use an exchange (Yunbi, Poloniex, Shapeshift.io, and Bitsquare all have Siacoin) to convert from BTC to SC. Once you’ve done this, use siac wallet address to get an address you can receive coins on, and send your SC from your exchange to that address.
The final step is to set an allowance. A Sia allowance is a recurring amount that you allocate to file storage, download, and upload. You can use the siac renter setallowance command to set your allowance. It takes two parameters, amount and period, where amount is the amount of SC you will be setting aside and the period is the duration of the allowance, in blocks. We use 12960 in Sia-UI, which amounts to roughly 3 months. The allowance will automatically renew halfway through the period. After you set your allowance, you’re ready to install the Sia Nextcloud app and start uploading and downloading from the Nextcloud interface.

Setting up your Nextcloud installation

First, you’ll need to enable external storage on your Nextcloud installation, if you haven’t done so already. Nextcloud provides some good docs on how to do that here. After you’ve enabled external storages, you’ll need to install the Sia external storage app, available here. After you’ve installed the Sia app, add a new external storage from the external storage app. From the dropdown, select Sia. In the ‘API Address’ field, input the default api address, localhost:9980. After doing so, you should see the status indicator turn to green, indicating that you’re ready to start uploading files to Sia.

Conclusion

For Nextcloud users, the Sia/Nextcloud integration provides a unique way to expand their storage through an encrypted, distributed, redundant and global storage technology. Sia is fully open source and its blockchain foundations provide an impressive cost saving compared to Amazon, Google and other public clouds. It is great to see such innovative technology integrate into Nextcloud!

Sia is developing an exciting technology and the team welcomes you to check out their source code, report bugs, or request features for the Sia Nextcloud app in their github repo..

3 Likes

So, as someone who has been trying to drum up interest for an encrypted, decentralized, FOSS remote storage source for Nextcloud, I find this fantastic news. That said, I’ve never come across Sia before, so I just have a couple of questions:

  1. Is it possible to supply storage and bandwidth on the network, to pay for storage usage, rather than having to pay with cash.
  2. If I store my data on a Sia + Nextcloud server, and it’s destroyed (housefire etc), is there any way to get my data back from the Sia network?
  3. Does Sia take large amounts of computation and thus electricity to run like Bitcoin, or is it based solely on storage / bandwidth?

Hello Bugsbane,
a new Sia user here, so take my answers with a grain of salt.

  1. There are three parties in the Sia network
    a) rentals, which pay with Sia coins for storage price
    b) hosts, which get Sia coins for supplying storage space
    c) miners, which getting Sia coins for securing the network
    you can be each party at the same time, so yes you can rent storage and supply storage at the same time.

  2. Yes, during your wallet initialization you get a bunch of words, which are your passphrase to the wallet. With these words you can also recover your wallet with your Sia coins and storage contracts on any other machine.

  3. parties a) and b) don’t need much computation power, but the miners do. Currently the same “Proof-of-Work” mechanism as in Bitcoin is used. But the next development step on the roadmap is to change that to a “Proof-of-Burn” concept. The latter is a different approach for securing the network and don’t needs computing power and therefore no electricity.

1 Like

This sounds awesome…

I have another question. Is it truly P2P? or does it depend on sia’s servers? In other words. Can it be run in a truly altruistic way, and maybe if you want better performance use sia’s servers?

How does this differ from the storj.io project (besides the nextcloud integration) ?

Sia is unique in that it is fully independent of the parent company. When you start using Sia, you connect directly to the p2p network and do not need to used any centralized services to get started. Should the parent company (Nebulous Inc.) disappear, the network would continue running.

This is one of the major ways that Sia distinguishes from solutions like Storj.

1 Like

I’d be very much interested in speed and reaction times compared to traditional cloud storage.

I’ve only ust come across the Sia project recently and am in the process of doing my own research, but from what I’ve read, it sounds like unlike Storj, Sia is capable of running independently, without a centralized server.

1 Like

No centralized server is necessary and they have some innovative techniques for mitigating parties taking over the network with a large number of spoof accounts.

Great. That’ll help increase the adoption rate, as long as they can make it easy for people to understand that they don’t need to mine or shell out fiat currency to use this technology.

Great. This mitigates one of my main concerns with self hosting in general - that all of the data is just one house fire away from being lost forever unless you have self hosting friends.

Hmm… environmentally problematic…

Fabulous! Glad to hear it!

Hi , i’m new user in Sia, I have an host, i’m mining and using the network to store files.
About your questions:
2 ) I can tell you that if you destroy your server with nextcloud on it you still have your data distribuited on the sia network.
Just reinstall the gui, get back your old wallet and that’s all.

  1. You can supply storage and gain siacoin to pay the distribuited storage usage.
2 Likes

This tutorial is a bit out of date as Sia-Nextcloud has changed its configuration options since the initial release. I posted a video walkthrough and blog post about how to get this setup working by deploying Sia and Nextcloud in Docker containers.

I’m interested to use SIA as the primary storage. Is there documentation somewhere to accomplish this?
Thanks for any help you can give.

I hope we’ll see more feature added to the nextcloud app . The combination of sia and nextcloud offer endless possibility . Sia developpers are a bit busy atm and in limited number but i hope more developpers from around the world will focus on that kind of things ^^

1 Like

It will definetely work great with Gamecredits platform as it hosts hundreds of mobile apps. It’s a new alternative to play market and app store. The terms for developers are way better and the whole thing is built with blockchain technology. All the payments and tracking systems go through blockhain. It’s easy to make transcationsthrough Bittrex, Poloniex in Gamecredits https://medium.com/@MartinRosulek/why-gamecredits-will-rise-sooner-than-fintech-blockchain-startups-because-of-the-gaming-industry-8c4bc20c8050.
The revenue fee is 20% less than in the app store and play market. The system itself is extremely flexible. Hope it helps.