What if the nodes are dishonest?


What if the nodes in safe network is dishonest? For example, I upload the context by myself, and consume it by myself in different accounts or machines. So I can get the reward by myself, via many different accounts?

It should cost you more in work (bandwidth, storage) than you will ever gain. To Farm a coin will be easy early one, but harder later, hopefully the network will be millions of nodes and yours will be part of that, the farming is amortised across the network so like buying more lottery tickets can improve your chance of a win, it’s actually just taking more from you. So you may need to download your 1Mb chunk several million times in the early days and more later on. There will be other costs (encryption) to, but essentially this is the best way to think of it. [source]


This question was answered by @dirvine in another thread:


This question indicates a bit of a misunderstanding of how data is stored and retrieved on the network. When a file is stored, shards of it will be stored across machines all over the world in multiple copies. It is not possible to store amongst machines/accounts you own, at least in any meaningful or predictable way. If you store a lot of data to the network and then call it up, you’ll be giving others farming chances, not yourself.

A “dishonest” node is one that doesn’t handle the data as it is supposed to, as monitored by the four other nodes in its group of “nearest” nodes. The nearest nodes are “near” in address, with no reference to geographical location. So the chances of owning more than one “near” node in a group are vanishingly small and impossible to predict, unless you own a HUGE percentage of the nodes on the network.

The other nodes in your group monitor whether your node is handling data and communications and storage requests according to the rules of the software. If your node is doing something different than it’s supposed to, it is downgraded in trust level and not granted farming requests for safecoin.

To be successful as a “dishonest” node, you would have to have control of a majority of the “near” nodes you’re connected to. This is exceedingly hard to achieve and virtually impossible to plan for. As I said, the only way to have a chance to achieve it would be by controlling a huge percentage of existing network nodes–76%, possibly even more.

This description is my understanding of what is laid out in various places amongst the whitepapers, explanations on this forum and interviews given by @dirvine . Hope it helps. If it’s not accurate in any way, I’m sure someone will chime in and refine the point.


Just as a thought experiment: If you owned a massive portion of the network, lets say you somehow gained 25%, would it be possible to confirm if you had one of the redundant files?


at 25% it is very likely you have one chunk, this is 25% of the rank not nodes. So if you had every node at the same rank (not remotely possible or plausible though) then 25% would be measured like that, but the number of variables is huge, but for a thought experiment 25% would with a very high probability have a single copy of every chunk.


But could you confirm the chunks? Like I have Computer A and Computer B. Because of the sheer probability, A and B will probably share some files. I can assume its happened, but can I confirm it by comparing the two vaults?

Or are they encrypted in a way that its just gibberish?


This is a track to wander down. The more duplicate copies of data you have in two nodes then points to network control, but it is very random so best to be able to select a very high proportion of shared data. Nice idea though, I like it :smile: I will keep this one in mind in the attacks analysis, it may be able to leak some info to us.


thanks, you guys enlighten me. I understand the network a bit more.


Just adding to the answers…

Here’s my answer from the old forum, safecointalk.org.

Q: Can a vault game the system by repeatedly calling the same chunk to increase their safecoin reward?

A: Assuming they uploaded a file who’s chunk happens to be stored in one of their vaults, they would still be limited to how many mine/farm attempts a vault can initiate per day. This is called the farm rate (R.A.T.), similar to the Bitcoin mining rate of 25 BTC per 10 mins. So if their vaults max farm rate is 10 Safecoin per day, that is the most they can make regardless of 1000 or 10,000 GET requests on that file chunk. They would have already maxed out their revenue.

Q: How is the max farm rate determined?

A: The algorithm has not been set in stone yet. But it will be influenced by storage supply and demand combined with a distribution formula. And may include some other factors like vault rank and size.

Q: How can a farmer max out their farming potential?

A: Making your vault available 24/7 is the best way to start. Then having a reliable bandwith to respond to multiple chunk requests would also help. We will know more on TestNet3 when vault performance can be evaluated.

https://github.com/maidsafe/Whitepapers/blob/master/Project-Safe.md (See 9. Mining Safecoin)