
Obwohl es auf Habr bereits .
Ich möchte gleich klarstellen, dass ich kein Experte auf diesem Gebiet bin, aber ich habe mich schon mehrmals fĂŒr diese Technologie interessiert. Meine Versuche, damit zu experimentieren, haben oft einige Schmerzen verursacht. Heute habe ich wieder mit Experimenten begonnen und einige Ergebnisse erzielt, die ich teilen möchte. Kurz gesagt, ich werde den Installationsprozess von IPFS und einige Tricks beschreiben (alles wurde unter Ubuntu durchgefĂŒhrt, auf anderen Plattformen habe ich es nicht ausprobiert).
Wenn Sie verpasst haben, was IPFS ist, ist hier alles recht ausfĂŒhrlich beschrieben:
Installation
FĂŒr die Sauberkeit des Experiments schlage ich vor, es auf einem externen Server zu installieren, da wir einige Stolpersteine bei der Arbeit im lokalen und entfernten Modus betrachten werden. spĂ€ter, wenn gewĂŒnscht, kann man es schnell entfernen, da nicht viel installiert wird.
Go installieren
Die aktuelle Version finden Sie unter
Hinweis: Es ist besser, IPFS unter dem Benutzernamen zu installieren, mit dem vorwiegend gearbeitet werden soll. Der Grund ist, dass wir weiter unten eine Variante mit der Montage ĂŒber und da gibt es einige Feinheiten.
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
Danach muss die Umgebung aktualisiert werden (mehr dazu hier: ).
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 versionIPFS installieren
Mir hat der Installationsweg ĂŒber .
am besten gefallen. Wir installieren es mit dem Befehl
go get -v -u github.com/ipfs/ipfs-update
Nach der Installation können Sie folgende Befehle ausfĂŒhren:
ipfs-update versions â um alle verfĂŒgbaren Versionen zum Herunterladen anzuzeigen.
ipfs-update version â um die aktuell installierte Version zu sehen (da wir IPFS noch nicht installiert haben, wird 'none' angezeigt).
ipfs-update install latest â um die neueste Version von IPFS zu installieren. Statt 'latest' kann man auch jede gewĂŒnschte Version aus der Liste der verfĂŒgbaren angeben.
IPFS installieren
ipfs-update install latest
ĂberprĂŒfen
ipfs --versionInsgesamt zur Installation ist alles gesagt.
IPFS starten
Initialisierung
Zuerst muss die Initialisierung ausgefĂŒhrt werden.
ipfs initAls Antwort erhalten Sie etwa Folgendes:
ipfs init
IPFS-Knoten wird bei /home/USERNAME/.ipfs initialisiert
erzeuge 2048-Bit-RSA-SchlĂŒsselpaar...fertig
Peer-IdentitÀt: QmeCWX1DD7HnXXXXXXXXXXXXXXXXXXXXXXXXxxx
Um zu beginnen, geben Sie ein:
ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
Sie können den vorgeschlagenen Befehl ausfĂŒhren
ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readmeErgebnis
Hallo und Willkommen bei IPFS!
ââââââââââ ââââââââââââââââ
âââââââââââââââââââââââââââ
âââââââââââââââââ ââââââââ
ââââââââââ ââââââ ââââââââ
ââââââ âââ ââââââââ
ââââââ âââ ââââââââ
Wenn Sie das hier sehen, haben Sie IPFS erfolgreich installiert
und arbeiten jetzt mit dem ipfs merkledag!
-------------------------------------------------------
| Warnung: |
| Dies ist Alpha-Software. Nutzen Sie sie auf eigene Gefahr! |
| Vieles fehlt oder ist nicht ausgereift. Es gibt Bugs. |
| Noch nicht sicher. Lesen Sie die Sicherheitsnotizen fĂŒr mehr. |
-------------------------------------------------------
Schauen Sie sich einige der anderen Dateien in diesem Verzeichnis an:
.\/about
.\/help
.\/quick-start <--- Anwendungsbeispiele
.\/readme <--- diese Datei
.\/security-notes
Hier beginnt meiner Meinung nach das Interessante. Die Jungs beginnen bereits wĂ€hrend der Installation ihre eigenen Technologien zu nutzen. Der vorgeschlagene Hash QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv â ist nicht extra fĂŒr Sie generiert, sondern in das Release eingebettet. Das bedeutet, dass sie vor dem Release den BegrĂŒĂungstext vorbereitet, in IPFS geleert und die Adresse in den Installer hinzugefĂŒgt haben. Ich finde das sehr cool. Diese Datei (genauer gesagt, den gesamten Ordner) kann jetzt nicht nur lokal, sondern auch ĂŒber das offizielle Gateway angesehen werden. . Dabei kann man sich sicher sein, dass der Inhalt des Ordners sich nicht verĂ€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 einem Versionskontrollserver. Wenn Ănderungen an den Quelldateien des Ordners vorgenommen werden und der Ordner erneut in IPFS geleert wird, bekommt er eine neue Adresse. Dabei verschwindet der alte Ordner nicht einfach und ist ĂŒber seine frĂŒhere Adresse weiterhin zugĂ€nglich.
Direkt starten
ipfs daemonSie sollten eine solche Antwort erhalten:
ipfs daemon
Daemon wird initialisiert...
go-ipfs Version: 0.4.22-
Repo-Version: 7
Systemversion: amd64/linux
Golang-Version: go1.12.7
Swarm lauscht auf /ip4/x.x.x.x/tcp/4001
Swarm lauscht auf /ip4/127.0.0.1/tcp/4001
Swarm lauscht auf /ip6/::1/tcp/4001
Swarm lauscht auf /p2p-circuit
Swarm kĂŒndigt an /ip4/127.0.0.1/tcp/4001
Swarm kĂŒndigt an /ip6/::1/tcp/4001
API-Server lauscht auf /ip4/127.0.0.1/tcp/5001
WebUI: http://127.0.0.1:5001/webui
Gateway (nur Lesen) Server lauscht auf /ip4/127.0.0.1/tcp/8080
Daemon ist bereit
Wir öffnen die TĂŒren zum Internet
Beachten Sie diese beiden Zeilen:
WebUI: http://127.0.0.1:5001/webui
Gateway (nur Lesen) Server lauscht auf /ip4/127.0.0.1/tcp/8080
Wenn Sie IPFS lokal installiert haben, werden Sie ĂŒber lokale Adressen auf die IPFS-Interfaces zugreifen und alles wird fĂŒr Sie verfĂŒgbar sein (zum Beispiel, :5001/webui/). Aber bei der Installation auf einem externen Server sind die Gateways standardmĂ€Ăig fĂŒr das Internet geschlossen. Es gibt zwei Gateways:
- Admin-Bereich webui () auf Port 5001.
- Externes API auf Port 8080 (nur lesend).
FĂŒr Experimente können beide Ports (5001 und 8080) geöffnet werden, aber auf dem Produktionsserver sollte Port 5001 natĂŒrlich durch die Firewall geschlossen sein. Es gibt auch Port 4001, der benötigt wird, damit andere Peers Sie finden können. Dieser sollte fĂŒr Anfragen von auĂen geöffnet bleiben.
Ăffnen Sie zur Bearbeitung ~/.ipfs/config und suchen Sie nach diesen Zeilen:
"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, danach starten Sie ipfs neu (unterbrochene Befehle mit Ctrl+C stoppen und erneut starten).
Sie sollten Folgendes erhalten
...
WebUI: http:\/\/ip_ihres_servers:5001\/webui
Gateway (nur lesend) Server lauscht auf \/ip4\/ip_ihres_servers\/tcp\/8080
Nun sollten die externen Schnittstellen verfĂŒgbar sein.
ĂberprĂŒfen Sie
http:\/\/domÀne_oder_ip_des_servers:8080\/ipfs\/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv\/readmeDie oben genannte README-Datei sollte sich öffnen.
http:\/\/domÀne_oder_ip_des_servers:5001\/webui\/Das Web-Interface sollte sich öffnen.
Wenn bei Ihnen webui funktioniert, können die IPFS-Einstellungen direkt dort geĂ€ndert werden, einschlieĂlich der Anzeige von Statistiken. Im Folgenden werde ich jedoch die Konfigurationsoptionen direkt ĂŒber die Konfigurationsdatei betrachten, was im Grunde genommen nicht kritisch ist. Es ist einfach besser, sich zu merken, wo die Konfigurationsdatei liegt und was damit zu tun ist, denn wenn die Web-OberflĂ€che nicht funktioniert, wird es schwieriger.
Wir konfigurieren das Web-Interface fĂŒr die Arbeit mit Ihrem Server
Hier ist der erste Stolperstein, an dem etwa drei Stunden investiert wurden.
Wenn Sie IPFS auf einem externen Server installiert haben, es aber nicht lokal installiert oder gestartet haben, sollten Sie beim Zugriff auf \/webui im Web-Interface eine Verbindungsfehler sehen:

