• Mon avis sur Sia

    Il s'agît bien entendu d'un avis personnel.

    Qu'est-ce que Sia ?

    Sia est un système de stockage décentralisé un peu particulier.
    Après l'avoir utilisé pendant un bon moment, je pense que mon avis sera relativement objectif, même si je ne sais pas tout.
    Vous ne trouverez d'ailleurs pas beaucoup d'informations de qualité sur internet.

    Il me semble important d'en parler, d'un point de vue utilisateur car il faut bien comprendre son fonctionnement et ses limites.

    Sia est un système tout à fait passionnant et relativement ancien.
    Vous pouvez être 2 fonctions :
    - un loueur (renter) : vous louez un espace décentralisé pour y stocker vos données
    - un hébergeur (host) : vous allouez un espace sur votre machine, pour y stocker les données des autres (des renters)
    Vous pouvez être les deux en même temps.
    A chaque fonction son logiciel : renterd, hostd.


    L'idée est relativement simple : vous devez acheter des Siacoins via Kraken puis les transférer sur votre wallet Sia, pour pouvoir vous servir du système et commencer à stocker des données dans l'écosystème.
    J'élimine tout de suite l'aspect rentabilité en vous disant que Sia est plus un réseau de gens souhaitant rendre service que de gens qui investissent pour gagner 3 ronds.
    Mettre à disposition un espace de stockage pour les autres n'est absolument pas rentable ! C'est un acte altruiste ou de foi ! Passez donc votre chemin si vous escomptez devenir millionnaire.

    Après avoir acquis des Siacoins et les avoir transféré, vous souhaitez stocker des données sur le réseau Sia.
    Comment ça fonctionne ?
    Là, ça se corse un peu.
    Vous allouez une somme en Siacoins pour votre "engagement" à louer un espace de stockage d'une certaine taille pour une durée déterminée (la fameuse "allowance").
    Cette allocation permet au système de ne pas vider votre wallet de Siacoins, en contrôlant, en fonction de la somme que vous avez précisée, la limite de dépense que ne devra pas dépasser le système.

    Vous devez bien comprendre un point essentiel : le découpage en 40Mo !
    Chaque fois que vous voudrez téléverser un fichier sur le réseau Sia, celui-ci sera découpé (s'il est plus gros que 40Mo) ou arrondi (s'il est plus petit que 40 Mo) en tranches de 40 Mo.
    Que faut-il entendre par là ?
    Soyons très clairs : si vous téléversez un fichier de 10 ko (un fichier texte par exemple), le système Sia considèrera alors que votre fichier pèse en réalité 40 Mo et vous facturera 40 Mo !
    Le logiciel ne vous avertit d'ailleurs pas lorsque vous téléversez des milliers de petits fichiers !!
    Vous ne comprendrez donc pas ce qui vous arrive lorsque les téléversements se bloqueront et que vous devrez réhausser votre allowance en permanence.


    Téléversez 150 fichiers de 10 ko, et vous payerez en réalité pour 6 Go de stockage (au lieu de 1,5 Mo)...
    Imaginez maintenant avec 2000 ou 3000 fichiers textes...

    Première conclusion donc : Sia est plus un système d'ARCHIVAGE à mon sens, qu'un système d'accès rapide.
    Et si vous souhaitez vous en servir, vous devrez préférablement compresser ensemble les petits fichiers pour vous rapprocher au maximum de 40Mo par fichier ou alors disposer de fichiers compressés beaucoup plus gros que 40Mo.

    Ce problème est identique sur d'autres plateformes, comme STORJ, dont le découpage est lui de 64Mo.
    Sia a bien entendu tenté de corriger ce problème en ajoutant une fonctionnalité permettant de gérer des paquets de 40Mo en mettant en cache les fichiers à copier sur le nuage avant... Mais ce n'est pas sans conséquences sur les ressources de votre machine !

    Il est donc préférable d'envisager de préparer un peu les données à y stocker. (A minima de compresser entres eux des fichiers trop petits).

    Sur Sia, on paie pour :
    - le stockage chez les hébergeurs (normal)
    - les "contrats" avec les hébergeurs (oui, quand vous utilisez leur espace de stockage, vous établissez un contrat virtuel, et c'est payant.. même si ce n'est pas cher)
    - le téléversement (attention, ça grimpe vite en fonction de la masse de données à téléverser)
    - le téléchargement (encore une fois, c'est pas vraiment conçu pour que vous retéléchargiez toutes vos données tous les 4 matins !)

    Ces coûts sont à prendre en compte, car ils s'additionnent au tarif de stockage par To !
    Si vous prévoyez de stocker beaucoup de données (plusieurs To), allez-y PROGRESSIVEMENT !!
    Inutile d'indiquer dans votre configuration que vous allez stocker 30To du premier coup, parce que vous allez mettre plusieurs semaines (voir mois) à les transférer et vous allez donc payer pour rien... Faîtes progressivement ! To par To ! Vous réhausserez votre configuration au fur et à mesure.

    Vous pouvez bien entendu utiliser les réglages avancés
    Gardez à l'esprit si vous prévoyez d'envoyer 2 To de données, qu'ils devront être pris en compte dans la partie "téléversement"... car vous allez effectivement devoir les téléverser !! et ça peut grimper vite et fort si vous ne le prévoyez pas dans votre calcul.


    Que se passe-t-il lorsque vous envoyez vos données ?
    L'application envoie les paquets et gère elle-même la redondance entre les hébergeurs.
    C'est un cas quasi-unique je crois. Aujourd'hui, c'est plutôt un noeud intermédiaire qui se charge de la répartition.

    La redondance par défaut est de 2 fois sur Sia, il existe donc 3 versions (ou presque... c'est rarement du 100%) de chaque fichier sur le réseau.
    Vous pouvez changer ce paramètre, y compris le nombre de fragments de chaque bloc de 40Mo (par défaut c'est 10). Mais attention car plus vous augmentez ces valeurs (redondance et fragments), plus votre machine va consommer de bande passante, de RAM et de CPU.



    La gestion de la bande passante. 
    Là, ça coince, bien qu'ils aient fait de gros progrès.
    D'abord, avant chaque nouvelle utilisation de Sia, il vous faut télécharger la blockchain (où la mettre à jour par rapport à ce que vous avez déjà)
    Lorsqu'on lance Sia pour la première fois, il faut attendre environ 6h pour charger les presque 50Go de la blockchain.. Impossible de faire quoique ce soit avec nos fichiers tant que la blockchain n'est pas chargée...
    Sia fonctionne ainsi. C'est une limite claire du système.

    Le point négatif de gérer soi-même la redondance, c'est justement que notre machine communique avec plusieurs dizaines d'hôtes en permanence.
    Mieux vaut disposer d'un abonnement internet fibre illimité et de NetLimiter installé pour limiter le débit où vous allez vous retrouver muselé par votre opérateur (j'ai reçu un charmant mail - très sympathique en plus - de mon opérateur associati m'informant du délire... je n'en revenais pas ! Mais je ne peux pas leur donner tort, la consommation était phénoménale..). Il est également possible de museler le débit sur la console web de renterd.
    Donc le limiteur de bande passante EST INDISPENSABLE avec Sia.
    Sachez qu'en dessous de 5MB/s, Sia fonctionnera mal et de nombreux téléversements échoueront, donc ne descendez pas en dessous !


    Une fois vos données hébergées et leur taux de réplication à 100% (le fameux "Health"), vous devez IMPERATIVEMENT lire le ReadMe concernant la récupération en cas de problème... car ce n'est pas simple du tout !! Il faut faire des dump des 2 bases de données (db.sqlite et metrics.sqlite) en utilisant les commandes sqlite et les sauvegarder très précieusement et régulièrement, autrement dîtes adieu à vos données ! 
    Car, (et c'est aussi une faiblesse du système), votre seed ne suffit pas pour récupérer vos données !
    Si par malheur votre machine crashe, ce sera fini ! Vous ne récupèrerez jamais vos données !
    Seuls ces fichiers, replacés et renommés dans une nouvelle installation de Sia renterd, vous permettront de récupérer vos fichiers.... Honnêtement, j'en suis resté un peu abasourdi la première fois. ça gagnerait à être simplifié !
    Lors d'une nouvelle installation, vous devrez utiliser le même seed, recharger toute la blockchain, refaire la même configuration et arrêter renterd à l'issue pour procéder au remplacement des fichiers db.sqlite et metrics.sqlite par vos dumps (que vous aurez renommés).



    Soyons pragmatiques ! Listons
    - Pour vous en servir, il faut acheter des Siacoins ! Et pour acheter des Siacoins, il faut un compte kraken... (vous devrez attendre 3 jours après votre premier achat de Siacoins avant de pouvoir les transférer sur votre Wallet Sia). Il est aujourd'hui difficile d'en acheter ailleurs que sur Kraken !
    On ne peut pas en acheter directement sur Sia.tech.
    A la différence de Storj (pour ne citer que lui) qui vous offre la possibilité de payer votre stockage décentralisé par CB (en plus de leurs propres coins), on sent tout de suite que Sia s'adresse à un public beaucoup plus averti.. 
    Il y a des progrès à faire pour ouvrir d'avantage l'écosystème.


    - Actuellement le premier lancement de l'application renterd sur votre machine nécessitera plus de 6h.
    En effet, l'application a besoin de télécharger la totalité de la blockchain avant de pouvoir fonctionner.
    Et cette blockchain grandit, donc le temps de chargement sera amené à s'allonger !
    Ils disent bosser dessus, j'attends de voir ! Cette blockchain fait actuellement 50Go (elle en faisait 47 il y a 2 ans) ! Vous devrez laisser le logiciel la télécharger intégralement avant de pouvoir vous identifier...
    Libre à vous ensuite de la déplacer sur un lecteur réseau hébergé ou une clef usb ailleurs, afin de gagner un peu de place ! Une fois cette blockchain chargée lors du premier lancement, le logiciel se synchronisera plus rapidement aux prochains lancements (de l'ordre de qques secondes à une minute... puisqu'il vous faudra télécharger les nouveaux bouts de la blockchain apparus entre-temps).
    Mais disons-le tout de suite, Sia n'est pas vraiment conçu pour être éteint ! D'où la bonne idée de dédier une machine exclusivement si vous faîtes beaucoup d'archivage.


    - Concernant le nombre de noeuds réels sur le réseau Sia : Il n'y en a guère plus de 350 allumés 24/24... sur plus de 84 000 annoncés sur https://hosts.siacentral.com/ ...
    Arrêtez moi si je me trompe, mais ça semble manquer d'optimisation tout ça. Il faudrait peut-être envisager de faire le ménage sur les seed inactifs... !


    - Sia peut se montrer très gourmand en ressources.
    Ils ont cependant fait de gros progrès dans la dernière mise-à-jour.
    Pour ceux qui ont l'habitude de cpubenchmark.net, ne visez aucune machine dont le score du CPU est inférieur à 10 000 où vous allez pleurer toutes les larmes de votre corps pour avoir déboursé des sous (et beaucoup de temps) en Siacoins pour rien. Idem pour la RAM, RIEN EN DESSOUS DE 16Go... On peut rapidement atteindre 80% de la RAM.

    - NetLimiter ! NetLimiter ! NetLimiter !
    Utilisez n'importe quelle solution de limiteur de bande passante. C'est impératif. Ne descendez pas en dessous de 5MB/s.
    J'ai également reçu des messages d'alerte de Kamatera (hébergeur de VMs) avec des demandes d'explication avant blocage de mon accès (en même pas 24h) concernant les transferts invraissemblables du serveur que j'avais monté pour faire un test plus sérieux (avec un gros serveur, genre 20 vCPU de dernière génération, 24Go de Ram etc.. pour envoyer 1To de données). Ils ont heureusement corrigé un peu le tir depuis, mais la gestion de la bande passante est ABSOLUMENT nécessaire.


    - Le téléversement des données à présent : Premièrement vous "allouez" un montant en Siacoins que vous souhaitez payer pour la durée de la location de l'espace de stockage sur les noeuds du réseau... Et vous allez avoir de drôles de surprises car malgré toute la précision des calculs que vous pourrez anticiper, ça va vite monter en flèche lors du téléversement (la faute à ce découpage/arrondi en 40Mo !) !!. Encore une fois, si vous avez un mini PC de quelques années d'âge (mais toutes ses dents), la moindre donnée envoyée prendra des plombes et fera chauffer le CPU à l'extrême si vous n'avez pas optimisé vos données !... Et je ne vous parle pas d'interrompre ce processus !! D'une part vous ne pourrez pas ! (et oui, on arrête pas un transfert Sia comme ça !!), d'autre part, bonjour la catastrophe après ! Sia n'est pas du tout tolérent aux changements !
    Et vous allez devoir prendre votre temps pour envoyer les données avec la console web, PETIT A PETIT, si vous n'utilisez pas rclone ou rclone-browser.
    Attendez que la réplication des données vous affiche les 100% (Health) avant d'envoyer autre chose !!! Ne brusquez pas ce système, vous allez le regretter et recommencer 20 fois absolument tout (et bonjour le pognon gaspillé)

    - Utilisez rclone, rclone-browser ou n'importe quel logiciel de montage de volume S3 compatible si vous ne voulez pas devenir dingue avec la console web de renterd... qui est une catastrophe !
    Vous allez expérimenter de graves problèmes avec la console web.
    Donc lancez renterd en tâche de fond (la version CLI), puis connectez votre logiciel S3 compatible (voir l'article pour connecter rclone-browser pour savoir comment faire) pour avoir un volume sur votre machine... c'est le jour et la nuit !

    - L'assistance utilisateur sur Discord : Je vois des centaines de messages passer chaque semaine... Moi, on ne m'a simplement jamais répondu quand j'ai poliment posé une simple question. Peu d'assistance donc. La communauté en a ras le bol des débutants. C'est un truc de geek, avec une communauté bizarre, démerdez-vous !

    - Quid de la stabilité ?
    C'est toujours une question sensible.
    Les membres hébergeurs du réseau Sia ne sont pas des entreprises ! Il existe donc un doute légimite.
    Ils peuvent arrêter leur activité du jour au lendemain, poussant votre renterd à répliquer les données ailleurs.

    Pour ma part, je n'ai pas expérimenté de problème de stabilité particulier. Certes, des contrats se changent constamment, mais je n'ai pas eu de pertes depuis que j'utilise une application S3 compatible (par contre avec la console web... ce fut une autre histoire !!!). Je trouve que le réseau est plutôt stable (par rapport à ce que j'ai lu par-ci par-là). C'est un très bon point.
    De toute façon, de la même manière qu'on ne conserve jamais une seule source de données, on n'utilise pas qu'un seul média pour archiver. A coupler avec autre chose (disque dur, bande magnétique, M-Disc etc...)


    En conclusion :
    Sia est un système tout à fait passionnant, qui respecte un esprit décentralisé étonnant, mais qui souffre de contraintes d'utilisation sévères pour un débutant.
    Si de nombreuses personnes se sont inquiétées de la santé de l'écosystème, ce dernier a opéré un renouveau, je ne vois donc aucun danger pour sa pérennité (sauf à ce que des restrictions de bande passantes débarquent un peu partout dans le monde... ne riez pas, c'est pour bientôt !).
    Sia n'est pas vraiment conçu pour les gens souhaitant une solution simple et accessible de tout appareil (en gros, une solution répondant aux standards actuels). Un bon informaticien saura rapidement contourner les difficultés et mettre en place quelque chose de solide avec Sia, mais un utilisateur lambda aura certainement beaucoup de mal.



    Bref, je m'en sers toujours actuellement (je continue de tester régulièrement), mais je ne peux pas, raisonnablement, le défendre face à des solutions beaucoup plus pratiques, comme Storj (même si je pense le système beaucoup plus sûr que storj)
    Un seul mot d'ordre donc : si vous souhaitez utiliser Sia pour de l'archivage, il faudra vous armer de rigueur et de nombreux essais.


    Tags Tags : , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :