0

I have some questions regarding the functioning of IPFS. These are the following:

  1. if I am the only one that has the Merkle root hash of an uploaded file on IPFS, is it infeasible for other peers to download/find this same file?

  2. related to point 1., can I see all the files that have been uploaded on IPFS from every peers in the network? If yes, how?

  3. once uploaded a file on IPFS, this is split in chunks and these are given to the peers in the network. In which scenario is it possible to 'lose' the file? Can the fact that several peers in the network go 'offline' forever be a security problem for IPFS?

  4. Is there a way to allow only specific peers to have access to a specific file stored on IPFS?

  • Welcome to Stack Overflow. Generally each Question Post is for one Question (You have 4+) Have you tried educating yourself on these from the authoritative source (https://ipfs.io/)? – J. Murray Oct 06 '19 at 10:58
  • Hi, yes I read about it on ipfs.io and medium but I haven't found the answers to these my doubts. I just didn't want to post 4 different questions, considering that they are related. – Bruce Wayne Oct 06 '19 at 14:32

1 Answers1

1

Ad 1: As long there is at least one peer with the content, other peers should be able to (eventually, it may take time) to discover its address via DHT and connect to it (as long it has a public and dialable address). A primer on networking challenges can be found in Core Course - Solving distributed networking problems with libp2p

Ad 2: You can't see everything in realtime (you'd have to be connected to every peer in existence), but you can crawl the public DHT. See how its done in https://github.com/raulk/dht-hawk or https://github.com/ipfs-search/ipfs-search/

Ad 3: Chunks are never "pushed" to other peers. Peers need to request them. Content is available on the network as long as peers provide it. You can "lose" file if nobody wants to host it. More on this in Core Course - The Lifecycle of Data in DWeb

Ad 4: There is no access control at a file level. You can set up a private network in which only Peers that know a secret key can connect to each other and exchange data.

For future reference, a much better place for asking this type of generic questions is IPFS Community Forum at https://discuss.ipfs.io/c/help

lidel
  • 525
  • 3
  • 7