Moinsen,
Sehr gutes Video. Gerade die Distributet Hash Table ist ein sehr nützliches Tool.
Jedoch muss ich etwas korrigieren. Die Aussage, dass sich eine Datei automatisch verteilt, stimmt so nicht. Ein Node speichert nur eine Datei, wenn sie explizit vom Nutzer angefordert wird. D.h. alle Nodes, die im Video zu sehen waren, haben dein Video gestreamt. Nur durch das alleinige Adden verteilt sich eine Datei nicht. Ist also eher nur halbautomatisch.
BB,
JanSe
Aussage des Entwicklers:
https://github.com/ipfs/faq/issues/47
Das kann aber nicht stimmen. Wir haben einen IPFS Node. Der steht nicht bei uns, der läuft auf einem angemieteten Server im Internet. Dieser Node wird weder von uns noch von anderen als Proxy/Gateway ins IPFS Netz genutzt. Das heißt dieser Node fragt niemals explizit anch anderen Dateien.
Trotzdem sind wenige Minuten nach dem Start des Knotenpunkts hunderte von Datei runtergeladen. Wo kommen die also alle her?
Moinsen,
das ist tatsächlich ziemlich strange. Das einzige, was grundsätzlich immer geladen wird, ist das WebUI, welches im Endeffekt komplett IPFS-based ist und somit auf jeden Node extra runtergeladen wird.
Kann natürlich auch sein, dass, je nachdem wie groß das Video ist, euch einfach die Hashes der einzelnen Blocks, also die unterteilten Fragmente des Videos (je 257 kb) angezeigt werden (Standart bei ipfs refs local).
BB,
JanSe
Woher weißt du, dass er viele Dateien runterlädt? Wegen hoher Bandbreitennutzung? IPFS nutzt die DHT auch wenn keine Dateien ausgetauscht werden. Die DHT ist eine verteilte Datenbank, die genutzt wird um Nodes zu finden, die eine gesuchte Datei halten.
Ich kann mir ja anzeigen lassen, welche Dateien auf meinem IPFS-Node lagern. Da sind dann jede menge Hashes dabei von Dateien, die nicht von mir sind. Daher bin ich davon ausgegangen, dass das fremde Dateien sein müssen.
Ich werd mir nachher noch mal einen RPi als Node aufsetzen und schauen welche Dateien sich da nach einer Stunde angesammelt habe. Mit nem Firefox-Addon sollte ich in der Lage sein, dann direkt vom Browser aus auf die Dateien zuzugreifen.
Wie hier schon wer geantwortet hat, werden die Dateien in Chunks zerlegt, dafür rolling hashes verwendet, wie bei zB rsync, damit man eine Deduplizierung auch innerhalb von Dateien hat, wenn ein Chunk bereits in einer anderen Datei vorgekommen ist.
Kommt drauf an, wie du das gemacht hast,
ls ~/.ipfs/blocks
, dann bekommst du auch alle Chunks angezeigt, eine Datei kann aus tausenden Chunks bestehen.Aber genau dann werden natürlich andere Datei runter geladen, wie @janse sagte, halbautomatisch. Ich denke, dass du das mit dem Satz davor zusammen geschrieben hast, aber nicht zusammen meintest, also erst testen, ob andere Dateien darauf auftauchen und danach das Browser-Addon verwenden?
Ich vermute, das kommt daher, dass IPFS große Dateien in Blöcke aufteilt. Gebt mal im Webui unter DAG einen Pfad zu einer Video Datei ein. Da werden eine ganze Reihe an weiteren Hashwerten angezeigt. Gerade zum Videostreamen ist das natürlich super, da so das abspielen früher stattfindet.
Auf meinem kleinen Node sind jedenfalls keine fremden Dateien. Die lokalen Dateien werden ebenfalls im Webui besser dargestellt.
Läuft nicht eventuell wie oben erwähnt:
der bitswap oder die anderen automatisch mit wenn man den ipfs daemon startet und der verteilt es dann ins Netzwerk oder andere Instanzen holen sich über diese Dervices die Dateien von dir?
Danke für die ergänzende Info. Aber die meisten Zuschauer betreiben keinen eigenen Node. Ich behaupte jetzt mal dass die meisten Nutzer die Webproxies von D-Tube nutzen. Auch ich, der einen eigenen Node hat schaut über die auf D.Tube eingetragenen Gateways/Proxies.
Das hängt natürlich u.a. damit zusammen, dass mein Node nicht hier bei mir steht, sondern auf einem angemieteten Server im Internet.
Also entweder ist das wirklich ein Nutzer der einen eigenen Node hat UND er schaut über seinen Node, oder hatte diesen Node halt als Proxy/Gateway eingetragen?
Grüße
Ich denke IPFS entfaltet sein Potenzial erst dann wenn jeder einen kleinen Node auf seinem Rechner am laufen hat. Den maximal verbrauchten Speicherplatz läst sich ja in der Konfigurationsdatei einstellen (auch über das Webui).
Nur so werden die einzelnen Bestandteile eines Videos an möglichst viele Maschinen, die das Video ebenfalls ansehen, verteilt. Wenn die gleichen 100 Leute auf die selben 5 Gateways zugreifen, werden diese nicht wirklich entlastet. Haben aber schon 20 das Video schon gesehen und sind noch online, können die anderen 80 sich das Video von den ersten 20 ziehen.
IMOH ist der Sinn von IPFS auch die Entlastung der Netzwerkinfrastruktur (Wieso ein Video aus dem Internet ziehen, wenn es im lokalen Netz schon vorhanden ist?)
Ja so hab ich das auch verstanden. Die Nodehashes im Video sind warscheinlich Nodes von öffentliches Gateways, bei denen Sprecher und Kollegen nachgeschaut haben, ob die Datei noch im Netzwerk ist.
Oder, wenn es ein öffentliches Video ist, dann haben das Leute angeschaut und damit entweder auf ihrem lokalen Node geladen oder auf dem Node des Gateways.
Hab das mal abgetippt: https://ipfs.io/ipfs/QmWzJFDCY2xskMvqBARymXqBjCLvqfeD8GhwbJiTavy7yU sieht nach einem Video aus, das veröffentlicht hätte sein können, konnte das aber nirgends finden. Selbst wenn es nur YT gewesen wäre, könnten das Leute runter geladen und ins IPFS hinzugefügt haben.
Edit: hab's doch gefunden (die 480p Version hat den gleichen Hash):
Was passiert wenn ich ein Video hochlade, aber selber keinen Node betreibe und das Video sich auch niemand anschaut? Dann muss das Video ja verteilt werden und es muss ja auch erstmal irgendwo bei jemand anderen gespeichert werden.
d.tube bezahlt nen IPFS-Hoster, damit dieser die Dateien online hält.
Dtube kassiert 25% des rewards. 10% des rewards deines videos werden für das hosting deines videos hinterlegt. Ich schätze mal die restlichen 15% sind für frische videos. Siehe hierzu den ersten eintrag vom dtube account
I have recently created the @dtube account. This account will be used to collect 25% of the DTube author rewards. 10% of these fees will be used to pay for long-term storage of the files on IPFS Store. The rate is $0.044 per GB per month. So, for example, let's say you upload a 100MB video, that earns $10 rewards, then $0.25 will go to @nannal and ensure data redundancy for ~57 months. Once this time is passed, users will need to either pay themselves (crypto accepted of course) to keep the files being seeded, or seed it themselves directly on their own PC and connection.