Skip to content

barisser/redmatter

Repository files navigation

##Node Lifecycle

###Responding to Requests ####Requests for Neighbors - Expected JSON "neighborhash": string ####Requests for Data - Expected JSON "filehash": string

    Returns
    "data": string, "nexthash": string, "neighbor": string
    Gives data and next hash, as well as nearest known neighbor to that hash, if applicable.

    OR
    "neighbor": "some_hash_here", state: "known" || "unknown"

    If no data present, gives nearest known neighbor.  If unknown, returns random neighbor.
  • Requests for Directions to Neighbors with Data

####Monitoring the Network

  • Determine if Files are Hosted:
    • With the necessary redundancy
    • By the Neighbors who are expected to be hosting certain files

###Threats

  • Sybil Attacks Huge numbers of false nodes reporting false data
  • Spamming Attack There must be some cost to adding data
  • Baiting It must not be rational to constantly offer hosting, receive bitcoins, and then turn off.

###Solutions

  • Money flows as an informational signal
    • Send bitcoins to honest nodes
  • Nodes are ranked by trustworthiness
    • Being Trustworthy is either
    • Being upvoted by other nodes (scaling with their trustworthiness)
    • Sending bitcoins to other honest nodes

##Guarding Each node is a 'guardian'. It tells you where to go to find the next file/neighbor. But it also reports on its knowledge about the trustworthiness of others. This means - did they host the files they said they would host over the requisite amount of time - are they consistently lying / how much do i agree with them on everything.

##Hosting Each node may host files: a tuneable amount of data of course.

##The ask-for-hosting cycle

  • start with a file, convert it deterministically to the right hash
  • send out "who should host this?" request. Request reverberates until nodes who cant find nearest neighbors offer to host. Originator gets a list of nodes who should host. List will be too long. Originator picks short list based on minimizing distance between node hashes and the file's hash.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published