Hello! We all have data that we want to keep under control. We do not want to lose access to them and do not want access to someone else. Where to store such data? I believe that Sia can be the perfect place for this and tell you why.
Disclaimer: Sia is actively developing and, according to the developers, is still not suitable to be the only place for backup.
Sia (pronounced "Sai") is a blockchain-based distributed system whose members store information on each other's hard drives for a fee. A system member can decide to be only a user who loads data (in Sia terminology - renter), or a server that accepts data (in Sia terminology - host), or to combine these two roles. Hosts are interested in data storage, as they go at a loss if they lose data. This is ensured as follows: when concluding a contract for storing data, the host makes a deposit and confirms daily the fact of the storage of the downloaded data; if he does not do so, he loses part of the deposit. Details of the process leave for dessert :-)
To ensure that the data survived even in case of failure of several hosts, Reed-Solomon codes are used. Data is uploaded to 40 hosts and remains available if at least 10 of these hosts are available. Storage redundancy is 3x. In the future, uptime of hosts is expected to increase, after which redundancy can be reduced.
Sia uses its own altcoin, Siacoin. There is a blockchain, which stores both regular transactions and file storage contracts. (Bitcoin blockchain would not be suitable for Sia, since it is not possible to conclude such contracts.) There is both an explorer , miners, and exchanges for exchange - in a word, everything that is attached to altcoin.
Siacoin page on the Poloniex exchange.
So why do I like to store data in such a system? Have you ever wondered what other ways we have? There are a huge number of ways to have a single point of failure . A single point of failure justifies its name, and sooner or later refuses . In addition, such systems cause centralization and rejection of anonymity and become a convenient place to impose government control over user data. I hate the idea that someone can deny me access to my data. What is the choice of people who want to decentralize data storage? For example, to buy a place or servers in several centralized systems. For most people, this means a huge overhead in the form of time and money spent, especially if done anonymously.
A few words about why anonymity is so important when storing data. If the state knows about your property, then in fact it does not belong to you, since the state determines the rules of the game and tomorrow may decide to take it from you (or partially take it taxed). For example, in the US, gold was seized from people during the Great Depression. The only reliable way to protect property is to untie it from any information that the state has.
When I realized this, I decided to make a system devoid of these shortcomings: decentralized, anonymous and reliable. At first, I decided to check if there was anything ready on the githaba. And found Sia - exactly what you need! From the user's point of view, Sia is a ready-made analogue for buying a bunch of servers for manual data download. And the analog is more efficient, since one server stores data of thousands of users. The storage cost calculator on the Sia website shows that storage of 5 TB for a month will cost $ 10. (Disclaimer: the real price will be higher due to commissions for the creation of contracts and triple storage redundancy, but still remains very, very attractive.)
See also the manual on the official website .
All private keys used in the wallet are obtained from seed, which the program issues at the beginning of work. To restore access to wallet siacoins (but so far, unfortunately, not to files), it is enough to know this seed.
To be honest, I have never run Sia-UI since I live on the command line, and Sia provides excellent tools for this: siad and siac . (By the way, the entire Sia code is written in Go, which is good siad
.) The basics of working with siad
and siac
can be found in the article about launching a host and from the programs of these programs. The siad
program siad
usually simple enough to run, and interact with it through siac
.
Examples of commands:
siac wallet unlock
- unlock the wallet (seed input is required),siac wallet balance
- show the current balance of the wallet,siac renter setallowance money time_period
- enter into contracts with hosts,siac renter upload /path/to/source/file path/in/sia
- upload the file to Sia,siac renter contracts
- deduce all concluded contracts with hosts.siac
interacts with siad
via the HTTP API . With it, you can build your systems using Sia as storage. The Sia team is betting that in the future, companies will store their data in Sia.
To store data you need information in the renter/
folder. There are plans to restore data exclusively from the seed (see in the "Plans" section).
Optionally, you can save information about the volume loaded with the help of siac renter export
and load it into the "puzomerka": rankings.sia.tech .
Sia Host will generate revenue in siacoins to its owner. This is a good way to monetize unused parts of hard drives. Not only storage is paid, but also traffic.
There is a whole article about launching your server. I'll go over the top again.
siad
and siac
. The siad
program starts, and all actions are performed through siac
. We must wait until siad
downloads the blockchain. It takes several hours, there are plans for significant acceleration.siac wallet address
), throw siacoins bought in any way on it .siac host folder add /path/to/dir size
siac config
.siac host announce
.After some time, the host will begin to receive contracts and will upload data to it.
Revenues hosters can be viewed on the website siahub.info . Example of a revenue graph for a host that has 585 of the available 999 GB uploaded:
This host receives 57 siacoins every day. 1 siacoin today costs about 1.5 cents, which means this host receives about 50 rubles a day. Let there is a 4TB NAS for 20k rubles. With a similar percentage of filling, he would give about 200 rubles per day, that is, 6k rubles per month - a good payback.
In Sia, the hosts regularly prove that they store the downloaded data. This is an important point, because otherwise unscrupulous hosts could drop all data into / dev / null, while continuing to receive payment. Above, I promised to tell you how the proof of storage works. This is described in detail in the article from the creator of Sia. Below is my explanation on the fingers.
Contract data can be represented as an array of fragments of the same size. Arrange a tree hash of these fragments. To do this, we calculate the strong cryptographic hashes of these fragments. Then we divide the received hashes into pairs and calculate the hashes from the connected hashes of each pair. The resulting hashes are again paired up and so on until we get one hash. It is also stored in the contract and updated when the user downloads new data for this contract. Now back to the separate fragment of the file and trace its "path" to the root of the tree. At each step, the hash coming from another group of fragments will be "mixed in" into hashing. If we provide this fragment and these additional hashes that are in the path from fragment to root, we can prove that this fragment is present at this position in the data. Counterfeiting such a proof is equivalent to finding a hash collision.
How does this apply to Sia? The fragment number, the storage of which the host must prove, is determined depending on the hashes of the previous blocks, so it is difficult to predict it in advance. At a certain period of time (in blocks, not by the hour), the host must download proof of storage of the selected fragment, otherwise he loses money.
An attentive reader might have a question - what if the malicious host will store the data, but will not let the user download it? Or just to have a low uptime, which is why it will be impossible to use it. To combat this, Sia has come up with a host rating system. Each running client calculates this rating independently, including measures uptime, so it is best to let the program idle before entering into contracts so that statistics on the hosts can be gathered. All factors affecting the rating, understand the article about the rating . Host ratings can be viewed with the siac hostdb -v
command and on the siahub.info site.
In Siacoin there is one feature that I have not met before in Altcoin. Siafund is a special kind of resources that can be stored in the same blockchain and at the same addresses as Siacoin. The addresses where Siafund is stored receive part of the host revenue. Deductions in the amount of 3.9% of payments on successful contracts are distributed proportionally among Siafund holders. In nature, there is exactly 10k Siafund. Most of them are at the developers (Nebulous Inc.), but a little more than 1000 were sold at one time. Siafund are sold on the bitsquare.io exchange and on the #siafunds Slack channel. Currently, the price of a Siafund is about 2 Bitcoins. Siafund are indivisible.
Siafund is an alternative to the pre-mining of its own cryptocurrency by the developers of altcoin. As planned by the creators, because of the high price, only people who are committed to the ideas of the project, including developers, will be the owners of Siafund. The more Sia will be used to store files, the more income Siafund will bring.
There are beautiful host cards on siapulse.com and siahub.info .
Hosts already exist on all continents except Africa. The total number of active ones is 275. Including, there are hosts in several cities of Russia and Ukraine. I invite everyone who needs help with launching a host and in general from Sia to the Slack chat channels, including #help, #russian and #farming.
Some plans from the official roadmap :
Thanks to everyone who read to the end!
Source: https://habr.com/ru/post/330140/
All Articles