
Trotz der Tatsache, dass es auf Habré bereits
keinen Artikel ĂŒber IPFS gab .
Ich werde sofort klarstellen, dass ich kein Experte auf diesem Gebiet bin, aber ich habe mehr als einmal Interesse an dieser Technologie gezeigt, aber der Versuch, damit zu spielen, verursachte oft Schmerzen. Heute habe ich die Experimente wieder aufgenommen und einige Ergebnisse erhalten, die ich gerne teilen möchte. Kurz gesagt, der Prozess der Installation von IPFS und einigen Chips wird beschrieben (alles wurde auf Ubuntu gemacht, auf anderen Plattformen, die ich nicht ausprobiert habe).
Wenn Sie verpasst haben, was IPFS ist, wird es hier ausfĂŒhrlich beschrieben: habr.com/en/post/314768Installation
Aus GrĂŒnden der Reinheit des Experiments schlage ich vor, es sofort auf einem externen Server zu installieren, da wir einige Fallstricke bei der Arbeit im lokalen Modus und auf Remote-Basis berĂŒcksichtigen werden. Dann, wenn gewĂŒnscht, wird es nicht lange abgerissen, es gibt nicht viele.Los geht's
Offizielle DokumentationDie aktuelle Version finden Sie unter
golang.org/dlHinweis: Es ist besser, IPFS im Namen des Benutzers zu installieren, der die hĂ€ufigsten verwenden soll. Tatsache ist, dass wir im Folgenden die Option der Montage ĂŒber FUSE in Betracht ziehen und es dort Feinheiten gibt.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
Dann mĂŒssen Sie die Umgebung aktualisieren (weitere Details hier:
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
ĂberprĂŒfen Sie, ob go installiert ist
go version
Installieren Sie IPFS
Die Installation ĂŒber
ipfs-update hat mir am besten gefallen.
Installieren Sie es mit dem Befehl
go get -v -u github.com/ipfs/ipfs-update
Danach können Sie folgende Befehle ausfĂŒhren:
ipfs-update-Versionen - um alle verfĂŒgbaren Versionen zum Download
anzuzeigen .
ipfs-update version - um die aktuell installierte Version anzuzeigen (bis wir IPFS installiert haben, wird es keine sein).
ipfs-update Neueste installieren - Installieren Sie die neueste Version von IPFS. Anstelle der neuesten können Sie eine beliebige gewĂŒnschte Version aus der Liste der verfĂŒgbaren Versionen angeben.
Installieren Sie ipfs
ipfs-update install latest
ĂberprĂŒfen Sie
ipfs --version
Direkt mit der Installation im Allgemeinen alles.
IPFS-Start
Initialisierung
Zuerst mĂŒssen Sie die Initialisierung durchfĂŒhren.
ipfs init
Als Antwort erhalten Sie ungefÀhr Folgendes:
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
Sie können den vorgeschlagenen Befehl ausfĂŒhren
ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
Ergebnis 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
Hier fĂ€ngt meiner Meinung nach das Interessante schon an. In der Installationsphase beginnen die Jungs bereits, ihre eigenen Technologien einzusetzen. Der vorgeschlagene Hash QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv - nicht speziell fĂŒr Sie generiert, sondern in die Version eingenĂ€ht. Das heiĂt, vor der Veröffentlichung haben sie einen BegrĂŒĂungstext vorbereitet, ihn in IPFS eingefĂŒgt und die Adresse dem Installationsprogramm hinzugefĂŒgt. Meiner Meinung nach ist das sehr cool. Und diese Datei (genauer gesagt der gesamte Ordner) kann jetzt nicht nur lokal, sondern auch auf dem offiziellen Gateway
ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv angezeigt werden . Gleichzeitig können Sie sicher sein, dass sich der Inhalt des Ordners in keiner Weise geÀndert hat, denn wenn er sich geÀndert hÀtte, hÀtte sich auch der Hash geÀndert.
Ăbrigens hat IPFS in diesem Fall einige Ăhnlichkeiten mit dem Versionskontrollserver. Wenn Sie Ănderungen an den Quelldateien des Ordners vornehmen und den Ordner erneut in IPFS einfĂŒgen, erhĂ€lt er eine neue Adresse. Gleichzeitig wird der alte Ordner nicht einfach so irgendwohin gehen und unter seiner frĂŒheren Adresse verfĂŒgbar sein.Direkter Start
ipfs daemon
Sie sollten eine Antwort wie diese erhalten:
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/xxxx/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
Wir öffnen die TĂŒr zum Internet
Beachten Sie diese beiden Zeilen:
WebUI: http://127.0.0.1:5001/webui Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Wenn Sie IPFS lokal installiert haben, greifen Sie auf IPFS-Schnittstellen unter lokalen Adressen zu und alles steht Ihnen zur VerfĂŒgung (z. B.
localhost : 5001 / webui /). Bei der Installation auf einem externen Server sind die Gateways jedoch standardmĂ€Ăig fĂŒr das Internet geschlossen. Es gibt zwei Gateways:
- Admin Webui ( Github ) auf Port 5001.
- Externe API an Port 8080 (schreibgeschĂŒtzt).
Bisher können Sie beide Ports fĂŒr Experimente öffnen (5001 und 8080), aber auf dem Battle Server sollte Port 5001 natĂŒrlich mit einer Firewall geschlossen werden. Es gibt 4001 Ports, die benötigt werden, damit andere Peers Sie finden können. Es sollte fĂŒr externe Anfragen offen bleiben.
Ăffnen Sie ~ / .ipfs / config zum Bearbeiten und suchen Sie die folgenden Zeilen darin:
"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" }
Ăndern Sie 127.0.0.1 in die IP Ihres Servers und speichern Sie die Datei. Starten Sie dann ipfs neu (stoppen Sie den laufenden Befehl Strg + C und fĂŒhren Sie ihn erneut aus).
Muss bekommen
... WebUI: http://ip__:5001/webui Gateway (readonly) server listening on /ip4/ip__/tcp/8080
Jetzt sollten externe Schnittstellen verfĂŒgbar sein.
Auschecken
http://__ip_:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
Die obige Readme-Datei sollte geöffnet werden.
http://__ip_:5001/webui/
Das Webinterface sollte sich öffnen.
Wenn webui fĂŒr Sie funktioniert, können die IPFS-Einstellungen direkt darin geĂ€ndert werden, einschlieĂlich der Anzeige von Statistiken. Im Folgenden werden jedoch Konfigurationsoptionen direkt ĂŒber die Konfigurationsdatei betrachtet, was im Allgemeinen nicht kritisch ist. Es ist nur besser, sich genau zu merken, wo die Konfiguration liegt und was damit zu tun ist. Wenn die Web-Schnauze nicht funktioniert, wird es schwieriger.Richten Sie eine WeboberflĂ€che fĂŒr die Arbeit mit Ihrem Server ein
Hier ist die erste Falle, die etwa drei Stunden verbracht wurde.
Wenn Sie IPFS auf einem externen Server installiert haben, IPFS jedoch nicht lokal installiert oder gestartet haben, sollte beim Zugriff auf / webui in der WeboberflÀche ein Verbindungsfehler angezeigt werden:

Tatsache ist, dass Webui meiner Meinung nach sehr vieldeutig funktioniert. ZunĂ€chst versucht er, eine Verbindung zur API des Servers herzustellen, auf dem die Schnittstelle geöffnet ist (natĂŒrlich basierend auf der Adresse im Browser). und wenn es dort nicht funktioniert, versucht es, eine Verbindung zum lokalen Gateway herzustellen. Und wenn IPFS lokal ausgefĂŒhrt wird, funktioniert Ihr Webui einwandfrei. Nur Sie arbeiten mit lokalem IPFS, nicht mit externem, obwohl Sie Webui auf einem externen Server geöffnet haben. Laden Sie dann Dateien hoch, aber aus irgendeinem Grund werden sie auf einem externen Server nicht einfach so angezeigt ...
Und wenn es nicht lokal ausgefĂŒhrt wird, wird ein Verbindungsfehler angezeigt. In unserem Fall ist der Fehler höchstwahrscheinlich auf CORS zurĂŒckzufĂŒhren, das auch von webui angezeigt wird und vorschlĂ€gt, eine Konfiguration hinzuzufĂŒgen.
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"]'
Ich habe gerade einen Platzhalter registriert
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
HinzugefĂŒgte Header befinden sich alle in derselben ~ / .ipfs / config. In meinem Fall ist es
"API": { "HTTPHeaders": { "Access-Control-Allow-Origin": [ "*" ] } },
Wir starten ipfs neu und stellen fest, dass webui erfolgreich eine Verbindung hergestellt hat (zumindest sollte dies der Fall sein, wenn Sie die Gateways fĂŒr Anfragen von auĂen geöffnet haben, wie oben beschrieben).
Jetzt können Sie Ordner und Dateien direkt ĂŒber die WeboberflĂ€che hochladen und eigene Ordner erstellen.
HĂ€ngen Sie das FUSE-Dateisystem ein
Das ist ein ziemlich interessanter Trick.
Wir können Dateien (sowie Ordner) nicht nur ĂŒber die WeboberflĂ€che, sondern auch direkt im Terminal hinzufĂŒgen
ipfs add test -r added QmfYuz2gegRZNkDUDVLNa5DXzKmxxxxxxxxxx test/test.txt added QmbnzgRVAP4fL814h5mQttyqk1aURxxxxxxxxxxxx test
Der letzte Hash ist der Root-Ordner-Hash.
Mit diesem Hash können wir den Ordner auf jedem ipfs-Knoten öffnen (der unseren Knoten finden und den Inhalt abrufen kann), in der WeboberflĂ€che auf Port 5001 oder 8080 oder lokal ĂŒber ipfs.
ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt
Sie können es aber trotzdem wie einen normalen Ordner öffnen.
Lassen Sie uns zwei Ordner im Stammverzeichnis erstellen und sie unserem Benutzer zuweisen.
sudo mkdir /ipfs /ipns sudo chown USERNAME /ipfs /ipns
und starten Sie ipfs mit dem Flag --mount neu
ipfs daemon --mount
Sie können Ordner an anderen Stellen erstellen und den Pfad zu ihnen ĂŒber den ipfs-Daemon --mount --mount-ipfs / ipfs_path --mount-ipns / ipns_path angebenJetzt ist das Lesen aus diesem Ordner etwas ungewöhnlich.
ls -la /ipfs ls: reading directory '/ipfs': Operation not permitted total 0
Das heiĂt, es gibt keinen direkten Zugriff auf das Stammverzeichnis dieses Ordners. Aber dann können Sie den Inhalt erhalten, indem Sie den Hash kennen.
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
DarĂŒber hinaus funktioniert bei der Angabe eines Pfads auch die automatische VervollstĂ€ndigung innerhalb des Ordners.
Wie oben erwĂ€hnt, gibt es bei einem solchen Mount Feinheiten: StandardmĂ€Ăig sind gemountete FUSE-Ordner nur fĂŒr den aktuellen Benutzer zugĂ€nglich (selbst root kann nicht aus einem solchen Ordner lesen, ganz zu schweigen von anderen Benutzern im System). Wenn Sie diese Ordner anderen Benutzern zugĂ€nglich machen möchten, mĂŒssen Sie in der Konfiguration "FuseAllowOther": false in "FuseAllowOther": true Ă€ndern. Das ist aber noch nicht alles. Wenn Sie IPFS als root ausfĂŒhren, ist alles in Ordnung. Und wenn Sie im Auftrag eines regulĂ€ren Benutzers (wenn auch sudo) eine Fehlermeldung erhalten
mount helper error: fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
In diesem Fall mĂŒssen Sie /etc/fuse.conf reparieren, indem Sie die Zeile #user_allow_other auskommentieren.
Danach starten wir ipfs neu.
Bekannte Probleme mit FUSE
Mehr als einmal wurde das Problem festgestellt, dass nach dem Neustart von ipfs mit dem Mounten (oder in anderen FĂ€llen) die Mountpunkte / ipfs und / ipns nicht mehr verfĂŒgbar sind. Es gibt keinen Zugriff auf sie, aber ls -la / ipfs zeigt ???? in der Liste der Rechte.
Eine solche Lösung gefunden:
fusermount -z -u /ipfs fusermount -z -u /ipns
Starten Sie dann ipfs neu.
Service hinzufĂŒgen
Der Start im Terminal ist natĂŒrlich nur fĂŒr PrimĂ€rtests geeignet. Im Kampfmodus sollte der DĂ€mon beim Systemstart automatisch gestartet werden.
Erstellen Sie im Auftrag von sudo die Datei /etc/systemd/system/ipfs.service und schreiben Sie darauf:
[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 muss natĂŒrlich durch Ihren Benutzer ersetzt werden (und möglicherweise unterscheidet sich der vollstĂ€ndige Pfad zum ipfs-Programm fĂŒr Sie (Sie mĂŒssen den vollstĂ€ndigen Pfad angeben)).
Wir aktivieren den Service.
sudo systemctl enable ipfs.service
Wir starten den Service.
sudo service ipfs start
ĂberprĂŒfen Sie den Status des Dienstes.
sudo service ipfs status
Aus GrĂŒnden der Reinheit des Experiments kann der Server in Zukunft neu gestartet werden, um zu ĂŒberprĂŒfen, ob ipfs automatisch erfolgreich gestartet wird.
FĂŒgen Sie die Feste hinzu, die wir kennen
Betrachten Sie die Situation, in der IPFS-Knoten sowohl auf einem externen Server als auch lokal installiert sind. Auf einem externen Server fĂŒgen wir eine Art Datei hinzu und versuchen, diese lokal per CID ĂŒber IPFS abzurufen. Was wird passieren? NatĂŒrlich weiĂ der lokale Server höchstwahrscheinlich nichts ĂŒber unseren externen Server und versucht einfach, die Datei anhand der CID zu finden, indem er alle ihm zur VerfĂŒgung stehenden IPFS-Peers "fragt" (mit denen er es bereits geschafft hat, sich "kennenzulernen"). Diese wiederum werden andere fragen. Und so weiter, bis die Datei gefunden ist. Das gleiche passiert, wenn wir versuchen, die Datei ĂŒber das offizielle
ipfs.io- Gateway
abzurufen . Wenn Sie GlĂŒck haben, wird die Datei in wenigen Sekunden gefunden. Wenn nicht, wird es in wenigen Minuten nicht gefunden, was den Arbeitskomfort stark beeintrĂ€chtigt. Wir wissen jedoch, wo diese Datei zuerst angezeigt wird. Warum sagen wir unserem lokalen Server nicht sofort "Schau zuerst dort"? Anscheinend kann dies getan werden.
1. Gehen Sie zum Remote-Server und suchen Sie in der Konfiguration nach ~ / .ipfs / config
"Identity": { "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuxxxxxxxxxxxxxxxx",
2. Wir fĂŒhren den ipfs-Status des sudo-Dienstes aus und suchen darin nach Swarm-EintrĂ€gen, zum Beispiel:
Swarm announcing /ip4/ip__/tcp/4001
3. Daraus fĂŒgen wir die allgemeine Adresse des Formulars "/ ip4 / ip_your_server / tcp / 4001 / ipfs / $ PeerID" hinzu.
4. Aus GrĂŒnden der ZuverlĂ€ssigkeit werden wir ĂŒber unser lokales Webui versuchen, diese Adresse Peers hinzuzufĂŒgen.

5. Wenn alles in Ordnung ist, öffnen Sie die lokale Konfiguration ~ / .ipfs / config und suchen Sie darin "Bootstrap": [...
und fĂŒgen Sie zuerst die empfangene Adresse zum Array hinzu.
Starten Sie IPFS neu.
FĂŒgen Sie nun die Datei zum externen Server hinzu und versuchen Sie, sie auf dem lokalen Server anzufordern. Muss schnell fliegen.
Diese FunktionalitĂ€t ist jedoch immer noch instabil. Soweit ich weiĂ, Ă€ndert ipfs im Laufe der Arbeit die Liste der aktiven Verbindungen mit Peers, auch wenn wir die Peer-Adresse in Bootstrap angeben. In jedem Fall wird hier eine Diskussion darĂŒber und ĂŒber die Möglichkeit der Anzeige konstanter Peers gefĂŒhrt
, und es scheint, dass ipfs@5.0+ einige Funktionen hinzufĂŒgen soll
Eine Liste der aktuellen Peers kann sowohl im Webui als auch im Terminal angezeigt werden.
ipfs swarm peers
Sowohl dort als auch dort können Sie Ihr Fest manuell hinzufĂŒgen.
ipfs swarm connect "/ip4/ip__/tcp/4001/ipfs/$PeerID"
Bis Sie diese FunktionalitĂ€t verbessert haben, können Sie ein Tool schreiben, um nach einer Verbindung mit dem gewĂŒnschten Peer zu suchen und, falls nicht, eine Verbindung hinzuzufĂŒgen.
Argumentation
Unter denjenigen, die bereits mit IPFS vertraut sind, gibt es sowohl Argumente fĂŒr als auch gegen IPFS. Im Prinzip hat mich der Tag vor der gestrigen
Diskussion dazu veranlasst, IPFS erneut zu graben. Und in Bezug auf die oben erwÀhnte Diskussion: Ich kann nicht sagen, dass ich stark gegen einige der oben genannten Argumente bin (ich bin nur nicht einverstanden mit der Tatsache, dass eineinhalb Programmierer IPFS verwenden). Im Allgemeinen haben beide auf ihre Weise Recht (insbesondere der
Kommentar zu Schecks lĂ€sst Sie nachdenken). Aber wenn Sie die moralische und rechtliche Bewertung beiseite lassen, wer wird dann eine technische Bewertung dieser Technologie abgeben? Persönlich habe ich eine Art inneres GefĂŒhl, dass "dies sicher notwendig ist, es hat bestimmte Perspektiven." Aber warum genau, es gibt keinen klaren Wortlaut. Wenn Sie sich beispielsweise die vorhandenen zentralisierten Tools ansehen, sind sie in vielerlei Hinsicht weit voraus (StabilitĂ€t, Geschwindigkeit, Verwaltbarkeit usw.). Trotzdem habe ich einen Gedanken, der sinnvoll erscheint und der ohne solche dezentralen Systeme kaum umgesetzt werden kann. NatĂŒrlich winke ich wirklich, aber ich wĂŒrde es so formulieren: Das Prinzip der Verbreitung von Informationen im Internet muss geĂ€ndert werden.
Ich werde es erklĂ€ren. Wenn Sie so denken, werden unsere Informationen jetzt nach dem Prinzip verbreitet: "Ich hoffe, dass die Person, an die ich sie ĂŒbertragen habe, sie schĂŒtzt und sie nicht verloren geht oder an diejenigen geht, fĂŒr die sie nicht bestimmt waren." Zum Beispiel ist es einfach, verschiedene Mail-Dienste, Cloud-Speicher usw. in Betracht zu ziehen. Und was haben wir am Ende? Auf dem HabrĂ© Hub steht
Informationssicherheit an erster Stelle und fast jeden Tag erhalten wir Nachrichten ĂŒber ein weiteres globales Leck. Im Prinzip ist das Interessanteste in dem wunderbaren Artikel <irony> </ ironony> aufgefĂŒhrt. Der
Sommer ist fast vorbei. Es sind fast keine Daten durchgesickert . Das heiĂt, die wichtigsten Internetgiganten werden immer gröĂer, sie sammeln immer mehr Informationen und solche Lecks sind eine Art informative atomare Explosionen. Das ist noch nie passiert und hier wieder. Obwohl viele verstehen, dass Risiken bestehen, werden sie ihre Daten weiterhin Drittunternehmen anvertrauen. Erstens gibt es nicht viel Alternative, und zweitens versprechen sie, dass sie alle Löcher geflickt haben und dies nie wieder passieren wird.
Welche Option sehe ich? Es scheint mir, dass Daten zunĂ€chst offen verteilt werden sollten. Offenheit bedeutet in diesem Fall jedoch nicht, dass alles leicht zu lesen sein sollte. Ich spreche von der Offenheit der Speicherung und Verteilung, aber nicht von der völligen Offenheit beim Lesen. Ich gehe davon aus, dass Informationen mit öffentlichen SchlĂŒsseln verteilt werden sollten. Immerhin ist das Prinzip der öffentlichen / privaten SchlĂŒssel schon alt, fast wie im Internet. Wenn die Informationen nicht vertraulich sind und fĂŒr einen weiten Bereich ausgelegt sind, werden sie sofort mit dem öffentlichen SchlĂŒssel angelegt (aber immer noch in verschlĂŒsselter Form, nur jeder kann sie mit dem vorhandenen SchlĂŒssel entschlĂŒsseln). Wenn nicht, wird es ohne öffentlichen SchlĂŒssel angelegt, und der SchlĂŒssel selbst wird an denjenigen ĂŒbertragen, der Zugriff auf diese Informationen haben muss. Gleichzeitig sollte derjenige, der es lesen muss, nur einen SchlĂŒssel haben, und wo diese Informationen zu erhalten sind, sollte es nicht in die Höhe schnellen - er zieht sie einfach aus dem Netzwerk (dies ist das neue Prinzip der Verteilung auf den Inhalt und nicht auf die Adresse).
FĂŒr einen Massenangriff mĂŒssen Angreifer daher eine groĂe Anzahl privater SchlĂŒssel erhalten, und es ist unwahrscheinlich, dass sie dies an einem Ort tun können. Diese Aufgabe ist meines Erachtens schwieriger als das Hacken eines bestimmten Dienstes.
Und hier schlieĂt sich ein weiteres Problem: die BestĂ€tigung der Urheberschaft. Jetzt finden Sie im Internet viele Zitate unserer Freunde. Aber wo ist die Garantie, dass sie sie geschrieben haben? Wenn nun jede solche Aufnahme von einer digitalen Signatur begleitet wĂŒrde, wĂ€re dies viel einfacher. Und egal wo diese Informationen liegen, die Hauptsache ist die Unterschrift, die offensichtlich schwer zu fĂ€lschen ist.
Und hier ist das Interessante: IPFS enthĂ€lt bereits VerschlĂŒsselungstools (schlieĂlich basiert es auf Blockchain-Technologie). Der private SchlĂŒssel wird sofort in der Konfiguration angegeben.
"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.................
+ / NDI51jA0MRzpBviM3o / c / Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m + JoEplHjtc4KS5 "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.................
7LMS7jKpwJNJBiFAa / Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj / Fb + GJMiciJUZaAjgHoaZrrf2b / Eii3z0i + QIVG7OypXT3Z9JUS60 "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.................
Zijgq27oLyxKNr9T7 "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.................
Ich bin kein Sicherheitsspezialist und kann nicht genau wissen, wie ich es richtig verwenden soll, aber es scheint mir, dass diese SchlĂŒssel auf der Ebene des Austauschs zwischen IPFS-Knoten verwendet werden. Und auch
js-ipfs und solche Beispielprojekte wie
orbit-db , auf denen
orbit.chat funktioniert. Das heiĂt, theoretisch kann jedes GerĂ€t (mobil und nicht nur) einfach mit seinen eigenen VerschlĂŒsselungs- / EntschlĂŒsselungsmaschinen ausgestattet werden. In diesem Fall muss sich nur jeder um die Pflege seiner privaten SchlĂŒssel kĂŒmmern, und jeder ist fĂŒr seine eigene Sicherheit verantwortlich und nicht als Geisel eines anderen menschlichen Faktors in einem sehr beliebten Internetgiganten.