Hacker News new | ask | show | jobs
by iamnotnicola 3129 days ago
Hey, great question! (i am filecoin/ipfs/etc employee)

I am going to give some definitions (please chip in case of my misunderstanding) - “nobody likes you”: reputation is not central to Filecoin, so I guess you cannot be “not liked”. Whether you are trusted or not, the clients will pay you only if you have provided a proof of having offered a service. Note: Filecoin has pseudonyms, if for some reasons your address is not liked, you can create a new Filecoin address. So every “not liked” case eventually reduces to being a new user. TL;DR I will assume you mean “a new user”. - “low-performance node”: Filecoin does not require special hardware, but off-the-shelf CPUs, and whether you have 1 or 1000, it should not matter in practice (all the operations are sequential). I wouldn’t consider the amount of storage as “performance”, your node can always participate as a small miner. If by low performance you mean faulty hardware, then you are really not contributing to the network. So I am going to consider “low-performance” to mean slow network connection.

Now, if you are a new node without much track record and with a bad internet connection, you could: - participate as a Storage Miner in the Storage Market (your job will be mainly storing the file and generate proofs offline that you have stored the file, you will need just enough internet connection to be updated with the head of the chain) and every now and then (even with a bad network connection), submit the proofs to the chain. In addition, if you are happy listening to new transactions and have enough storage (unless you consider yourself REALLY lucky), then you can participate to mining Filecoin and earn tokens from transaction fees and mining rewards. My strategy would be to start with lower prices than the rest of the network, if you are also mining, block reward could cover for your lower prices - participate as a Retrieval Miner, you might not be that successful in comparison to fast speed super connected nodes that have incredible amount of storage, BUT you could try to store and serve “rare” files or serve to nodes that are closer to you (since you could become their node of preference)

I took advantage to explain my reasoning so that others could find this helpful too :) I will take a look at the paper, thanks for sharing, there is a lot the community can learn from the first wave of p2p file sharing.

1 comments

Fascinating in-depth answer. thnx!

> clients will pay you only if you have provided a proof of having offered a service.

Sounds like a good approach. You need to make trade-offs in your design for storage providers I believe. You can bias clients to deal with and pay reliable plus fast providers. That means slow peers have less chance to earn coins. Or take a performance hit and use fairness as a guiding principle. Then slow or new users get selected with increased probability. True?

> you could try to store and serve “rare” files

Has your team done work on 'investment functions' to select which "rare" files to store? You want to be paid, so what is incentive compatible? For a few years our phd/master students have been struggling to get a high-performance algorithm: https://github.com/Tribler/tribler/issues/1842#issuecomment-...