Hacker News new | ask | show | jobs
by jeremyjpj0916 2245 days ago
One thing as a long time follower and in the MaidSafe forum would be an active thread where community members can ask technical questions and get technical answers when the team has time to dive in and give feedback. Re-reading this bit I think my question would be: How does SAFE Network, which is decentralized and anonymous for its users, know how many nodes are currently running with its replicated data without a crazy amount of polling and network congestion for every chunk of data. Is the X nodes have this data checked at the time of request and confirmed on all nodes? If so that would be really slow but reliable to ensure if a 1-7 nodes have lost the data that that data gets replicated elsewhere. Also risking that old data that hasn't been fetched in awhile could have already lost their potential 8 node replication. Now get even more chatty where all storage nodes constantly poll each other for their known chucks they posses, that polling at scale sounds like it would become a real chatty bottleneck to have to basically crontab that seeking functionality to ensure availability of data at all times. Would be good to have a thread in the SAFE Network forum where programmers talk with the team and grill on the nitty gritty to see if these aspects have been solved and can be linked to in the source code for study.
1 comments

Each section has Elders, these are 7 oldest (most trusted nodes). The have a DB of which Adults (up to 120 of these per section) hold the data. On any Fetch, the Eder can confirm the relevant Adults passed the data. Also on churn (node leave/join) the relevent data is copied to new locations. So churn in the section helps us maintain the data.

An important role is continualy checking nodes for malice, evan those we trust more as they may be in zombie mode bad guys.

Any code that can be linked to that already accomplishes all this or still to be implemented? And to be picky in language I see you say the "Elder can confirm" does this mean the "Elder will confirm", just a change in wording from a possibility to a certainty.

"An important role is continually checking nodes for malice, evan those we trust more as they may be in zombie mode bad guys." -> This is still to be implemented as well correct? And prior to implementation we need some sort of RFC that defines types of malice that can occur from a given node as well as appropriate and secure means to detect the various cases. Ones that come to my mind are forced sluggishness in an attempt to slow down the network, intentional loss of data to cause extra lookups elsewhere for a given chunk, forced intermittent connectivity, so maybe at L4 level it decides to throw connection reset/connection refused in an attempt to bottleneck traffic across the network.