Das Problem ist, dass webui meiner Meinung nach sehr zwiespĂ€ltig funktioniert. Zuerst versucht es, sich mit der API des Servers zu verbinden, auf dem die Schnittstelle geöffnet ist (natĂŒrlich basierend auf der Adresse im Browser). Wenn das nicht funktioniert, versucht es, sich mit dem lokalen Gateway zu verbinden. Und wenn Sie IPFS lokal ausgefĂŒhrt haben, funktioniert webui bei Ihnen einwandfrei, aber Sie arbeiten mit dem lokalen IPFS und nicht mit dem externen, obwohl Sie webui auf einem externen Server geöffnet haben. Dann laden Sie Dateien hoch, aber aus irgendeinem Grund sehen Sie sie einfach nicht auf dem externen Server...
Und wenn es auch lokal nicht gestartet ist, erhalten wir einen Verbindungsfehler. In unserem Fall ist der Fehler höchstwahrscheinlich auf CORS zurĂŒckzufĂŒhren, was auch die WeboberflĂ€che anzeigt und empfiehlt, die Konfiguration hinzuzufĂŒgen.
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://ip_ihrer_server: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 bei mir einfach ein Wildcard eingetragen.
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'Die hinzugefĂŒgten Header finden Sie alle in der gleichen Datei ~/.ipfs/config. In meinem Fall sieht das so aus:
"API": {
"HTTPHeaders": {
"Access-Control-Allow-Origin": [
"*"
]
}
},
Wir starten ipfs neu und sehen, dass die WeboberflĂ€che erfolgreich verbunden wurde (sollte sie zumindest, wenn Sie die Gateways fĂŒr externe Anfragen wie oben beschrieben geöffnet haben).
Jetzt können Sie direkt ĂŒber die WeboberflĂ€che Ordner und Dateien hochladen, sowie Ihre eigenen Ordner erstellen.
Einbinden des FUSE-Dateisystems
Das ist ein ziemlich interessantes Feature.
Dateien (wie auch Ordner) können nicht nur ĂŒber die WeboberflĂ€che, sondern auch direkt im Terminal hinzugefĂŒgt werden, zum Beispiel:
ipfs add test -r
added QmfYuz2gegRZNkDUDVLNa5DXzKmxxxxxxxxxx test/test.txt
added QmbnzgRVAP4fL814h5mQttyqk1aURxxxxxxxxxxxx test
Der letzte Hash ist der Hash des Hauptordners.
Mit diesem Hash können wir den Ordner auf jedem ipfs-Knoten öffnen (der unseren Knoten finden und den Inhalt abrufen kann), entweder ĂŒber die WeboberflĂ€che am Port 5001 oder 8080 oder lokal ĂŒber ipfs.
ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx
QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt
Aber man kann ihn auch wie einen normalen Ordner öffnen.
Erstellen wir zwei Ordner im Wurzelverzeichnis und geben wir die Berechtigungen dafĂŒr unserem Benutzer.
sudo mkdir /ipfs /ipns
sudo chown USERNAME /ipfs /ipns
und starten wir ipfs mit dem Flag âmount neu.
ipfs daemon --mountEs können auch Ordner an anderen Orten erstellt werden, und der Pfad zu ihnen kann ĂŒber die Parameter ipfs daemon âmount âmount-ipfs /ipfs_path âmount-ipns /ipns_path angegeben werden.
Jetzt 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 Wurzelverzeichnis dieses Ordners. Aber man kann den Inhalt abrufen, wenn man den Hash kennt.
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
Dabei funktioniert sogar die AutovervollstÀndigung innerhalb des Ordners, wenn der Pfad angegeben wird.
Wie ich bereits oben erwĂ€hnt habe, gibt es beim EinhĂ€ngen solcher FUSE-Ordner einige Feinheiten: standardmĂ€Ăig sind die gemounteten FUSE-Ordner nur fĂŒr den aktuellen Benutzer verfĂŒgbar (selbst root kann nicht auf einen solchen Ordner zugreifen, ganz zu schweigen von anderen Benutzern im System). Wenn Sie möchten, dass diese Ordner fĂŒr andere Benutzer zugĂ€nglich sind, mĂŒssen Sie in der Konfiguration «FuseAllowOther»: false auf «FuseAllowOther»: true Ă€ndern. Aber das ist noch nicht alles. Wenn Sie IPFS unter dem Namen root ausfĂŒhren, ist alles in Ordnung. Wenn Sie es jedoch unter dem Namen eines normalen Benutzers (selbst mit sudo) ausfĂŒhren, erhalten Sie einen Fehler.
mount helper error: fusermount: Option allow_other nur erlaubt, wenn 'user_allow_other' in /etc/fuse.conf gesetzt ist.In diesem Fall mĂŒssen Sie /etc/fuse.conf bearbeiten und die Zeile #user_allow_other auskommentieren.
Danach starten wir ipfs neu.
Bekannte Probleme mit FUSE
Es wurde mehrfach beobachtet, dass nach einem Neustart von ipfs mit EinhĂ€ngen (oder möglicherweise auch in anderen FĂ€llen) die EinhĂ€ngepunkte /ipfs und /ipns nicht mehr verfĂŒgbar sind. Es gibt keinen Zugang zu ihnen, und ls -la /ipfs zeigt ???? in der Liste der Berechtigungen an.
Ich habe folgende Lösung gefunden:
fusermount -z -u /ipfs
fusermount -z -u /ipnsDanach starten wir ipfs neu.
Dienste hinzufĂŒgen
NatĂŒrlich eignet sich der Start im Terminal nur fĂŒr erste Tests. Im Produktionsmodus sollte der Daemon automatisch beim Systemstart gestartet werden.
Unter sudo erstellen wir die Datei /etc/systemd/system/ipfs.service und schreiben Folgendes hinein:
[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 sollte natĂŒrlich durch Ihren Benutzer ersetzt werden (und möglicherweise ist der vollstĂ€ndige Pfad zur IPFS-Anwendung bei Ihnen anders (Sie mĂŒssen genau den vollstĂ€ndigen Pfad angeben)).
Aktivieren Sie den Dienst.
sudo systemctl enable ipfs.serviceStarten Sie den Dienst.
sudo service ipfs startĂberprĂŒfen Sie den Dienststatus.
sudo service ipfs statusUm die Sauberkeit des Experiments zu gewĂ€hrleisten, kann der Server spĂ€ter neu gestartet werden, um zu ĂŒberprĂŒfen, ob IPFS erfolgreich automatisch startet.
FĂŒgen Sie uns bekannte Peers hinzu.
Betrachten wir die Situation, in der wir IPFS-Knoten sowohl auf einem externen Server als auch lokal installiert haben. Auf dem externen Server fĂŒgen wir eine Datei hinzu und versuchen, sie lokal ĂŒber IPFS anhand des CID abzurufen. Was wird passieren? NatĂŒrlich weiĂ der lokale Server wahrscheinlich nichts ĂŒber unseren externen Server und wird einfach versuchen, die Datei anhand des CID zu finden, indem er alle verfĂŒgbaren IPFS-Peers fragt (mit denen er bereits "bekannt" ist). Diese werden wiederum bei anderen fragen. Und so weiter, bis die Datei gefunden wird. Im Grunde passiert dasselbe, wenn wir versuchen, die Datei ĂŒber das offizielle Gateway abzurufen. . Wenn wir GlĂŒck haben, wird die Datei innerhalb von Sekunden gefunden. Wenn nicht, wird sie auch nach mehreren Minuten nicht gefunden, was den Arbeitskomfort erheblich beeintrĂ€chtigt. Aber wir wissen ja, wo diese Datei zuerst erscheinen wird. Warum sagen wir unserem lokalen Server nicht gleich: "Suche zuerst dort"? Offenbar ist das möglich.
1. Loggen Sie sich auf dem entfernten Server ein und suchen Sie in der Konfiguration ~/.ipfs/config nach
"Identity": {
"PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuxxxxxxxxxxxxxxxx",
2. FĂŒhren Sie sudo service ipfs status aus und suchen Sie nach EintrĂ€gen zu Swarm, zum Beispiel:
Swarm, das /ip4/ip_ihres_servers/tcp/4001 bekannt gibt3. Stellen Sie von diesem gemeinsamen Adressformat " /ip4/ip_ihres_servers/tcp/4001/ipfs/$PeerID" zusammen.
4. Zur Sicherheit versuchen wir ĂŒber unser lokales Web-UI, diese Adresse zu den Peers hinzuzufĂŒgen.

5. Wenn alles in Ordnung ist, öffnen Sie die lokale Konfiguration ~/.ipfs/config, finden Sie "Bootstrap": [âŠ
und fĂŒgen Sie die erhaltene Adresse als ersten Eintrag im Array hinzu.
Starten Sie IPFS neu.
Jetzt fĂŒgen wir die Datei auf dem externen Server hinzu und versuchen, sie lokal abzurufen. Sie sollte schnell abgerufen werden.
Aber diese FunktionalitĂ€t ist derzeit noch instabil. Soweit ich verstehe, verĂ€ndert ipfs selbst beim Angabe der Peer-Adresse im Bootstrap wĂ€hrend des Betriebs die Liste der aktiven Verbindungen zu Peers. Auf jeden Fall wird darĂŒber diskutiert und es gibt WĂŒnsche zur Möglichkeit, permanente Peers anzugeben. Und es scheint, dass Die Liste der aktuellen Peers kann sowohl im Web-UI als auch im Terminal angesehen werden.
ipfs swarm peers
Sowohl dort als auch dort kann man manuell seinen Peer hinzufĂŒgen.ipfs swarm connect "/ip4/ip_ihres_servers/tcp/4001/ipfs/$PeerID"
Bis diese FunktionalitĂ€t verbessert wird, kann man ein Tool schreiben, das die Verbindung zu dem benötigten Peer ĂŒberprĂŒft, und falls nicht vorhanden, die Verbindung hinzufĂŒgt.Ăberlegungen
Ăberlegungen
Unter denjenigen, die bereits mit IPFS vertraut sind, gibt es sowohl Argumente fĂŒr als auch gegen IPFS. GrundsĂ€tzlich hat das von vorgestern mich dazu angeregt, IPFS noch einmal zu durchleuchten. Und bezĂŒglich der erwĂ€hnten Diskussion: Ich kann nicht sagen, dass ich stark gegen eines der vorgebrachten Argumente bin (ich stimme nur dem nicht zu, dass anderthalb Programmierer IPFS nutzen). Insgesamt haben sowohl die BefĂŒrworter als auch die Kritiker recht (insbesondere regt zum Nachdenken an). Aber wenn man die moralische und rechtliche Bewertung beiseitelĂ€sst, welche technische Bewertung wĂŒrde man dieser Technologie geben? Persönlich habe ich so ein inneres GefĂŒhl, dass âes unbedingt notwendig ist, es hat bestimmte Perspektivenâ. Aber warum genau, dafĂŒr gibt es keine klare Formulierung. Wenn man sich die bereits vorhandenen zentralisierten Mittel ansieht, dann sind sie in vielerlei Hinsicht weit voraus (StabilitĂ€t, Geschwindigkeit, Steuerbarkeit usw.). Dennoch habe ich einen Gedanken, der irgendwie sinnvoll erscheint und der wahrscheinlich nicht ohne solche dezentralisierten Systeme umgesetzt werden kann. NatĂŒrlich, ich neige dazu, das groĂ zu formulieren, aber ich wĂŒrde es so ausdrĂŒcken: Das Prinzip der Informationsverbreitung im Internet muss geĂ€ndert werden.
Ich erklĂ€re. Wenn man so darĂŒber nachdenkt, verbreitet sich die Information derzeit nach dem Prinzip âIch hoffe, dass die Person, an die ich sie ĂŒbergeben habe, sie schĂŒtzen wird und sie nicht verloren geht oder von jemandem erhalten wird, fĂŒr den sie nicht bestimmt warâ. Ein gutes Beispiel sind verschiedene E-Mail-Dienste, Cloud-Speicher usw. Und was haben wir am Ende? Auf HabrĂ© steht an erster Stelle, und fast jeden Tag erhalten wir Nachrichten ĂŒber die nĂ€chste globale Datenpanne. GrundsĂ€tzlich ist alles Interessante in der <Ironie>wunderbaren<\/Ironie> Artikel aufgefĂŒhrt . Das heiĂt, die groĂen Internetgiganten werden immer gröĂer, akkumulieren immer mehr Informationen und solche Datenlecks sind eine Art informatischer atomarer Explosionen. So etwas hat es nie gegeben, und jetzt passiert es wieder. Und obwohl viele verstehen, dass es Risiken gibt, werden sie weiterhin ihre Daten Dritten anvertrauen. Erstens gibt es nicht wirklich Alternativen und zweitens versichern sie, dass sie alle Löcher gestopft haben und so etwas nie wieder passieren wird.
Welche Option kommt mir in den Sinn? Meiner Meinung nach sollten die Daten von Anfang an offen verteilt werden. Aber Offenheit bedeutet in diesem Fall nicht, dass alles leicht lesbar sein muss. Ich rede von der Offenheit der Speicherung und Verteilung, aber nicht von einer totalen Offenheit beim Lesen. Ich nehme an, dass die Informationen mit öffentlichen SchlĂŒsseln verbreitet werden sollten. Denn das Prinzip der öffentlichen/privaten SchlĂŒssel ist bereits alt, fast so alt wie das Internet. Wenn die Informationen nicht vertraulich sind und fĂŒr ein breites Publikum gedacht sind, werden sie sofort mit einem öffentlichen SchlĂŒssel veröffentlicht (aber dennoch verschlĂŒsselt, sodass jeder sie mit dem vorhandenen SchlĂŒssel entschlĂŒsseln kann). Andernfalls werden sie ohne öffentlichen SchlĂŒssel veröffentlicht, und der SchlĂŒssel selbst wird an diejenigen weitergegeben, die Zugriff auf diese Informationen haben sollten. Dabei sollte diejenigen, die sie lesen mĂŒssen, nur den SchlĂŒssel haben, und darĂŒber, wo sie die Informationen herbekommen, sollte sich niemand wirklich kĂŒmmern â sie ziehen sie einfach aus dem Netz (das ist das neue Prinzip der Verbreitung basierend auf dem Inhalt, nicht auf der Adresse).
So wird es fĂŒr die Angreifer notwendig sein, eine riesige Anzahl geschlossener SchlĂŒssel fĂŒr einen Massenangriff zu erhalten, und es wird kaum möglich sein, dies an einem Ort zu tun. Diese Aufgabe scheint mir komplexer zu sein, als einen bestimmten Dienst zu hacken.
Und hier schlieĂt sich ein weiteres Problem: die BestĂ€tigung der Urheberschaft. Momentan kann man im Internet viele Zitate finden, die von unseren Bekannten verfasst wurden. Aber wo ist die Garantie, dass genau sie sie geschrieben haben? Wenn jede solche Aufzeichnung von einer digitalen Signatur begleitet wĂŒrde, wĂ€re das viel einfacher. Es spielt keine Rolle, wo diese Informationen gespeichert sind, das Wichtigste ist die Signatur, die von vornherein schwer zu fĂ€lschen ist.
Und das Interessante hier ist: IPFS bringt bereits VerschlĂŒsselungsmechanismen mit sich (da es auf Blockchain-Technologie basiert). Im Konfigurationsfile ist sofort der private SchlĂŒssel angegeben.
"Identity": {
"PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuMxxxxxxxxxxxxxx",
"PrivKey": "CAASqAkwggSkAgEAAoIBAQClZedVmj8JkPvT92sGrNIQmofVF3ne8xSWZIGqkm+t9IHNN+\/NDI51jA0MRzpBviM3o\/c\/Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m+JoEplHjtc4KS5\npUEDqamve+xAJO8BWt\/LgeRKA70JN4hlsRSghRqNFFwjeuBkT1kB6tZsG3YmvAXJ0o2uye+y+7LMS7jKpwJNJBiFAa\/Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj\/Fb+GJMiciJUZaAjgHoaZrrf2b\/Eii3z0i+QIVG7OypXT3Z9JUS60\nKKLfjtJ0nVLjAgMBAAECggEAZqSR5sbdffNSxN2TtsXDa3hq+WwjPp\/908M10QQleH\/3mcKv98FmGz65zjfZyHjV5C7GPp24e6elgHr3RhGbM55vT5dQscJu7SGng0of2bnzQCEw8nGD18dZWmYJsE4rUsMT3wXxhUU4s8\/Zijgq27oLyxKNr9T7\n2gxqPCI06VTfMiCL1wBBUP1wHdFmD\/YLJwOjV\/sVzbsl9HxqzgzlDtfMn\/bJodcURFI1sf1e6WO+MyTc3.................Ich bin kein Sicherheitsspezialist und kann nicht genau sagen, wie man das richtig nutzt, aber ich glaube, dass diese SchlĂŒssel auf der Ebene des Austauschs zwischen IPFS-Knoten verwendet werden. AuĂerdem und solche Projekte-Beispiele wie , auf der betrieben wird. Das bedeutet theoretisch, dass jedes GerĂ€t (mobil und nicht nur) leicht mit eigenen VerschlĂŒsselungs- und EntschlĂŒsselungsmaschinen ausgestattet werden kann. In diesem Fall liegt es nur an jedem, sich um die Aufbewahrung seiner privaten SchlĂŒssel zu kĂŒmmern, und jeder ist selbst verantwortlich fĂŒr seine Sicherheit und ist nicht das Opfer eines weiteren menschlichen Faktors bei einem super-populĂ€ren Internet-Riesen.
Nur registrierte Benutzer können an der Umfrage teilnehmen. .
Haben Sie schon einmal von IPFS gehört?
Ich habe noch nie von IPFS gehört, aber es scheint interessant zu sein.
Ich habe nicht gehört und möchte nicht hören.
Ich habe gehört, fand es aber nicht interessant.
Ich habe gehört, habe es aber nicht verstanden, und jetzt scheint es interessant zu sein.
Ich benutze IPFS schon lange aktiv.
69 Nutzer haben abgestimmt. 13 Nutzer haben sich enthalten.
Quelle: habr.com
