IPFS sans douleur (mais ce n'est pas exact)

IPFS sans douleur (mais ce n'est pas exact)

Malgré le fait que Habré était déjà plus d'un article sur IPFS.

Je préciserai tout de suite que je ne suis pas un expert dans ce domaine, mais j'ai manifesté plus d'une fois de l'intérêt pour cette technologie, mais essayer de jouer avec a souvent causé de la douleur. Aujourd'hui, j'ai recommencé à expérimenter et j'ai obtenu des résultats que j'aimerais partager. En bref, le processus d'installation d'IPFS et certaines fonctionnalités seront décrits (tout a été fait sur ubuntu, je ne l'ai pas essayé sur d'autres plateformes).

Si vous avez manqué ce qu'est IPFS, c'est écrit en détail ici : habr.com/en/post/314768

Installation

Pour la pureté de l'expérience, je suggère de l'installer immédiatement sur un serveur externe, car nous envisagerons certains pièges liés au travail en mode local et à distance. Ensuite, si vous le souhaitez, il ne sera pas démoli pendant longtemps, il n'y a pas grand-chose.

Installer aller

Documents officiels
Voir la version actuelle sur golang.org/dl

Remarque : il est préférable d'installer IPFS au nom de l'utilisateur qui est censé l'utiliser le plus souvent. Le fait est que ci-dessous, nous examinerons l'option de montage via FUSE et il y a des subtilités.

cd ~
curl -O https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz
tar xvf go1.12.9.linux-amd64.tar.gz
sudo chown -R root:root ./go
sudo mv go /usr/local
rm go1.12.9.linux-amd64.tar.gz

Ensuite, vous devez mettre à jour l'environnement (plus de détails ici : golang.org/doc/code.html#GOPATH).

echo 'export GOPATH=$HOME/work' >> ~/.bashrc
echo 'export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc

Vérifier que go est installé

go version

Installer IPFS

J'ai le plus aimé la méthode d'installation mise à jour ipfs.

Installez-le avec la commande

go get -v -u github.com/ipfs/ipfs-update

Après cela, vous pouvez exécuter les commandes suivantes :

versions de mise à jour ipfs - pour voir toutes les versions disponibles en téléchargement.
version de mise à jour ipfs - pour voir la version actuellement installée (jusqu'à ce que nous ayons installé IPFS, il n'y en aura pas).
ipfs-update installer la dernière - installez la dernière version d'IPFS. Au lieu de la dernière, respectivement, vous pouvez spécifier la version souhaitée dans la liste des versions disponibles.

Installation d'ipfs

ipfs-update install latest

Chèque

ipfs --version

Directement à l'installation en général tout.

Démarrer IPFS

Initialisation

Vous devez d'abord effectuer l'initialisation.

ipfs init

En réponse, vous recevrez quelque chose comme ceci :

 ipfs init
initializing IPFS node at /home/USERNAME/.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmeCWX1DD7HnXXXXXXXXXXXXXXXXXXXXXXXXxxx
to get started, enter:
	ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Vous pouvez exécuter la commande suggérée

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Résultat

Hello and Welcome to IPFS!

██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗  ███████╗
██║██╔═══╝ ██╔══╝  ╚════██║
██║██║     ██║     ███████║
╚═╝╚═╝     ╚═╝     ╚══════╝

If you're seeing this, you have successfully installed
IPFS and are now interfacing with the ipfs merkledag!

 -------------------------------------------------------
| Warning:                                              |
|   This is alpha software. Use at your own discretion! |
|   Much is missing or lacking polish. There are bugs.  |
|   Not yet secure. Read the security notes for more.   |
 -------------------------------------------------------

Check out some of the other files in this directory:

  ./about
  ./help
  ./quick-start     <-- usage examples
  ./readme          <-- this file
  ./security-notes

Ici, à mon avis, l'intéressant commence. Les gars à l'étape de l'installation commencent déjà à utiliser leurs propres technologies. Le hachage proposé QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv n'est pas généré spécifiquement pour vous, mais cousu dans la version. C'est-à-dire qu'avant la sortie, ils ont préparé un texte de bienvenue, l'ont versé dans IPFS et ont ajouté l'adresse au programme d'installation. Je pense que c'est très cool. Et ce fichier (plus précisément, l'intégralité du dossier) peut désormais être consulté non seulement localement, mais également sur la passerelle officielle ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv. Dans le même temps, vous pouvez être sûr que le contenu du dossier n'a en aucun cas changé, car s'il avait changé, le hachage aurait également changé.

Soit dit en passant, dans ce cas, IPFS présente certaines similitudes avec le serveur de contrôle de version. Si vous apportez des modifications aux fichiers source du dossier et versez à nouveau le dossier dans IPFS, il recevra une nouvelle adresse. En même temps, l'ancien dossier n'ira nulle part comme ça et sera disponible à son adresse précédente.

Lancement direct

ipfs daemon

Vous devriez recevoir une réponse comme celle-ci :

ipfs daemon
Initializing daemon...
go-ipfs version: 0.4.22-
Repo version: 7
System version: amd64/linux
Golang version: go1.12.7
Swarm listening on /ip4/x.x.x.x/tcp/4001
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready

Ouvrir les portes d'Internet

Faites attention à ces deux lignes :

WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080

Maintenant, si vous avez installé IPFS localement, vous accéderez aux interfaces IPFS en utilisant des adresses locales et tout sera à votre disposition (par exemple, localhost:5001/webui/). Mais lorsqu'il est installé sur un serveur externe, par défaut, les passerelles sont fermées à Internet. Passerelles deux :

  1. administrateur de l'interface Web (github) sur le port 5001.
  2. API externe sur le port 8080 (lecture seule).

Jusqu'à présent, les deux ports (5001 et 8080) peuvent être ouverts pour des expériences, mais sur un serveur de combat, bien sûr, le port 5001 doit être fermé avec un pare-feu. Il existe également le port 4001, qui est nécessaire pour que d'autres pairs puissent vous trouver. Il doit être laissé ouvert aux demandes extérieures.

Ouvrez ~/.ipfs/config pour l'édition et trouvez-y ces lignes :

"Addresses": {
  "Swarm": [
    "/ip4/0.0.0.0/tcp/4001",
    "/ip6/::/tcp/4001"
  ],
  "Announce": [],
  "NoAnnounce": [],
  "API": "/ip4/127.0.0.1/tcp/5001",
  "Gateway": "/ip4/127.0.0.1/tcp/8080"
}

Remplacez 127.0.0.1 par l'adresse IP de votre serveur et enregistrez le fichier, puis redémarrez ipfs (arrêtez la commande en cours d'exécution avec Ctrl+C et redémarrez-la).

Devrait avoir

...
WebUI: http://ip_вашего_сервера:5001/webui
Gateway (readonly) server listening on /ip4/ip_вашего_сервера/tcp/8080

Maintenant, les interfaces externes devraient être disponibles.

Départ

http://домен_или_ip_сервера:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Le fichier readme ci-dessus devrait s'ouvrir.

http://домен_или_ip_сервера:5001/webui/

L'interface Web devrait s'ouvrir.

Si webui fonctionne pour vous, les paramètres IPFS peuvent y être modifiés directement, y compris l'affichage des statistiques, mais ci-dessous, je considérerai les options de configuration directement via le fichier de configuration, ce qui n'est généralement pas critique. Il est juste préférable de se rappeler exactement où se trouve la configuration et quoi en faire, sinon si la face Web ne fonctionne pas, ce sera plus difficile.

Configurer une interface Web pour travailler avec votre serveur

Voici le premier écueil, qui a duré environ trois heures.

Si vous avez installé IPFS sur un serveur externe, mais que vous n'avez pas installé ou exécuté IPFS localement, lorsque vous accédez à /webui dans l'interface Web, vous devriez voir une erreur de connexion :

IPFS sans douleur (mais ce n'est pas exact)

Le fait est que webui, à mon avis, fonctionne de manière très ambiguë. Tout d'abord, il essaie de se connecter à l'API du serveur sur lequel l'interface est ouverte (en fonction de l'adresse dans le navigateur, bien sûr). et s'il y échoue, il essaie de se connecter à la passerelle locale. Et si vous avez IPFS exécuté localement, alors webui fonctionnera bien pour vous, seulement vous travaillerez avec IPFS local, et non externe, bien que vous ayez ouvert webui sur un serveur externe. Ensuite, vous téléchargez les fichiers, mais pour une raison quelconque, vous ne les voyez pas comme ça sur un serveur externe…

Et s'il ne s'exécute pas localement, nous obtenons une erreur de connexion. Dans notre cas, l'erreur est probablement due à CORS, qui est également indiqué par webui, suggérant d'ajouter un fichier config.

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://ip_вашего сервера:5001", "http://127.0.0.1:5001", "https://webui.ipfs.io"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'

Je viens d'enregistrer un joker

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

Les en-têtes ajoutés se trouvent dans le même fichier ~/.ipfs/config. Dans mon cas c'est

  "API": {
    "HTTPHeaders": {
      "Access-Control-Allow-Origin": [
        "*"
      ]
    }
  },

Nous redémarrons ipfs et nous voyons que webui s'est connecté avec succès (en tout cas, il devrait, si vous avez ouvert les passerelles pour les demandes de l'extérieur, comme décrit ci-dessus).

Vous pouvez désormais télécharger des dossiers et des fichiers directement via l'interface Web, ainsi que créer vos propres dossiers.

Montage du système de fichiers FUSE

Voici une fonctionnalité assez intéressante.

Fichiers (ainsi que dossiers), nous pouvons ajouter non seulement via l'interface Web, mais aussi directement dans le terminal, par exemple

ipfs add test -r
added QmfYuz2gegRZNkDUDVLNa5DXzKmxxxxxxxxxx test/test.txt
added QmbnzgRVAP4fL814h5mQttyqk1aURxxxxxxxxxxxx test

Le dernier hachage est le hachage du dossier racine.

En utilisant ce hachage, nous pouvons ouvrir un dossier sur n'importe quel nœud ipfs (qui peut trouver notre nœud et obtenir le contenu), nous pouvons dans l'interface Web sur le port 5001 ou 8080, ou nous pouvons localement via ipfs.

ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx
QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt

Mais vous pouvez toujours l'ouvrir comme un dossier normal.

Créons deux dossiers à la racine et accordons-leur des droits à notre utilisateur.

sudo mkdir /ipfs /ipns
sudo chown USERNAME /ipfs /ipns

et redémarrez ipfs avec l'indicateur --mount

ipfs daemon --mount

Vous pouvez créer des dossiers à d'autres endroits et spécifier leur chemin via les paramètres du démon ipfs -mount -mount-ipfs /ipfs_path -mount-ipns /ipns_path

Maintenant, la lecture de ce dossier est quelque peu inhabituelle.

ls -la /ipfs
ls: reading directory '/ipfs': Operation not permitted
total 0

Autrement dit, il n'y a pas d'accès direct à la racine de ce dossier. Mais vous pouvez obtenir le contenu en connaissant le hachage.

ls -la /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx
total 0
-r--r--r-- 1 root root 10 Aug 31 07:03 test.txt

cat /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx/test.txt 
test
test

Dans le même temps, même l'auto-complétion fonctionne à l'intérieur du dossier lorsque le chemin est spécifié.

Comme je l'ai dit plus haut, il y a des subtilités avec un tel montage : par défaut, les dossiers FUSE montés ne sont disponibles que pour l'utilisateur actuel (même root ne pourra pas lire à partir d'un tel dossier, sans parler des autres utilisateurs du système). Si vous souhaitez rendre ces dossiers accessibles aux autres utilisateurs, dans la configuration, vous devez modifier "FuseAllowOther": false en "FuseAllowOther": true. Mais ce n'est pas tout. Si vous exécutez IPFS en tant que root, tout va bien. Et si au nom d'un utilisateur régulier (même sudo), vous obtiendrez une erreur

mount helper error: fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf

Dans ce cas, vous devez modifier /etc/fuse.conf en décommentant la ligne #user_allow_other.

Après cela, redémarrez ipfs.

Problèmes connus avec FUSE

Le problème a été remarqué plus d'une fois qu'après avoir redémarré ipfs avec montage (et peut-être dans d'autres cas), les points de montage /ipfs et /ipns deviennent indisponibles. Il n'y a pas d'accès à eux, et ls -la /ipfs montre ???? dans la liste des droits.

Trouvé cette solution:

fusermount -z -u /ipfs
fusermount -z -u /ipns

Redémarrez ensuite ipfs.

Ajout d'un service

Bien sûr, l'exécution dans le terminal ne convient que pour les tests initiaux. En mode combat, le démon devrait démarrer automatiquement au démarrage du système.

Au nom de sudo, créez le fichier /etc/systemd/system/ipfs.service et écrivez-y :

[Unit]
Description=IPFS Daemon
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/home/USERNAME/work/bin/ipfs daemon --mount
User=USERNAME
Restart=always

[Install]
WantedBy=multi-user.target

USERNAME, bien sûr, doit être remplacé par votre utilisateur (et peut-être que le chemin complet vers le programme ipfs sera différent pour vous (vous devez spécifier le chemin complet)).

Nous activons le service.

sudo systemctl enable ipfs.service

Nous démarrons le service.

sudo service ipfs start

Vérification de l'état du service.

sudo service ipfs status

Pour la pureté de l'expérience, il sera possible de redémarrer le serveur dans le futur pour vérifier que ipfs démarre automatiquement avec succès.

Ajout de fêtes connues de nous

Considérez une situation où nous avons des nœuds IPFS installés à la fois sur un serveur externe et localement. Sur un serveur externe, nous ajoutons un fichier et essayons de l'obtenir via IPFS localement par CID. Que va-t-il se passer ? Bien sûr, le serveur local ne sait très probablement rien de notre serveur externe et va simplement essayer de trouver le fichier par CID en "demandant" à tous les pairs IPFS à sa disposition (avec lesquels il a déjà réussi à "faire connaissance"). Ceux-ci à leur tour demanderont aux autres. Et ainsi de suite, jusqu'à ce que le fichier soit trouvé. En fait, la même chose se produit lorsque nous essayons de faire passer le fichier via la passerelle officielle ipfs.io. Si vous avez de la chance, le fichier sera trouvé en quelques secondes. Et sinon, on ne le retrouvera même pas en quelques minutes, ce qui nuit grandement au confort de travail. Mais nous savons où ce fichier apparaîtra pour la première fois. Alors, pourquoi ne disons-nous pas immédiatement à notre serveur local "Cherchez-y d'abord" ? Apparemment, cela peut être fait.

1. Nous allons sur le serveur distant et regardons dans la configuration ~/.ipfs/config

"Identity": {
    "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuxxxxxxxxxxxxxxxx",

2. Exécutez sudo service ipfs status et recherchez les entrées Swarm dedans, par exemple :

Swarm announcing /ip4/ip_вашего_сервера/tcp/4001

3. Nous y ajoutons l'adresse générale de la forme "/ip4/ip_votre_serveur/tcp/4001/ipfs/$PeerID".

4. Pour plus de fiabilité, nous essaierons d'ajouter cette adresse aux pairs via notre interface Web locale.

IPFS sans douleur (mais ce n'est pas exact)

5. Si tout va bien, ouvrez la configuration locale ~ / .ipfs / config, recherchez «Bootstrap» dedans: [...
et ajoutez d'abord l'adresse reçue au tableau.

Redémarrez IPFS.

Ajoutons maintenant le fichier au serveur externe et essayons de le demander sur le serveur local. Devrait voler vite.

Mais cette fonctionnalité n'est pas encore stable. Autant que je sache, même si nous spécifions l'adresse d'un pair dans Bootstrap, ipfs modifie la liste des connexions actives avec les pairs pendant le fonctionnement. En tout cas, la discussion à ce sujet et les souhaits concernant la possibilité de spécifier des fêtes permanentes sont en cours ici et il semble que est attendu ajouter des fonctionnalités à [email protected]+

La liste des pairs actuels peut être consultée à la fois dans l'interface Web et dans le terminal.

ipfs swarm peers

Et ici et là, vous pouvez ajouter votre festin manuellement.

ipfs swarm connect "/ip4/ip_вашего_сервера/tcp/4001/ipfs/$PeerID"

Jusqu'à ce que cette fonctionnalité soit améliorée, vous pouvez écrire un outil pour vérifier une connexion au pair souhaité et, si ce n'est pas le cas, pour ajouter une connexion.

Raisonnement

Parmi ceux qui connaissent déjà IPFS, il existe à la fois des arguments pour et contre IPFS. En gros, hier discussion et m'a incité à creuser à nouveau dans IPFS. Et en ce qui concerne la discussion mentionnée ci-dessus : je ne peux pas dire que je m'oppose fermement à tout argument de ceux qui ont parlé (je ne suis en désaccord qu'avec le fait qu'un programmeur et demi utilise IPFS). En général, les deux ont raison à leur manière (surtout remarque sur les chèques qui vous fait penser). Mais si l'on écarte l'appréciation morale et juridique, qui donnera une appréciation technique de cette technologie ? Personnellement, j'ai une sorte de sentiment intérieur que "cela doit être fait sans équivoque, cela a certaines perspectives". Mais pourquoi exactement, il n'y a pas de formulation claire. Par exemple, si vous regardez les outils centralisés existants, à bien des égards, ils sont loin devant (stabilité, rapidité, gérabilité, etc.). Néanmoins, j'ai une pensée qui semble logique et qui peut difficilement être mise en œuvre sans de tels systèmes décentralisés. Bien sûr, je balance trop fort, mais je le formulerais ainsi : il faut changer le principe de diffusion de l'information sur Internet.

Laisse-moi expliquer. Si vous y réfléchissez, nous avons maintenant des informations distribuées selon le principe "J'espère que celui à qui je les ai données les protégera et qu'elles ne seront pas perdues ou reçues par ceux à qui elles n'étaient pas destinées". À titre d'exemple, il est facile de considérer divers services de messagerie, stockages en nuage, etc. Et on finit par quoi ? Sur le hub d'Habré Sécurité de l'information est en première ligne et presque tous les jours, nous recevons des informations sur une autre fuite mondiale. En principe, toutes les choses les plus intéressantes sont répertoriées dans <irony> merveilleux article L'été est presque terminé. Il ne reste presque plus de données non divulguées. Autrement dit, les principaux géants de l'Internet deviennent de plus en plus grands, ils accumulent de plus en plus d'informations et de telles fuites sont une sorte d'explosions atomiques d'informations. Cela ne s'est jamais produit auparavant, et le revoilà. Dans le même temps, bien que beaucoup comprennent qu'il existe des risques, ils continueront de confier leurs données à des sociétés tierces. Premièrement, il n'y a pas beaucoup d'alternative, et deuxièmement, ils promettent d'avoir réparé tous les trous et que cela ne se reproduira plus jamais.

Quelle option vois-je ? Il me semble que les données devraient initialement être distribuées ouvertement. Mais l'ouverture dans ce cas ne signifie pas que tout doit être facile à lire. Je parle de l'ouverture du stockage et de la distribution, mais pas de l'ouverture totale de la lecture. Je suppose que les informations doivent être distribuées avec des clés publiques. Après tout, le principe des clés publiques/privées est déjà ancien, un peu comme Internet. Si l'information n'est pas confidentielle et est destinée à un large cercle, elle est immédiatement présentée avec une clé publique (mais toujours sous forme cryptée, n'importe qui peut la décrypter avec la clé disponible). Et si ce n'est pas le cas, il est présenté sans clé publique et la clé elle-même est transférée à ce qui devrait avoir accès à ces informations. En même temps, celui qui devrait le lire ne devrait avoir qu'une clé, et où obtenir cette information, il ne devrait pas vraiment monter en flèche - il la tire simplement du réseau (c'est le nouveau principe de distribution par contenu, pas par adresse).

Ainsi, pour une attaque de masse, les attaquants devront obtenir un grand nombre de clés privées, et il est peu probable que cela se fasse en un seul endroit. Cette tâche, selon moi, est plus difficile que de pirater un service particulier.

Et ici un autre problème est clos : la confirmation de la paternité. Maintenant, sur Internet, vous pouvez trouver de nombreuses citations écrites par nos amis. Mais où est la garantie que ce sont eux qui les ont écrits ? Maintenant, si chacun de ces enregistrements était accompagné d'une signature numérique, ce serait beaucoup plus facile. Et peu importe où se trouvent ces informations, l'essentiel est la signature, qui, bien sûr, est difficile à falsifier.

Et voici ce qui est intéressant ici : IPFS propose déjà des outils de chiffrement (après tout, il est construit sur la technologie blockchain). La clé privée est immédiatement spécifiée dans le fichier config.

  "Identity": {
    "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuMxxxxxxxxxxxxxx",
    "PrivKey": "CAASqAkwggSkAgEAAoIBAQClZedVmj8JkPvT92sGrNIQmofVF3ne8xSWZIGqkm+t9IHNN+/NDI51jA0MRzpBviM3o/c/Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m+JoEplHjtc4KS5
pUEDqamve+xAJO8BWt/LgeRKA70JN4hlsRSghRqNFFwjeuBkT1kB6tZsG3YmvAXJ0o2uye+y+7LMS7jKpwJNJBiFAa/Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj/Fb+GJMiciJUZaAjgHoaZrrf2b/Eii3z0i+QIVG7OypXT3Z9JUS60
KKLfjtJ0nVLjAgMBAAECggEAZqSR5sbdffNSxN2TtsXDa3hq+WwjPp/908M10QQleH/3mcKv98FmGz65zjfZyHjV5C7GPp24e6elgHr3RhGbM55vT5dQscJu7SGng0of2bnzQCEw8nGD18dZWmYJsE4rUsMT3wXxhUU4s8/Zijgq27oLyxKNr9T7
2gxqPCI06VTfMiCL1wBBUP1wHdFmD/YLJwOjV/sVzbsl9HxqzgzlDtfMn/bJodcURFI1sf1e6WO+MyTc3.................

Je ne suis pas un spécialiste de la sécurité et ne sais pas exactement comment l'utiliser correctement, mais il me semble que ces clés sont utilisées au niveau des échanges entre nœuds IPFS. Et aussi js-ipfs et des exemples de projets tels que orbite-dbsur lequel ça marche orbite.chat. C'est-à-dire que, théoriquement, chaque appareil (mobile et pas seulement) peut être facilement équipé de ses propres machines de chiffrement-déchiffrement. Dans ce cas, il ne reste plus qu'à chacun de s'occuper de sauvegarder ses clés privées, et chacun sera responsable de sa propre sécurité, et ne sera pas l'otage d'un autre facteur humain sur un géant de l'Internet super populaire.

Seuls les utilisateurs enregistrés peuvent participer à l'enquête. se connecters'il te plait.

Avez-vous déjà entendu parler d'IPFS ?

  • Je n'ai jamais entendu parler d'IPFS, mais cela semble intéressant

  • Je n'ai pas entendu et je ne veux pas entendre

  • Entendu mais pas intéressé

  • Entendu, mais pas compris, mais maintenant ça semble intéressant

  • J'utilise activement IPFS depuis longtemps.

69 utilisateurs ont voté. 13 utilisateurs se sont abstenus.

Source: habr.com

Ajouter un commentaire