If there are millions miners in the world, do I need compare the price and service of all of them before store my data? It looks like an impossible mission.
Yes, unfortunately, the current deal making process is completely manual.
go-filecoin is still very much a work in progress, so we haven’t had an opportunity to automate this yet.
In the future, we’re plan to allow users to either manually choose a miner to store with or be automatically paired with nearby miners with low prices. The exact mechanism for this hasn’t been decided on yet, but we’d love to have some input if you’re interested in participating!
I suggest system match, no manual operation
Thanks for the suggestion!
Would you be interested in writing up some of your ideas as a feature request in GitHub issues?
I can contribute some good ideas to design this mechanism, in case your team really wants to adopt it
I have one concern and one question.
My concern is that the current
go-filecoin allows miners to cheat by pouring useless data to themselves from another miner actor. Once the data is sealed and become proven storage. They will have higher probability to be elected as leader with sizable block rewards. The cost of cheating is extremely low. The Filecoin network will be probably filled with large amount of useless data, which probably is harmful to the entire Ecosystem. If the deal making process is manual, then it’s not “market” any more. My suggestion is to set the Storage Market as automatic only. Manual option is still available, but without block rewards. I understand it would be extremely complex to configure an automatic deal making system with multiple parameters (like reputation), but it would be worthy.
I notice you mentioned “nearby miners”, my question is that how does geographic location effect mining/storing?
@henri provided us with this answer:
This is indeed a costly thing to do, due to collateral and needing to actually store the data. So the question is if you’re doing this (i.e. storing your own data, paying storer, etc), why not store actual data from other people… You’re doing the same work as other miners but foregoing one source of income (payments) in favor of the other (marginally more block reward and fees).
The case in which it makes sense to do this is if there isn’t much demand on the market, and so you have to “generate” the demand for yourself. In that case, I would argue it’s actually a positive pattern, as it helps secure consensus in Filecoin. Yes, you gain power (and so income) without providing “useful” storage, but you are making a 51% attack harder to carry out by increasing total supply in the network, so in that scenario it may not be that bad. So storing own data helps secure the network which is a great property.
Your idea about automated market making (vs manual) is really interesting and deserves further exploration. With that said, there’s also a question about how do you define “useful” storage. We would want people to be able to manually choose deals for instance: what if I know and trust a given miner that I want in my set of replicas.
“Nearby” primarily means connected peers, not necessarily geographically nearby, but this is far future and the concept of nearest neighbors is not well-defined yet.
Again, if you have some great ideas about automated trades, please do include these in the issue that you filed for automated trading.
Thank you Shannon and @henri.
The collateral and storing is something miners have to do no matter cheating or actually serving. Other than that, there is really not much more to spend. Miners do get deal rewards by serving actual clients, however the amount of it is unfortunately incomparable to the block rewards. Filecoin block rewards are set according to a 6-year half-life, so that’s about 320,000 FIL per day on average (more rewards in early days). And there are uncertainties from clients, what if they have slow uplink bandwidth? At the meantime, cheaters will very likely seal the entire sector even though there is only 1KB of data in there, just to have higher possibility to win the block.
I agree with you on this, there is a positive effect when the total supply increased, no matter how.
That’s the same instance I am concerned. Clients should have the right to choose any miners they want based on reputation, location, etc. The reason why I suggest to disable manual option with block rewards is it would make cheating harder. So miners have to come up with good bidding strategies and reduce the storage price to respect the market, which I think both are beneficial to the Ecosystem. Moreover, with automatic system, miners will really do care about their reputation. If they don’t generate and submit proofs on time, everybody will know and probably nobody will come and close deal with them. They might end up with losing all collateral by changing a new identity. With manual option widely open, it’s hard to provide good service to the client. Miners probably don’t care about reputation that much because they can feed themselves. A highly reputed miner might not be real. So it’s not just question about “useful” storage, but something more important behind it. What I can think of, Is it possible to manipulate the block rewards into different parts?
What do you mean by “possible to manipulate the block rewards into different parts?”
On the rest of your point, I understand what you mean, and I’m excited to think through automated deal-making. But I do think it should be an option rather than mandatory: i.e. it’s highly convenient for those who want this, but it curtails a great feature of the system (imo), which is the ability to build programmable storage contracts. Likewise I’m not sure I understand why manual deal-making prevents good service in itself… It allows for different versions of “good service” to be built.
How do you define “reputation,” how much data corruption can you allow for, different clients have different needs and expectations and so in that way defining a single normative ruleset (as I assume you would have to with a system-wide deal-making system) will promote certain use cases vs others.
This is what is so exciting about working on open protocols: this is a really cool idea and I think someone building out automated market-making functionality atop Filecoin could get really meaningful usage, as I am sure it would be useful for many users. If you end up being interested in thinking through how to build that, we would love to help and are so excited for the ecosystem of developers building these sorts of things atop Filecoin to grow! LMK
I would agree on this, the automated dealing making functionality is required in the system, but it is negotiable it should implemented in filecoin network layer, in this case, the reputation factor might be recorded in the chain, or it could be another layer which is off-chain to do this for end users (2B or 2C). There could be some service providers providing another layer for users to access directly, and bridge requests to a selected miner by the provider. This looks like a centralized way, instead of fully decentralized, however, this might be more practical from performance for simplicity (or ease of implementation) point of view.